En este tutorial, aprenderás cómo instalar un certificado SSL en Ubuntu con Apache.
También grabamos un video que te guía a través de todo el proceso. Si prefieres la versión de texto, sigue leyendo a continuación.
Generar un código CSR
Comenzaremos con la generación del CSR (Certificate Signing Request). Un CSR es una solicitud enviada a una Autoridad de Certificación para pedir un certificado digital. Tienes dos opciones:
- Usa nuestro Generador de CSR para crear el CSR automáticamente.
- Sigue nuestro tutorial paso a paso sobre cómo generar un CSR en Ubuntu.
Envía el CSR a la Autoridad de Certificación durante tu pedido. Después de que la CA lo valide y emita tu certificado SSL, continúa con la instalación a continuación.
Instalar un certificado SSL en Ubuntu Server
Paso 1: Sube tus archivos de certificado
Después de la validación, la Autoridad de Certificación te envía por correo electrónico los archivos del certificado. Extrae el archivo comprimido. Deberías tener:
- yourdomain.crt, tu certificado SSL principal.
- yourdomain.ca-bundle, los certificados intermedios (el paquete CA).
- yourdomain.key, la clave privada que generaste con el CSR.
Sube el certificado y el paquete CA a /etc/ssl/ y la clave privada a /etc/ssl/private/ (mantén la clave legible solo por root). En Apache 2.4.8 y versiones más recientes (que incluyen todas las versiones de Ubuntu compatibles), combina el certificado y el paquete CA en un archivo de cadena completa:
cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt
Paso 2: Habilita el módulo SSL y localiza la configuración de tu sitio
Habilita el módulo SSL de Apache (y el módulo headers, usado para HSTS en el Paso 3):
sudo a2enmod ssl
sudo a2enmod headers
El archivo de configuración de tu sitio se encuentra en /etc/apache2/sites-available/ (normalmente yourdomain.conf). Edita el archivo ahí. Los archivos en sites-enabled/ son solo enlaces simbólicos. Si el sitio aún no está habilitado, habilítalo con:
sudo a2ensite yourdomain.conf
Nota: sirve HTTP (puerto 80) y HTTPS (puerto 443) desde bloques VirtualHost separados. Las directivas SSL van en el de HTTPS.
Paso 3: Configura el VirtualHost de HTTPS
Configura el VirtualHost del puerto 443. Un bloque completo y moderno se ve así; ajusta las rutas para que coincidan con tus archivos:
<VirtualHost *:443>
ServerName www.yourdomain.com
DocumentRoot /var/www/yourdomain
SSLEngine on
# Apache 2.4.8+ : certificado + paquete CA en un archivo de cadena completa
SSLCertificateFile /etc/ssl/yourdomain_fullchain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
# Endurecimiento TLS recomendado (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Habilita HSTS solo después de confirmar que HTTPS funciona
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</VirtualHost>
- SSLCertificateFile: tu archivo de cadena completa (certificado + intermedios). En Apache 2.4.8+ este reemplaza al obsoleto SSLCertificateChainFile.
- SSLCertificateKeyFile: la clave privada que creaste con el CSR.
Apache heredado (anterior a 2.4.8): mantén el certificado y la cadena por separado y añade SSLCertificateChainFile /etc/ssl/yourdomain.ca-bundle, apuntando al paquete CA, no a tu archivo de certificado.
Paso 4: Redirige HTTP a HTTPS
Para que los visitantes siempre lleguen a la versión segura, añade un VirtualHost en el puerto 80 que redirija a HTTPS:
<VirtualHost *:80>
ServerName www.yourdomain.com
Redirect permanent / https://www.yourdomain.com/
</VirtualHost>
Paso 5: Prueba la configuración
Siempre prueba antes de recargar; 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 6: Recarga Apache
Aplica los cambios recargando Apache (una recarga activa la nueva configuración sin interrumpir las conexiones):
sudo systemctl reload apache2
Felicidades, tu certificado SSL ya está instalado en tu servidor Ubuntu. Para verificar el resultado y obtener un informe de estado instantáneo, usa nuestro SSL Checker.
¿Dónde comprar un certificado SSL para Ubuntu Server?
SSL Dragon es tu fuente para todas tus necesidades de SSL. Ofrecemos algunos de los precios más bajos del mercado en toda nuestra gama de productos SSL, y nos hemos asociado con las mejores marcas SSL de la industria para brindar una seguridad sólida y soporte dedicado. Todos nuestros certificados SSL son compatibles con servidores Ubuntu.
Preguntas frecuentes
Conéctate a tu sitio con OpenSSL y lee el certificado que este proporciona: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 mostrará 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 comprobar el candado.
Por convención, los certificados van en /etc/ssl/certs/ (o /etc/ssl/) y las claves privadas en /etc/ssl/private/. Estos son valores predeterminados; puedes usar otras ubicaciones siempre que tu VirtualHost apunte a ellas.
Los archivos de configuración del sitio se encuentran en /etc/apache2/sites-available/ (por ejemplo yourdomain.conf), y los sitios habilitados se enlazan simbólicamente en /etc/apache2/sites-enabled/. Habilita un sitio con sudo a2ensite yourdomain.conf.
En Apache 2.4.8 y versiones posteriores (todas las versiones de Ubuntu compatibles), sí: concatena tu certificado y el paquete CA en un solo archivo y apunta SSLCertificateFile hacia él. La directiva separada SSLCertificateChainFile está obsoleta y solo se necesita en versiones anteriores de Apache.
En resumen
Instalar un certificado SSL en Ubuntu con Apache se reduce a subir tus archivos, habilitar mod_ssl, configurar el VirtualHost de HTTPS con tu certificado de cadena completa, 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

