Esta guía explica cómo instalar un certificado SSL en un servidor Debian con Apache.
¿Cómo generar un CSR para un servidor Debian?
Antes de la instalación, tu primera tarea es generar un código CSR (Certificate Signing Request). Este es el procedimiento estándar al solicitar un certificado SSL. El CSR contiene detalles relevantes sobre tu dominio y organización que la Autoridad de Certificación debe verificar antes de emitirte el certificado.
Tienes dos opciones:
- Genera el CSR automáticamente usando nuestro generador de CSR.
- Sigue nuestro tutorial paso a paso sobre cómo crear el CSR en Debian.
Copia todo el contenido del CSR y envíalo a la Autoridad de Certificación durante tu pedido. Según el tipo de validación, deberías recibir tu certificado SSL en cuestión de minutos o, para certificados de mayor validación, en unos pocos días. Una vez que la CA lo emita, continúa con la instalación a continuación.
Paso 1: Sube tu certificado y clave privada al servidor
Coloca los archivos en las ubicaciones estándar de Debian. Mantén la clave privada en /etc/ssl/private/ con permisos estrictos, y combina el certificado y los intermedios en un único archivo de cadena completa en /etc/ssl/certs/:
# Private key (set strict permissions)
sudo install -m 600 yourdomain.key /etc/ssl/private/yourdomain.key
# Concatenate the server certificate + intermediate(s) into one full-chain file
cat yourdomain.crt intermediate1.crt intermediate2.crt | sudo tee /etc/ssl/certs/yourdomain-fullchain.pem >/dev/null
Si tu CA entregó la cadena como un único archivo ca-bundle en lugar de intermedios separados, usa ese archivo en lugar de intermediate1.crt intermediate2.crt anterior.
En Apache 2.4.8 y versiones más recientes, este único archivo de cadena completa es todo lo que necesitas para SSLCertificateFile. La antigua directiva SSLCertificateChainFile está obsoleta y ya no es necesaria.
Paso 2: Habilita el módulo SSL
Habilita el módulo SSL de Apache (y el módulo de encabezados, usado para HSTS en el Paso 3):
sudo a2enmod ssl
sudo a2enmod headers
Paso 3: Crea tu VirtualHost HTTPS
Crea un nuevo archivo de configuración del sitio en /etc/apache2/sites-available/:
sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf
Pega el siguiente VirtualHost del puerto 443 y ajusta las rutas y nombres de dominio para que coincidan con tu configuración:
<VirtualHost *:443>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain
SSLEngine on
SSLCertificateFile /etc/ssl/certs/yourdomain-fullchain.pem
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# HSTS: uncomment the line below only AFTER you confirm HTTPS works on the
# domain and every subdomain (includeSubDomains applies to all of them).
# Reversing HSTS in visitors' browsers is slow, so enable it deliberately.
# Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
# Optional: enable HTTP/2
# Protocols h2 http/1.1
<Directory /var/www/yourdomain>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/yourdomain-ssl-error.log
CustomLog ${APACHE_LOG_DIR}/yourdomain-ssl-access.log combined
</VirtualHost>
- SSLCertificateFile, tu archivo de cadena completa (certificado + intermedios). En Apache 2.4.8+ esto reemplaza la directiva obsoleta SSLCertificateChainFile.
- SSLCertificateKeyFile, la clave privada que creaste con el CSR.
Paso 4: Fuerza una redirección de HTTP a HTTPS
Para que los visitantes siempre lleguen a la versión segura, crea un VirtualHost del puerto 80 separado que redirija todo el tráfico HTTP a HTTPS:
sudo nano /etc/apache2/sites-available/yourdomain-redirect.conf
Luego pega lo siguiente:
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
Paso 5: Habilita las configuraciones de tu sitio
Habilita el nuevo sitio HTTPS (y la redirección, si la creaste). Los archivos en sites-enabled/ son solo enlaces simbólicos a sites-available/:
sudo a2ensite yourdomain-ssl
# If you created the redirect
sudo a2ensite yourdomain-redirect
Paso 6: Prueba la configuración
Siempre prueba la configuración antes de recargar, porque un error de sintaxis puede dejar el sitio fuera de línea:
sudo apache2ctl configtest
Deberías ver Syntax OK. Si obtienes un error, revisa los pasos anteriores antes de continuar.
Paso 7: Recarga el servidor Apache
Aplica los cambios recargando Apache. Una recarga activa la nueva configuración sin cerrar las conexiones existentes:
sudo systemctl reload apache2
Has configurado con éxito tu certificado SSL en tu servidor Debian. Siempre puedes verificar el estado de tu instalación SSL con nuestro SSL Checker.
¿Dónde comprar un certificado SSL para un servidor Debian?
El mejor lugar para comprar un certificado SSL para Debian es SSL Dragon. Ofrecemos precios competitivos, descuentos regulares y grandes ofertas en toda nuestra gama de productos SSL. Hemos seleccionado cuidadosamente las mejores marcas de SSL del mercado para brindarle a tu sitio web un cifrado sólido. Todos nuestros certificados SSL son compatibles con Debian.
Preguntas frecuentes
Por convención, los certificados se colocan en /etc/ssl/certs/ y las claves privadas en /etc/ssl/private/ (mantén la clave legible solo por root). Estas son ubicaciones predeterminadas; puedes usar otras ubicaciones siempre que tu VirtualHost apunte a ellas.
Conéctate a tu sitio con OpenSSL y lee el certificado que ofrece:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Si hay un certificado instalado, esto imprime su emisor y fechas de validez. También puedes listar los hosts virtuales activos de Apache con sudo apache2ctl -S, o simplemente abrir tu sitio en un navegador y verificar el candado.
Los archivos de configuración del sitio se encuentran en /etc/apache2/sites-available/ (por ejemplo yourdomain-ssl.conf), y los sitios habilitados están enlazados simbólicamente en /etc/apache2/sites-enabled/. Habilita un sitio con sudo a2ensite yourdomain-ssl.
Sí. Sin un certificado SSL, los navegadores marcan tu sitio como «No seguro» y el tráfico entre tus usuarios y tu servidor no está cifrado. Un certificado SSL cifra esa conexión y es prácticamente obligatorio para cualquier sitio web en producción.
Conclusión
Instalar un certificado SSL en Debian con Apache se reduce a subir tus archivos, habilitar mod_ssl, configurar el VirtualHost HTTPS con tu certificado de cadena completa, agregar una redirección de HTTP a HTTPS, probar con sudo apache2ctl configtest, y recargar Apache. ¿Necesitas un certificado primero? Explora nuestros certificados SSL.
Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.
Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10

