🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar SSL en PrestaShop con Let's Encrypt

Actualizado el 17 de septiembre de 2025

¿Por qué necesitas SSL en tu tienda PrestaShop?

Si tienes una tienda online con PrestaShop, configurar SSL PrestaShop no es una opción, es una necesidad. SSL (Secure Sockets Layer) es el protocolo que cifra la información entre el navegador del cliente y tu servidor. Sin él, datos como contraseñas, números de tarjetas de crédito o direcciones viajan en texto plano, lo que es un riesgo de seguridad enorme.

Además, desde hace años, Google utiliza HTTPS como señal de ranking. Esto significa que tener HTTPS PrestaShop mejora tu posicionamiento en buscadores. Y no solo eso: los navegadores modernos marcan los sitios sin SSL como "No seguros", lo que ahuyenta a los compradores.

La buena noticia es que no necesitas gastar dinero en certificados caros. Let’s Encrypt ofrece certificados SSL gratuitos, automáticos y ampliamente reconocidos. En esta guía te explicaré paso a paso cómo configurar Let's Encrypt PrestaShop de forma sencilla, incluso si no eres un experto técnico.

[INFO] Este tutorial asume que tienes acceso a tu panel de hosting o a un VPS. Si usas un hosting compartido, muchos proveedores (como Syspanel) ya incluyen opciones para instalar Let's Encrypt con un clic.


Requisitos previos

Antes de empezar, asegúrate de tener lo siguiente:

  • Acceso a tu servidor: Necesitas poder ejecutar comandos (SSH) o usar un panel de control como Syspanel.
  • Un dominio apuntando a tu servidor: Por ejemplo, tutienda.com. No puede funcionar con dominios locales.
  • PrestaShop instalado: Puede ser una tienda nueva o ya en funcionamiento.
  • Puerto 80 abierto: Let's Encrypt necesita verificar que controlas el dominio mediante HTTP.
  • Permisos de administrador (root o sudo): Para instalar el cliente Certbot.

[WARNING] Si tu tienda ya está funcionando sin SSL, haz una copia de seguridad completa antes de empezar. Incluye archivos y base de datos. Aunque el proceso es seguro, siempre es mejor prevenir.


