SSL Certificado · 7 min read · Sep 24, 2025
Asegurando ISPConfig 3.1 Con un Certificado SSL Gratuito de Let's Encrypt
IMPORTANTE: Esta guía no es compatible con ISPConfig 3.2 y versiones más nuevas, ya que ISPConfig 3.2 y versiones posteriores tienen Let’s Encrypt para todos los servicios incorporado. El certificado SSL de Let’s Encrypt se configura automáticamente durante la instalación, por lo que ya no es necesario configurar Let’s Encrypt manualmente para ningún servicio.
Autor: ahrasis
Este tutorial muestra cómo crear y configurar un certificado SSL gratuito de Let’s Encrypt para la interfaz de ISPConfig (puerto 8080), el sistema de correo electrónico (Postfix y Dovecot/Courier), el servidor FTP (pure-ftpd) y Monit. Los comandos en este tutorial han sido probados en Ubuntu 16.04, deberían funcionar también para Debian. Es posible que se necesiten ciertas modificaciones para que funcione en CentOS.
Ayuda sobre esta guía está disponible en este hilo del foro.
Creando Un Sitio Web Usando el Nombre de Host FQDN del Servidor ISPConfig
Crea un sitio para tu servidor en el panel de ISPConfig a través de Sitios > Sitio Web > Agregar nuevo sitio web. ¡Recuerda! Este es el sitio web de tu servidor y, como tal, debe contener el nombre de dominio completamente calificado (FQDN) de tu servidor. Me referiré a él como hostname -f en esta guía.
hostname -fCon suerte, funcionará sin ningún cambio en tu servidor también.
Accediendo al Sitio Web de ISPConfig en Línea
Verifica si el sitio de tu servidor está listo y accesible en línea, ya que Let’s Encrypt necesita verificar que tu sitio web sea accesible antes de emitir la clave SSL, el certificado y el archivo de cadena para tu sitio de servidor. También debes crear su zona DNS y permitir que se propague correctamente, ya que Let’s Encrypt necesita verificarlo también.
Habilitando SSL Para el Panel de Control de ISPConfig 3 (Puerto 8080)
Si no has habilitado SSL durante la configuración de ISPConfig, es decir, para su panel de control en el puerto 8080, habilítalo escribiendo ispconfig_update.sh en la terminal y selecciona sí para SSL. No necesitamos que esto sea una clave adecuada ni queremos conservarla, pero queremos trabajar más rápido, por lo tanto, podemos simplemente presionar enter para todos sus campos. Cuando termines esto, el SSL autofirmado ya debería estar habilitado para tu ISPConfig.
Verificando SSL Para el Panel de Control de ISPConfig 3 (Puerto 8080)
Verifica en tu navegador para confirmar abriendo el panel de control de ISPConfig en el puerto 8080. Ten en cuenta que podrías recibir alguna advertencia en esta etapa, ya que los archivos SSL creados son autofirmados, pero el navegador confirmará que tu ISPConfig tiene SSL habilitado o no.
Asegurando el Sitio Web de ISPConfig Con SSL de Let’s Encrypt
Si lo anterior está hecho, regresa a Panel de ISPConfig > Sitios > Sitio Web > Nombre del Sitio Web, luego haz clic en los botones de verificación SSL y Let’s Encrypt y guarda - para crear los archivos SSL de Let’s Encrypt y habilitarlos para tu sitio de servidor. Si tiene éxito, tu sitio de servidor ahora debería estar utilizando estos archivos SSL de Let’s Encrypt, pero no tu página de ISPConfig 8080. Si no tiene éxito, no podrás continuar, así que verifica su archivo de registro para obtener una pista.
Cambiando el Panel de Control de ISPConfig 3 (Puerto 8080)
Si el SSL de LE ya está funcionando, entonces ve a tu terminal de servidor, accede como root a través de sudo su y utiliza el siguiente comando para hacer una copia de seguridad y reemplazar los archivos SSL autofirmados creados con los archivos SSL de Let’s Encrypt.
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.crt ispserver.crt-$(date +"%y%m%d%H%M%S").bak
mv ispserver.key ispserver.key-$(date +"%y%m%d%H%M%S").bak
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /etc/letsencrypt/live/$(hostname -f)/fullchain.pem ispserver.crt
ln -s /etc/letsencrypt/live/$(hostname -f)/privkey.pem ispserver.key
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem- Si no has creado ispserver.pem antes, puedes ignorar la tercera línea que está destinada a renombrar el existente, si lo hay, como una copia de seguridad.
- Ten en cuenta que estamos utilizando la carpeta en vivo de Let’s Encrypt en lugar de la carpeta de archivo.
- También nota la última línea donde se crea ispserver.pem combinando archivos, por lo tanto, no se renovará automáticamente por Let’s Encrypt a diferencia de otros archivos que simplemente hemos enlazado, por lo tanto, trataremos esto en la última parte de esta guía.
- También ten en cuenta que puedes escribir
hostname -fo server1.example.com ya que el resultado es el mismo porquehostname -fes server1.example.com.
Usando Los Mismos Certificados SSL de Let’s Encrypt Para Otros Servicios Principales
Como consejos adicionales, basados en Asegurando Tu Instalación de ISPConfig 3, es posible que desees usar un enlace simbólico a ispserver.key o .crt o .pem en lugar de apuntar directamente tu postfix, dovecot, courier, pure-FTPd y monit a los archivos SSL de Let’s Encrypt. Para dovecot, si ya está utilizando archivos SSL de postfix, es seguro que lo ignores. En detalles, solo necesitas hacer lo siguiente:
a. Para Postfix
cd /etc/postfix/
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert
ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key
service postfix restart
service dovecot restartb. Para dovecot: (* Nota que esto no debería existir junto con courier)
Verifica si este código existe usando nano /etc/dovecot/dovecot.conf
[...]
ssl_cert = Déjalos como están si existen. De lo contrario, corrígelos. En cualquier caso, ejecutar service dovecot restart ya está cubierto arriba.
c. Para courier: (* Nota que esto no debería existir junto con dovecot)
cd /etc/courier/
mv imapd.pem imapd.pem-$(date +"%y%m%d%H%M%S").bak
mv pop3d.pem pop3d.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem imapd.pem
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pop3d.pem
service courier-imap-ssl stop
service courier-imap-ssl start
service courier-pop-ssl stop
service courier-pop-ssl startd. Para pure-FTPd:
cd /etc/ssl/private/
mv pure-ftpd.pem pure-ftpd.pem-$(date +”%y%m%d%H%M%S”).bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem
chmod 600 pure-ftpd.pem
service pure-ftpd-mysql restart
e. Para monit: (Si lo tienes instalado en tu servidor)
nano /etc/monit/monitrcAgrega el enlace simbólico anterior a ispserver.pem que creamos para pure-ftpd aquí también:
[...]
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/private/pure-ftpd.pem
allow admin:'secretpassword'
[...]Y reinicia monit:
service monit restartCrear un Script de Renovación Automática Para Tu Archivo Pem de ISPConfig (ispserver.pem)
En este último paso, que no he encontrado en ninguna guía hasta ahora, está la actualización automática de ispserver.pem como se insinuó anteriormente. Actualmente, debe ser cambiado manualmente justo después de que Let’s Encrypt renueve automáticamente tus archivos SSL de servidor. Para evitar pasar por alto esto, es posible que desees instalar incron como se sugiere en el respectivo tutorial de incron y crear un script para actualizar automáticamente tu archivo ispserver.pem, de la siguiente manera:
A través del comando de terminal, instala incron, luego crea el archivo de script y edítalo usando nano:
apt install -y incron
nano /etc/init.d/le_ispc_pem.shAgrega esto en el le_ispc_pem.sh:
#!/bin/sh
### BEGIN INIT INFO
# Provides: LE ISPSERVER.PEM AUTO UPDATER
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: LE ISPSERVER.PEM AUTO UPDATER
# Description: Update ispserver.pem automatically after ISPC LE SSL certs are renewed.
### END INIT INFO
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem
chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart
service monit restart
service postfix restart
service dovecot restart
service nginx restart- Nota que algunas personas no instalan monit, por lo que pueden eliminarlo de forma segura. Ajusta el script anterior en consecuencia.
- Para una configuración de múltiples servidores, consulta el post #203 y agrega el código scp dado aquí para automatizar futuras actualizaciones.
Luego lo hacemos ejecutable, agregamos root como un usuario permitido para incrontab y luego editamos el archivo incrontab:
chmod +x /etc/init.d/le_ispc_pem.sh
echo "root" >> /etc/incron.allow
incrontab -eAgrega esta línea en el incrontab:
/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.shReiniciando Tus Servicios
Creo que eso es todo para Asegurar Tu Servidor Con Let’s Encrypt. Es posible que desees reiniciar tu servidor web después.
service nginx restartRecuerda: si estás usando apache, cambia nginx a apache2 en consecuencia.
LE4ISPC
Como alternativa, podrías querer usar el script LE4ISPC creado para este propósito que soporta tanto nginx como apache2 desde ISPConfig hasta pure-ftpd arriba, excepto para monit. Antes de usarlo, ya deberías haber completado los pasos anteriores (1-5) y tener:
- Creado el sitio web para tu servidor a través de ISPConfig;
- El sitio web accesible en línea;
- SSL de ISPConfig habilitado (a través de instalación o actualización);
- SSL de LE habilitado con éxito para el sitio web.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.