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

Guía para activar SSL/TLS gratis en DirectAdmin con Let's Encrypt

Actualizado el 8 de octubre de 2025

¿Por qué necesitas SSL/TLS en tu servidor?

Imagina que tu sitio web es una casa. Sin un certificado SSL/TLS, cualquier persona en la red podría "espiar" por las ventanas y ver todo lo que entra y sale: contraseñas, datos de clientes, números de tarjeta, etc. Con SSL DirectAdmin, estás poniendo una puerta blindada y cerrando todas las persianas.

Un certificado SSL (Secure Sockets Layer) o su sucesor TLS (Transport Layer Security) cifra la comunicación entre el navegador del visitante y tu servidor. Esto significa que, aunque alguien intercepte los datos, solo verá un galimatías incomprensible.

Además de la seguridad, hay dos razones prácticas que te importarán muchísimo:

  • La confianza del usuario: Los navegadores modernos muestran un candado y "https://" en verde. Si no tienes SSL, Chrome y Firefox mostrarán una advertencia de "No seguro" que ahuyenta a cualquier visitante.
  • El SEO: Google confirma desde 2014 que el HTTPS es un factor de posicionamiento. Si quieres aparecer en los primeros resultados de búsqueda, necesitas el candado.

La buena noticia es que ya no hace falta pagar por certificados caros. Let's Encrypt ofrece certificados gratuitos y DirectAdmin los integra de forma nativa. En esta guía, te enseñaré paso a paso cómo activarlos, incluso si nunca has tocado un panel de control en tu vida.


¿Qué es Let's Encrypt y por qué es la mejor opción gratis?

Let's Encrypt es una autoridad de certificación (CA) sin ánimo de lucro que regala certificados TLS/SSL con una validez de 90 días. Es como si un cerrajero de confianza te diera llaves nuevas cada tres meses, gratis.

¿Por qué confiar en ellos? Porque son patrocinados por gigantes como Mozilla, Cisco y Google. Su misión es cifrar toda la web, y lo están consiguiendo: más del 75% de los sitios web cargan con HTTPS gracias a ellos.

Al usar Let's Encrypt DirectAdmin, obtienes:

  • Certificados gratuitos e ilimitados para tus dominios.
  • Renovación automática (si configuras bien el cron, que veremos más adelante).
  • Validación rápida de dominio (solo necesitas demostrar que controlas el dominio).
  • Compatibilidad total con todos los navegadores y dispositivos.

La única "pega" es que la validez es de 90 días, pero con la renovación automática no tendrás que preocuparte de nada.


Requisitos previos antes de activar SSL DirectAdmin

Antes de lanzarnos a configurar el certificado, asegúrate de que tu servidor cumple estos requisitos. Si algo falla, la mayoría de las veces es por no haber verificado esto:

1. Tener DirectAdmin instalado y acceso de administrador

Necesitas poder entrar en el panel de control con un usuario que tenga permisos de administrador o, al menos, de propietario del dominio. Si eres un cliente de un hosting con DirectAdmin, normalmente tienes acceso a "Dominios" o "SSL".

2. Dominio apuntando correctamente al servidor

Esto es crítico. El dominio (o subdominio) que quieres proteger debe tener su DNS apuntando a la IP de tu servidor. Si el dominio apunta a otro sitio, Let's Encrypt no podrá validar que eres el propietario.

  • Para un dominio principal: midominio.com debe tener un registro A hacia tu IP.
  • Para un subdominio: blog.midominio.com debe tener un registro A o CNAME correcto.

[WARNING] Si tu dominio está apuntando a un proxy como Cloudflare en modo "naranja" (proxy activado), puede dar problemas. Para la instalación inicial, ponlo en modo "gris" (solo DNS). Luego puedes volver a activar el proxy.

3. Puerto 80 abierto

Let's Encrypt necesita comprobar que tu servidor responde en el puerto 80 (HTTP) para emitir el certificado. Si tienes un firewall (como CSF o iptables), asegúrate de que el puerto 80 esté abierto. El puerto 443 (HTTPS) también debe estar abierto para que funcione el tráfico cifrado.

4. Acceso SSH (opcional, pero recomendado)

Aunque la guía se puede hacer 100% desde el panel, tener acceso SSH te ayudará a diagnosticar problemas y configurar la renovación automática.


Método 1: Activar SSL DirectAdmin con Let's Encrypt desde el panel (el más fácil)

Este es el método que te recomiendo si eres principiante. No necesitas tocar una sola línea de código.

Paso 1: Accede a tu panel de DirectAdmin

Abre tu navegador y escribe https://tu-servidor:2222 (o http://tu-servidor:2222 si aún no has activado SSL en el panel). Introduce tu usuario y contraseña.