Paso 1: Instalar Certbot (el cliente de Let's Encrypt)

Certbot es la herramienta oficial para obtener y renovar certificados de Let's Encrypt. Se instala fácilmente en la mayoría de sistemas Linux.

En sistemas basados en Debian/Ubuntu (los más comunes en hosting)

Abre una terminal SSH y ejecuta:

sudo apt update
sudo apt install certbot python3-certbot-apache

Si usas Nginx en lugar de Apache, instala el plugin correspondiente:

sudo apt install certbot python3-certbot-nginx

En sistemas basados en CentOS/RHEL

sudo yum install epel-release
sudo yum install certbot python3-certbot-apache

[TIP] Si tu hosting usa Syspanel, puedes instalar Let's Encrypt directamente desde el panel, sin necesidad de SSH. Busca la opción "SSL" o "Certificados" en el apartado de tu dominio, puerto 2106.


Paso 2: Obtener el certificado SSL con Certbot

Una vez instalado Certbot, es hora de obtener el certificado. El proceso varía ligeramente según el servidor web.

Para servidores Apache

Ejecuta:

sudo certbot --apache

Certbot te hará algunas preguntas:

  1. Dirección de correo electrónico: Para notificaciones de renovación (opcional pero recomendado).
  2. Aceptar términos de servicio: Escribe A para aceptar.
  3. Seleccionar dominio: Te mostrará los dominios configurados en Apache. Selecciona el que quieras proteger (por ejemplo, tutienda.com y www.tutienda.com).
  4. Redirigir todo el tráfico a HTTPS: Responde 2 para que Certbot configure automáticamente la redirección de HTTP a HTTPS.

Para servidores Nginx

sudo certbot --nginx

El proceso es similar: Certbot modificará tu configuración de Nginx para habilitar HTTPS.

Si no usas Apache ni Nginx (servidor custom)

Puedes usar el modo standalone:

sudo certbot certonly --standalone -d tutienda.com -d www.tutienda.com

Esto generará los archivos del certificado en /etc/letsencrypt/live/tutienda.com/. Luego deberás configurar manualmente tu servidor web para usarlos.

[INFO] Certbot crea automáticamente un certificado válido por 90 días. No te preocupes, en el Paso 5 veremos cómo renovarlo automáticamente.


Paso 3: Configurar PrestaShop para usar HTTPS

Una vez que el certificado está instalado en el servidor, debes decirle a PrestaShop que use HTTPS PrestaShop de forma segura.

3.1. Acceder al back office de PrestaShop

Ve a tu panel de administración: https://tutienda.com/adminXXXXX (sustituye adminXXXXX por tu carpeta real).

3.2. Ir a la configuración de SEO y URLs

En el menú izquierdo, ve a Configuración de la tienda > Tráfico y SEO > SEO y URLs.

3.3. Activar SSL

Busca las siguientes opciones y actívalas:

  • Activar SSL: Ponlo en .
  • Activar SSL en todas las páginas: Ponlo en .
  • URL base de la tienda: Cambia http:// por https:// en ambos campos (URL de la tienda y URL SSL). Por ejemplo: https://tutienda.com.

Guarda los cambios.

3.4. Verificar que todo funciona

Abre tu tienda en una ventana de incógnito y visita https://tutienda.com. Deberías ver el candado verde en la barra de direcciones. Si ves algún error de contenido mixto (imágenes o scripts cargados con HTTP), continúa con el siguiente paso.

[WARNING] Si tu tienda ya tenía contenido (imágenes, enlaces), algunos elementos pueden seguir cargándose con HTTP. Para solucionarlo, ve a Configuración de la tienda > Parámetros generales > Mantenimiento y marca la opción "Regenerar miniaturas". También puedes usar un plugin de búsqueda y reemplazo en la base de datos para cambiar todas las URL de HTTP a HTTPS.


Paso 4: Redirigir todo el tráfico HTTP a HTTPS (opcional pero recomendado)

Aunque Certbot ya pudo haber configurado la redirección, es bueno asegurarse. Esto garantiza que cualquier visita a http://tutienda.com sea redirigida automáticamente a https://tutienda.com.

Si usas Apache

Edita el archivo .htaccess en la raíz de tu PrestaShop (normalmente en /var/www/html/tutienda/). Añade estas líneas al principio:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Guarda el archivo y prueba.

Si usas Nginx

Añade en el bloque server de tu configuración (archivo en /etc/nginx/sites-available/tutienda):

server {
    listen 80;
    server_name tutienda.com www.tutienda.com;
    return 301 https://$server_name$request_uri;
}

Luego recarga Nginx:

sudo systemctl reload nginx

[TIP] Si tu hosting usa Syspanel, puedes configurar la redirección desde el panel de dominios, en la sección "Redirecciones", puerto 2106.


Paso 5: Automatizar la renovación del certificado

Los certificados de Let's Encrypt caducan cada 90 días. Por suerte, Certbot puede renovarlos automáticamente.

Verificar que la renovación automática está activa

Ejecuta:

sudo certbot renew --dry-run

Si no hay errores, Certbot se encargará de renovar automáticamente. En la mayoría de sistemas, se añade un cron o un timer de systemd.

Comprobar el timer de systemd (en sistemas modernos)

sudo systemctl list-timers | grep certbot

Deberías ver algo como certbot.timer. Si no aparece, puedes crearlo manualmente:

sudo systemctl enable certbot.timer
sudo systemctl start certbot.timer

Si tu hosting no tiene systemd (algunos VPS antiguos)

Añade una tarea cron:

sudo crontab -e

Y añade esta línea:

0 3 * * * /usr/bin/certbot renew --quiet

Esto ejecutará la renovación a las 3 AM cada día. Si el certificado está próximo a caducar, se renovará automáticamente.

[INFO] No es necesario reiniciar PrestaShop tras la renovación. Certbot recarga automáticamente el servidor web.


Solución de problemas comunes (FAQ)

1. Error "El dominio no responde" al obtener el certificado

Asegúrate de que tu dominio apunta correctamente a la IP de tu servidor y que el puerto 80 está abierto. Puedes verificarlo con herramientas como ping o dig.

2. La tienda carga pero sin el candado verde (contenido mixto)

Esto ocurre cuando hay recursos (imágenes, CSS, JS) que se cargan con HTTP. Soluciones:

  • Ve a Configuración de la tienda > Parámetros generales > Mantenimiento y marca "Regenerar miniaturas".
  • Usa un plugin como "Really Simple SSL" (si usas WordPress, no aplica en PrestaShop, pero puedes buscar módulos similares en el marketplace de PrestaShop).
  • Revisa manualmente en el código de tus temas o módulos si hay URLs hardcodeadas con HTTP.

3. Certificado no se renueva automáticamente

Comprueba que el servicio Certbot está activo:

sudo systemctl status certbot

Si no lo ves, revisa los logs en /var/log/letsencrypt/. También puedes forzar una renovación manual:

sudo certbot renew

4. Quiero usar Let's Encrypt en un hosting compartido sin SSH

Muchos paneles de control como Syspanel (puerto 2106) ofrecen la opción de instalar Let's Encrypt directamente desde la interfaz web. Busca en la sección de tu dominio la opción "SSL" o "Certificados". Si no aparece, contacta con tu proveedor de hosting.

5. Mi tienda usa Cloudflare, ¿afecta?

Cloudflare ofrece su propio SSL gratuito. Si usas Cloudflare, puedes activar "Full (strict)" en la configuración SSL/TLS de Cloudflare. No necesitas Let's Encrypt en el servidor, pero si lo deseas, puedes combinarlo (SSL de origen con Let's Encrypt y SSL de borde con Cloudflare). Asegúrate de que la configuración sea compatible.

6. ¿Puedo tener SSL en un subdominio?

Sí, Let's Encrypt funciona con cualquier dominio o subdominio. Solo asegúrate de que el subdominio apunte al mismo servidor.


Conclusión

Configurar SSL PrestaShop con Let's Encrypt es un proceso sencillo que mejora la seguridad, el SEO y la confianza de tus clientes. Con Certbot, en pocos minutos tendrás HTTPS PrestaShop funcionando y con renovación automática.

Recuerda: una vez configurado, revisa periódicamente que el certificado esté activo y que tu tienda no tenga contenido mixto. Si sigues los pasos de esta guía, tu tienda estará protegida y lista para vender con total seguridad.

[WARNING] Si en algún momento cambias de servidor o de IP, deberás reinstalar el certificado. Pero no te preocupes, el proceso es el mismo que acabamos de ver.

¡Ahora ya puedes dormir tranquilo sabiendo que los datos de tus clientes están cifrados y tu tienda es más confiable!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel