Cómo instalar un certificado SSL para PrestaShop en DirectAdmin
¿Por qué necesitas un certificado SSL en tu PrestaShop?
Antes de ponernos manos a la obra, vamos a entender qué es esto del SSL y por qué es tan importante para tu tienda online. Un certificado SSL (Secure Sockets Layer) es como un guardaespaldas digital para tu web: cifra toda la información que viaja entre el navegador de tus clientes y tu servidor. Esto significa que datos sensibles como contraseñas, números de tarjeta o direcciones de envío viajan en un sobre sellado que nadie puede abrir en el camino.
Para una tienda como PrestaShop, tener un certificado SSL no es opcional, es prácticamente obligatorio. ¿Por qué? Primero, porque Google penaliza en sus resultados de búsqueda a las webs que no tienen HTTPS, así que tu posicionamiento SEO se resentirá. Segundo, porque los navegadores modernos muestran un temido aviso de "No seguro" cuando entras a una web sin SSL, y eso espanta a cualquier cliente potencial. Y tercero, porque si aceptas pagos con tarjeta, la normativa PCI-DSS te exige tenerlo sí o sí.
La buena noticia es que si tu hosting utiliza DirectAdmin como panel de control, el proceso para instalar un certificado SSL para PrestaShop es bastante sencillo, incluso si no eres un experto en tecnología. En este artículo te lo explico paso a paso, sin tecnicismos raros y con todo lo que necesitas saber para dejar tu tienda funcionando con https prestashop en menos de lo que canta un gallo.
Requisitos previos antes de empezar
Para que todo salga bien, necesitas tener algunas cosas preparadas. No te preocupes, no es nada del otro mundo:
- Acceso al panel de control DirectAdmin de tu hosting. Normalmente se accede a través de una URL como
https://tu-dominio.com:2222o la dirección que te haya dado tu proveedor de hosting. - Acceso al panel de administración de PrestaShop (la parte de atrás de tu tienda).
- Un dominio que apunte correctamente a tu servidor. Si acabas de comprar el dominio, asegúrate de que los DNS ya estén propagados.
- Un correo electrónico al que tengas acceso para recibir los correos de verificación del certificado (en algunos casos).
Y ahora viene la pregunta del millón: ¿qué tipo de certificado SSL necesitas? Para la mayoría de tiendas online, un certificado SSL gratuito de Let's Encrypt es más que suficiente. Ofrece el mismo cifrado que uno de pago y se renueva automáticamente si lo configuras bien. La única diferencia es que no tienen garantía de seguro económica, pero para el 99% de los casos, es perfecto. Si tu banco o pasarela de pago te exige uno de pago con validación extendida, entonces tendrás que comprarlo a un proveedor, pero eso es otro tema.
Paso 1: Generar e instalar el certificado SSL en DirectAdmin
DirectAdmin tiene una integración muy limpia con Let's Encrypt, así que en la mayoría de los casos no tendrás que pelear con nada raro. Vamos a ello.
Opción A: Instalar certificado SSL gratuito de Let's Encrypt
Esta es la opción más rápida y la que recomiendo para el 99% de los casos. Solo tienes que hacer esto:
- Inicia sesión en DirectAdmin con tu usuario y contraseña.
- Busca la sección "Gestión de cuentas" o "Account Manager" en el menú lateral.
- Haz clic en "Certificado SSL" o "SSL Certificates". Dependiendo de la versión de DirectAdmin, puede estar en lugares ligeramente diferentes, pero siempre lo encontrarás en la zona de gestión de tu cuenta.
- Verás una pestaña que dice "Let's Encrypt" o "Free SSL". Haz clic ahí.
- Marca la casilla del dominio para el que quieres generar el certificado. Si tienes subdominios o dominios adicionales, también puedes marcarlos.
- Asegúrate de que la opción "Emitir certificado" o "Issue Certificate" esté seleccionada.
- Haz clic en "Guardar" o "Emitir".
DirectAdmin se pondrá a trabajar y en unos segundos (a veces un par de minutos) tendrás tu certificado SSL generado e instalado automáticamente. Verás un mensaje de éxito y el certificado quedará activo para tu dominio.
Opción B: Instalar un certificado SSL de pago (si lo necesitas)
Si por lo que sea necesitas un certificado de pago (por ejemplo, porque tu banco te lo exige), el proceso es un poco más largo pero igual de manejable:
- Primero tienes que generar una CSR (Certificate Signing Request) desde DirectAdmin. Ve a la sección "Certificado SSL" y busca la opción "Generar CSR".
- Rellena los datos que te piden: nombre del dominio, organización, país, etc. Guárdate la clave privada que te genere, la necesitarás después.
- Copia la CSR y cómprala en tu proveedor de certificados favorito (DigiCert, Comodo, etc.). Te pedirán pegar esa CSR.
- Cuando te envíen el certificado, vuelve a DirectAdmin, a la sección "Certificado SSL" y busca la opción "Instalar certificado" o "Paste Certificate".
- Pega el certificado en el campo correspondiente, la clave privada en el otro campo, y el paquete de CA (intermediarios) si te lo dan.
- Guarda y listo.
Paso 2: Configurar PrestaShop para usar HTTPS
Una vez que el certificado está instalado en DirectAdmin, toca decirle a PrestaShop que use https prestashop. Esto es importante porque si no, la tienda seguirá cargando con http y el certificado no servirá de nada.
Activar SSL en el panel de administración
- Entra en tu panel de administración de PrestaShop (normalmente en
tu-dominio.com/admino la ruta que configuraras). - Ve al menú "Parámetros avanzados" y luego a "Rendimiento" (en versiones antiguas) o "General" (en versiones más nuevas).
- Busca la opción "Activar SSL" y actívala. En algunas versiones aparece como "Activar SSL en todas las páginas".
- Guarda los cambios.
Configurar la URL de la tienda
Este paso es clave. Si la URL de tu tienda sigue apuntando a http, PrestaShop generará enlaces con http y dará errores mixtos de contenido. Para corregirlo:
- Ve a "Parámetros avanzados" > "General".
- Busca la sección "Configuración de la tienda".
- Cambia la URL de la tienda y la URL de la API de
http://ahttps://. Asegúrate de que el dominio sea exactamente el mismo, incluyendo laswwwsi las usas. - Guarda los cambios.
Paso 3: Redirigir a https prestashop automáticamente
Ahora mismo, si alguien escribe http://tu-dominio.com, la web cargará con http, aunque el certificado SSL esté instalado. Eso es malo para el SEO y para la seguridad. Necesitamos una redirección 301 que envíe a todo el mundo a la versión segura con https prestashop.
Solución 1: Desde DirectAdmin (la más fácil)
DirectAdmin tiene una opción para forzar la redirección a HTTPS:
- Ve a la sección "Redirecciones" o "Domain Setup" en DirectAdmin.
- Busca el dominio de tu tienda y activa la opción "Forzar HTTPS" o "Force HTTPS".
- Si no encuentras esa opción, puedes crear una redirección manual: ve a "Redirecciones", añade una nueva redirección y pon como origen
http://tu-dominio.com/*y como destinohttps://tu-dominio.com/$1, con redirección 301.
Solución 2: Añadir código al archivo .htaccess
Si la opción anterior no te funciona, puedes hacerlo a mano. Accede al archivo .htaccess de tu tienda (está en la raíz de tu instalación de PrestaShop) y añade estas líneas al principio:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Guarda el archivo y prueba a entrar con http a tu tienda. Deberías ser redirigido automáticamente a la versión con https.
Paso 4: Comprobar que todo funciona correctamente
Una vez que has hecho todo lo anterior, es hora de verificar que no hay ningún problema. Aquí tienes una lista de comprobación:
- Prueba de carga: Entra en
https://tu-dominio.comy verifica que la tienda carga correctamente sin errores. - Revisa el candado: En la barra de direcciones del navegador, deberías ver un candado cerrado. Haz clic en él para ver los detalles del certificado y comprobar que está emitido para tu dominio.
- Evita el contenido mixto: A veces, aunque tengas SSL, algunos recursos (imágenes, CSS, JS) se cargan con http. Para ver si hay problemas, abre la consola de desarrollador de tu navegador (F12) y ve a la pestaña "Console". Si ves errores de "Mixed Content", tendrás que localizar esos recursos y actualizar sus URLs a https. PrestaShop suele manejarlo bien si has configurado la URL correctamente, pero si tienes módulos o temas antiguos, puede que haya problemas.
- Comprueba la redirección: Escribe
http://tu-dominio.comen el navegador y verifica que te redirige ahttps://tu-dominio.com.
Solución de problemas comunes
El certificado no se emite correctamente
Si Let's Encrypt te da error, suele ser porque el dominio no apunta correctamente al servidor o porque hay algún problema con los DNS. Verifica que el dominio tenga un registro A que apunte a la IP de tu servidor. También puede ser que el puerto 80 esté bloqueado, algo que tendrías que consultar con tu proveedor de hosting.
PrestaShop muestra errores después de activar SSL
Esto suele deberse a que hay URLs antiguas guardadas en caché. Ve a "Parámetros avanzados" > "Rendimiento" y limpia la caché. Si el problema persiste, puede que tengas que buscar en la base de datos URLs con http y reemplazarlas por https. Hay módulos gratuitos que hacen esto automáticamente, pero si te atreves, puedes hacerlo con un script SQL desde phpMyAdmin.
El candado no aparece y sale "No seguro"
Esto es un problema de contenido mixto. Revisa la consola del navegador como te he indicado antes y busca qué recursos se están cargando con http. Suele pasar con imágenes que se han subido manualmente o con módulos que tienen URLs hardcodeadas.
Quiero renovar el certificado automáticamente
Con Let's Encrypt, DirectAdmin se encarga de la renovación automática por defecto. Solo asegúrate de no desactivar esa opción y de que el dominio siga apuntando al servidor. Si usas un certificado de pago, tendrás que renovarlo manualmente cada año.
Preguntas frecuentes (FAQ)
¿Puedo usar el mismo certificado SSL para varios dominios?
Sí, con Let's Encrypt puedes generar un certificado que cubra varios dominios y subdominios. En DirectAdmin, solo tienes que marcar todos los dominios que quieras cubrir al generar el certificado. Eso sí, el certificado debe emitirse para todos ellos en una sola operación.
¿Qué es eso de "Syspanel" que mencionan en algunos tutoriales?
A veces escucharás hablar de "Syspanel" como alternativa a DirectAdmin. Para que lo sepas, Syspanel es el nombre que recibe HestiaCP en algunos entornos, y su puerto de acceso por defecto es el 2106. Si tu hosting usa Syspanel, el proceso es diferente, pero en este artículo nos hemos centrado en DirectAdmin, que es el más común.
¿El SSL gratuito de Let's Encrypt es suficiente para una tienda online?
Para la gran mayoría de tiendas, sí. Ofrece el mismo nivel de cifrado que uno de pago. La única diferencia es que no incluye seguro de garantía económica y la validación de la identidad es menor. Si trabajas con pasarelas de pago muy exigentes, puede que te pidan uno de pago, pero normalmente con Let's Encrypt es más que suficiente.
¿Cuánto tarda en propagarse la renovación del certificado?
La renovación de Let's Encrypt se hace cada 90 días, pero DirectAdmin la automatiza para que no tengas que hacer nada. No hay tiempo de propagación como tal, el nuevo certificado se activa al instante.
¿Qué hago si mi tienda sigue dando error después de seguir todos los pasos?
Lo primero es no desesperar. Revisa que el certificado está realmente instalado en DirectAdmin (te lo dirá en la sección de certificados). Después, limpia la caché del navegador y de PrestaShop. Si sigues con problemas, contacta con tu proveedor de hosting; muchas veces tienen un soporte técnico que puede ayudarte a resolverlo en minutos.
Conclusión
Instalar un certificado SSL para PrestaShop en DirectAdmin no es tan complicado como parece. Siguiendo estos pasos, en menos de una hora puedes tener tu tienda funcionando con https prestashop, con la seguridad que eso conlleva para tus clientes y con el empujón SEO que tu tienda necesita. Recuerda que el SSL ya no es un extra, es un requisito básico para cualquier negocio online que se precie.
Si te has quedado con alguna duda, repasa el artículo y asegúrate de no saltarte ningún paso. Y si aún así algo falla, no dudes en pedir ayuda a tu hosting o en los foros de la comunidad PrestaShop. ¡Tu tienda se merece estar segura y bien posicionada!