Paso 2: Ve a la sección de dominios

En el menú principal, busca la pestaña "Dominios" o "Domain Setup". En la lista, verás todos los dominios que tienes asociados a tu cuenta.

Paso 3: Selecciona el dominio y busca la opción SSL

Haz clic en el dominio que quieres proteger. Se abrirá una página con varias opciones. Busca la sección que dice "SSL Certificates" o "Seguridad SSL".

Paso 4: Elige Let's Encrypt

Dentro de la página de SSL, verás varias pestañas o botones. Busca uno que diga "Let's Encrypt" o "Free SSL". Al hacer clic, DirectAdmin te mostrará un formulario.

Paso 5: Configura los nombres del certificado

Aquí es donde tienes que tener cuidado. El formulario te pide:

  • Dominio principal: midominio.com (sin www).
  • Subdominios adicionales: Aquí puedes añadir www.midominio.com y otros subdominios que quieras proteger. Lo normal es marcar la casilla de "www" si la ves.

[TIP] Si tienes un certificado wildcard (para todos los subdominios), necesitarás validación por DNS, que veremos más adelante. Para la mayoría de usuarios, basta con el dominio y la www.

Paso 6: Haz clic en "Emitir" o "Crear"

DirectAdmin contactará con Let's Encrypt, verificará tu dominio y generará el certificado. Este proceso suele tardar entre 10 y 30 segundos. Si todo va bien, verás un mensaje de éxito.

Paso 7: Verifica que funciona

Ve a tu navegador y escribe https://midominio.com. Deberías ver el candado. También puedes usar herramientas online como SSL Labs para comprobar la configuración.


Método 2: Activar SSL DirectAdmin con Let's Encrypt por línea de comandos (avanzado)

Si tienes acceso SSH y prefieres más control, o si el método del panel te falla, puedes usar la línea de comandos. Este método es especialmente útil si quieres certificados wildcard o si necesitas automatizar algo más complejo.

Paso 1: Conéctate por SSH

Abre tu terminal y escribe:

ssh usuario@tu-servidor

Paso 2: Instala Certbot (si no está instalado)

DirectAdmin suele incluir Certbot, pero por si acaso, verifica:

which certbot

Si no aparece, instálalo. En la mayoría de sistemas basados en CentOS/AlmaLinux (los más comunes con DirectAdmin):

yum install certbot -y

O si usas Debian/Ubuntu:

apt install certbot -y

Paso 3: Solicita el certificado

Certbot tiene un plugin específico para DirectAdmin. El comando básico es:

certbot certonly --webroot -w /home/USUARIO/domains/MIDOMINIO/public_html -d midominio.com -d www.midominio.com

Explicación:

  • --webroot: le dice a Certbot que use el directorio web para la validación.
  • -w: especifica la ruta absoluta a tu carpeta pública. Normalmente es /home/USUARIO/domains/MIDOMINIO/public_html.
  • -d: los dominios que quieres incluir en el certificado.

[WARNING] Asegúrate de que la ruta public_html es correcta. Si tu dominio usa un "DocumentRoot" personalizado, la ruta cambiará.

Paso 4: Instala el certificado en DirectAdmin

Certbot solo genera el certificado, pero no lo instala. Para que DirectAdmin lo use, necesitas copiarlo a la ubicación correcta. DirectAdmin espera los certificados en:

  • /usr/local/directadmin/data/users/USUARIO/domains/MIDOMINIO/
    • cert.crt (el certificado)
    • cert.key (la clave privada)
    • ca.crt (la cadena de certificados)

Puedes copiarlos manualmente o usar el script de DirectAdmin. Lo más fácil es usar el comando:

/usr/local/directadmin/scripts/letsencrypt.sh --domain MIDOMINIO --email TU@EMAIL.COM

Este script hace todo el trabajo sucio: solicita el certificado y lo instala en la configuración.

Paso 5: Configura la renovación automática

Let's Encrypt caduca cada 90 días. Para no tener que renovar manualmente, configura un cron job. Edita tu crontab:

crontab -e

Y añade esta línea:

15 3 * * * /usr/local/bin/certbot renew --quiet --renew-hook "/usr/local/directadmin/scripts/letsencrypt.sh --domain MIDOMINIO --email TU@EMAIL.COM"

Esto renovará automáticamente el certificado todos los días a las 3:15 AM, y solo lo reinstalará si falta menos de un mes para caducar.


Solución de problemas comunes: FAQ

Aquí tienes las dudas más frecuentes que nos llegan al soporte. Si algo falla, revisa esta sección antes de abrir un ticket.

"Let's Encrypt me da el error 'Domain is not pointing to this server'"

