En este tutorial te enseñaremos como instalar un certificado SSL/TLS de LatSSL en tu servidor web Apache de forma manual (sin usar ningún panel de control o interfase gráfica).
Para este proceso, asumiremos que ya cuentas con un certificado SSL/TLS de LatSSL, si aún no tienes el tuyo… ¿qué esperas para contratarlo?
Descarga y prepara tu certificado #
- Accede a tu cuenta en nuestro panel y en la sección de Mis Servicios > Certificados ubica el certificado que vas a instalar.
- En la pantalla de información del certificado, busca el botón de descargar y selecciona Apache como opción de descarga. Esto descargará el certificado en el formato apropiado para su instalación en Apache.
- Guarda en tu equipo el archivo del certificado, por lo regular el nombre será eldominioseguro_com.crt (reemplazando eldominioseguro_com por tu nombre de dominio o subdominio y su extensión).
- Ten a la mano la llave privada o key generada al momento de crear la Solicitud de Firma de Certificado (CSR) que usaste para ordenar este certificado.
Vamos al servidor #
Verificando que mod_ssl se encuentre activo #
Antes de empezar es necesario verificar que el módulo de Apache mod_ssl se encuentre activo, ya que de lo contrario será imposible realizar la instalación de un certificado SSL/TLS.
Para ello vamos a usar el siguiente comando:
apachectl -M
Esto nos devolverá la lista de módulos instalados y activos en Apache, en caso de que aparezca mod_ssl podemos continuar.
Transfiere los archivos al servidor #
Para transferir los archivos al servidor puedes usar el software y protocolo que más cómodo o conveniente te resulte. Nosotros recomendamos usar sFTP o SCP debido a que son protocolos seguros, pero también es posible usar FTP o incluso copiar y pegar los archivos directamente en el servidor. Cada administrador tiene sus preferencias.
Es importante que la llave privada se almacene en un directorio al que solo el administrador o root tenga acceso, esto para proteger la integridad de la protección SSL/TLS. Las rutas más comunes son las siguientes (pero pueden variar de acuerdo al sistema operativo):
- Para el certificado:
- /etc/pki/tls/certs
- /etc/ssl/certs
- Para la llave privada:
- /etc/pki/tls/private
- /etc/ssl/private
Te recomendamos tomar nota de la ruta y el nombre del archivo para el certificado y para la llave privada.
Configurando el dominio con HTTPS en Apache #
Ahora editaremos el archivo propio del dominio en la configuración de Apache. La ubicación más común es /etc/apache2/sites-available/eldominiosegiro.com.conf (reemplazando eldominioseguro.com por el dominio al cual le instalaremos el certificado). En caso de que el archivo no exista y que por lo tanto el dominio no se encuentre aún configurado en Apache, deberemos crear uno nuevo.
El archivo o fichero debe de verse mas o menos así:
# Inicio de la sección para HTTP (sin SSL)
<VirtualHost *:80>
ServerName eldominioseguro.com #aquí debemos indicar el dominio que estamos configurando
ServerAlias www.eldominioseguro.com #esta línea es opcional solo si quieremos que el dominio responda con y sin www
ServerAdmin webmaster@eldominioseguro.com #la dirección de correo del webmaster
DocumentRoot /var/www/html/eldominioseguro.com #ruta donde se encuentran los archivos del sitio web
ErrorLog ${APACHE_LOG_DIR}/eldominioseguro.com.error.log #opcional, nos permite un registro de errores exclusivo
CustomLog ${APACHE_LOG_DIR}/eldominioseguro.com.access.log combined #opcional, nos permite un registro de accesos exclusivo
<Directory "/var/www/html/eldominioseguro.com">
#Aquí definiremos que parámetros puede sobreescribir el usuario por medio de .htaccess
AllowOverride All
</Directory>
</VirtualHost>
# Inicio de la sección para HTTPS (con SSL), ver la sección anterior para valores a reemplazar
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@eldominioseguro.com
ServerName eldominioseguro.com
ServerAlias www.eldominioseguro.com
DocumentRoot /var/www/html/eldominioseguro.com
ErrorLog ${APACHE_LOG_DIR}/eldominioseguro.com.error.log
CustomLog ${APACHE_LOG_DIR}/eldominioseguro.com.access.log combined
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/eldominioseguro.com.bundle # Ruta al certificado
SSLCertificateKeyFile /etc/pki/tls/private/eldominioseguro.com.key # Ruta a la llave privada
<Directory "/var/www/html/eldominioseguro.com">
AllowOverride All
</Directory>
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
IMPORTANTE: Si el archivo de configuración del dominio no existía y hemos creado uno nuevo, es necesario activar el sitio en Apache usando el siguiente comando:
a2ensite eldominioseguro.com
Reinciando o recargando Apache #
Una vez guardado el archivo ha llegado la hora de que nuestra configuración tome efecto. Para ello vamos a recargar o reiniciar el servidor Apache. El proceso o el comando para realizarlo puede variar en función del sistema operativo y/o de la versión del mismo, pero estos son los más comunes:
Recarga de configuración:
- systemctl reload apache2
- service apache2 reload
- /etc/init.d/apache2 reload
Para reiniciar (terminar y volver a ejecutar):
- systemctl restart apache2
- service apache2 restart
- /etc/init.d/apache2 restart
Probando la nueva configuración #
Si todo ha salido bien, el servidor Apache ya debe estarse ejecutando con la nueva configuración que incluye la instalación de tu certificado de LatSSL. Para confirmar que todo ha salido bien solo debemos ingresar a https://eldominioseguro.com (obviamente reemplazando eldominioseguro.com por el dominio para el cual hemos hecho la configuración y obtenido el certificado).
Si todo es correcto, el sitio debe mostrarse sin mayor inconveniente y sin mensajes de error. Esto lo puedes confirmar por el ícono que aparece a un costado de la URL y que al hacer click en el mismo te muestra que es una conexión segura.
Ejemplo en Mozilla Firefox

Ejemplo en Chrome


Alternativamente, también puedes usar el checador de certificado SSL en https://sslutil.com/checar-ssl/