bg-tutorials

Cómo instalar un certificado SSL en Linux

En este tutorial, aprenderás cómo instalar un certificado SSL en Linux con el servidor web Apache (httpd).

Los ejemplos utilizan Red Hat Enterprise Linux (RHEL) y sus distribuciones cercanas (Rocky Linux, AlmaLinux, CentOS, Fedora), donde Apache es el paquete httpd y la configuración se encuentra en /etc/httpd/. La última sección incluye recomendaciones de compra de SSL para servidores Red Hat Linux.

Generar el CSR en Linux

Si ya generaste tu CSR y recibiste tu certificado, pasa directamente a la sección de instalación.

Un CSR (Certificate Signing Request) es un pequeño bloque de texto codificado que contiene información sobre tu dominio y, en el caso de los certificados empresariales, sobre tu organización. Generar un CSR es un paso obligatorio en el proceso de solicitud de un SSL; toda Autoridad de Certificación comercial lo solicita antes de emitir tu certificado. Tienes dos opciones:

Envía el CSR a la Autoridad de Certificación durante el proceso de compra. Una vez que la CA lo valide y emita tu certificado SSL, continúa con la instalación a continuación.

Instalar un certificado SSL en Linux (Red Hat / Apache)

Tras la validación, tu Autoridad de Certificación te enviará por correo electrónico un archivo ZIP con los archivos de instalación. Descárgalo y extráelo. Deberías tener:

  • yourdomain.crt, tu certificado SSL principal (el certificado hoja).
  • yourdomain.ca-bundle, los certificados intermedios, también llamados paquete CA (CA bundle).
  • yourdomain.key, la clave privada que generaste junto con el CSR.

Si tu CA envió el certificado como texto en lugar de archivos, abre el certificado principal, copia todo incluyendo las líneas —–BEGIN CERTIFICATE—– y —–END CERTIFICATE—–, y guárdalo como yourdomain.crt. Haz lo mismo con el paquete CA. Sigue los pasos a continuación para completar la instalación.

Paso 1: Instalar el módulo SSL (mod_ssl)

En sistemas basados en Red Hat, el soporte HTTPS proviene del paquete mod_ssl. Instálalo (en RHEL 8/9 y Fedora usa dnf; en versiones más antiguas usa yum):

sudo dnf install mod_ssl

Al instalar el paquete también se crea el archivo de configuración SSL predeterminado en /etc/httpd/conf.d/ssl.conf, que es donde añadirás las directivas de tu certificado.

Paso 2: Subir los archivos del certificado al servidor

Copia tus archivos a las ubicaciones estándar de certificados de Red Hat. Los certificados van en /etc/pki/tls/certs/ y la clave privada va en /etc/pki/tls/private/:

sudo cp yourdomain.crt /etc/pki/tls/certs/
sudo cp yourdomain.ca-bundle /etc/pki/tls/certs/
sudo cp yourdomain.key /etc/pki/tls/private/

Restringe el acceso a la clave privada para que solo root pueda leerla:

sudo chmod 600 /etc/pki/tls/private/yourdomain.key

En Apache 2.4.8 y versiones posteriores, lo que cubre todas las versiones de RHEL compatibles, combina tu certificado y el paquete CA en un único archivo de cadena completa (primero el certificado hoja, luego los intermedios). Este único archivo es todo lo que necesita la directiva SSLCertificateFile:

cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt
sudo cp yourdomain_fullchain.crt /etc/pki/tls/certs/

Paso 3: Configurar el VirtualHost de HTTPS

Abre el archivo de configuración SSL con un editor de texto:

sudo nano /etc/httpd/conf.d/ssl.conf

Dentro del bloque VirtualHost del puerto 443, configura una versión completa y moderna como la que se muestra a continuación. Ajusta las rutas y el dominio para que coincidan con tus archivos:

<VirtualHost *:443>
    ServerName  www.yourdomain.com
    DocumentRoot /var/www/html

    SSLEngine on

    # Apache 2.4.8+ : certificado + paquete CA en un único archivo de cadena completa
    SSLCertificateFile    /etc/pki/tls/certs/yourdomain_fullchain.crt
    SSLCertificateKeyFile /etc/pki/tls/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 seguido de los intermedios). En Apache 2.4.8+ esta única directiva reemplaza a la obsoleta SSLCertificateChainFile.
  • SSLCertificateKeyFile: la clave privada que creaste con el CSR.

Apache heredado (anterior a 2.4.8): si estás usando un servidor muy antiguo, mantén el certificado y la cadena por separado, apunta SSLCertificateFile a yourdomain.crt, y añade SSLCertificateChainFile /etc/pki/tls/certs/yourdomain.ca-bundle, apuntando al paquete CA, no a tu propio certificado.

Paso 4: Redirigir HTTP a HTTPS

Para que los visitantes siempre lleguen a la versión segura de tu sitio, añade un VirtualHost en el puerto 80 (en la configuración principal de tu sitio, por ejemplo /etc/httpd/conf.d/yourdomain.conf) que redirija a HTTPS:

<VirtualHost *:80>
    ServerName www.yourdomain.com
    ServerAlias yourdomain.com
    Redirect permanent / https://www.yourdomain.com/
</VirtualHost>

Paso 5: Probar la configuración

Prueba siempre la sintaxis antes de recargar; un error tipográfico en la configuración puede impedir que Apache se inicie:

sudo apachectl configtest

Deberías ver Syntax OK. Si obtienes un error, revisa los pasos anteriores antes de continuar.

Paso 6: Recargar Apache

Aplica los cambios recargando el servicio httpd. Una recarga activa la nueva configuración sin interrumpir las conexiones existentes:

sudo systemctl reload httpd
sudo systemctl start httpd
sudo systemctl enable httpd

Una cosa más: asegúrate de que el firewall permita el tráfico HTTPS por el puerto 443:

sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

Felicidades. Tu certificado SSL ya está instalado en tu servidor Apache con Red Hat Linux.

Para confirmar que todo funciona correctamente y obtener un informe de estado instantáneo, ejecuta tu dominio a través de nuestro SSL Checker. Los escaneos detectan cualquier error de cadena o configuración que pueda afectar la forma en que los navegadores confían en tu certificado.

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

Una imagen detallada de un dragón en vuelo
Escrito por

Redactor de contenidos experimentado especializado en Certificados SSL. Transformar temas complejos de ciberseguridad en contenido claro y atractivo. Contribuir a mejorar la seguridad digital a través de narrativas impactantes.