[WARNING] Este es el error más común. Significa que tu dominio no está apuntando a la IP de tu servidor. Verifica tu DNS con ping midominio.com desde tu máquina local y comprueba que la IP coincide con la de tu servidor. Si usas Cloudflare, pon el DNS en modo "naranja" (gris).

"El certificado se emitió pero no veo el candado"

Revisa que has configurado bien el redireccionamiento. En DirectAdmin, ve a "Domain Setup" y en tu dominio, activa la opción "Force SSL redirect" o similar. Esto hará que todo el tráfico HTTP se redirija automáticamente a HTTPS.

"¿Puedo tener un certificado wildcard? ¿Cómo se hace?"

Sí, con Let's Encrypt puedes tener un certificado wildcard (ej: *.midominio.com). Para ello, necesitas validación por DNS. En el panel de DirectAdmin, cuando elijas Let's Encrypt, verás la opción de "Wildcard". Te pedirá que añadas un registro TXT en tu DNS. Copia el valor que te da y ve a tu administrador de DNS (donde gestionas los registros) y añádelo. Luego vuelve al panel y haz clic en "Verificar".

"¿Cada cuánto se renueva el certificado?"

Cada 90 días. Si has configurado el cron automático, no tendrás que hacer nada. Si usas el método del panel, DirectAdmin suele tener su propio cron de renovación. Verifícalo en "Admin Settings" o "Cron Jobs".

"¿Qué pasa con Syspanel (HestiaCP)? ¿Sirve esta guía?"

Si usas Syspanel (el antiguo HestiaCP), la lógica es similar pero la interfaz cambia. Si estás en Syspanel, recuerda que el acceso se hace por el puerto 2106 (ej: https://tu-servidor:2106). En Syspanel, la opción de Let's Encrypt suele estar en "Web" > "Dominios" > seleccionas el dominio y luego en "SSL". La validación es igual de sencilla.

"El certificado se renovó pero el sitio sigue mostrando el antiguo"

Esto suele ser un problema de caché. Borra la caché de tu navegador y prueba en modo incógnito. Si sigue, puede que el servidor tenga una caché de SSL (como Varnish o Nginx). Reinicia Apache/Nginx y DirectAdmin:

systemctl restart httpd
systemctl restart nginx
systemctl restart directadmin

Seguridad extra: Configuración avanzada de TLS en DirectAdmin

Una vez tienes tu certificado gratis DirectAdmin, puedes reforzar la seguridad de tu servidor con estas recomendaciones:

1. Activa HSTS (HTTP Strict Transport Security)

HSTS le dice al navegador que solo use HTTPS durante un tiempo determinado. En DirectAdmin, puedes añadir cabeceras personalizadas en la configuración de Apache o Nginx. En la página de SSL de tu dominio, busca la opción "Custom headers" o edita el archivo .htaccess:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

[WARNING] No actives HSTS hasta que estés 100% seguro de que tu HTTPS funciona perfectamente, porque si lo activas por error, los navegadores bloquearán tu sitio durante un año.

2. Redirige todo a HTTPS

Aunque DirectAdmin tiene la opción, puedes forzarlo en el .htaccess:

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

3. Desactiva SSL/TLS antiguos y débiles

En la configuración de DirectAdmin, asegúrate de que solo estén habilitados los protocolos TLS 1.2 y TLS 1.3. Desactiva SSLv3 y TLS 1.0/1.1, que son vulnerables. Puedes hacerlo en "Admin Settings" > "SSL" o editando el archivo directadmin.conf.

4. Renueva tu certificado antes de que caduque

Aunque tengas el cron, es buena práctica revisar una vez al mes que todo está en orden. Puedes configurar una alerta por email en el cron para que te avise cuando se renueve.


Conclusión

Activar SSL DirectAdmin con Let's Encrypt es un proceso rápido y gratuito que te ahorrará problemas de seguridad y mejorará tu posicionamiento. Ya sea desde el panel en 5 minutos o por línea de comandos si eres más técnico, no tienes excusa para no tener tu sitio cifrado.

Recuerda los puntos clave:

  • Verifica siempre que tu DNS apunta a tu servidor.
  • Usa los métodos automáticos de renovación.
  • Configura la redirección forzada a HTTPS.
  • Si algo falla, revisa los errores comunes de esta guía.

La ciberseguridad no tiene por qué ser cara ni complicada. Con esta guía, cualquier persona con un hosting en DirectAdmin puede proteger sus sitios web en menos de lo que tarda en hacerse un café.

[TIP] Guarda esta guía en tus favoritos. Te será útil cada vez que añadas un dominio nuevo a tu servidor. Y si tienes dudas, no dudes en contactar con tu proveedor de hosting: para eso estamos.

¿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