jueves, 2 de marzo de 2017

Publicar un site con certificado SSL en Apache



Para poder publicar un site con un certificado SSL que hemos adquirido de cualquier entidad certificadora tenemos que realizar tres sencillos pasos: 

1. Extraer las claves públicas del certificado SSL ( y la privada si es que el certificado lo hemos generado desde otro servidor)
2. Configurar un nuevo Site de Apache con el certificado
3. Habilitar el nuevo Site 
4. Reiniciar Apache

1. Extraer las claves públicas (y privadas) de certificado SSL

Para extraer el certificado del PFX ejecutamos el siguiente comando
# openssl pkcs12 -in /home/administrador/Certs/certificado.pfx -clcerts -nokeys -out /root/certs/certificado.cer
Enter Import Password: (la contraseña para importar el certificado)
MAC verified OK
El comando para extrar la clave privada es el siguiente: 
# openssl pkcs12 -in /home/administrador/Certs/certificado.pfx -nocerts -nodes -out /root/certs/certificado.key
Enter Import Password: (la contraseña para importar el certificado)
MAC verified OK

2. Añadir un nuevo Site de Apache con el certificado

Crear una nueva configuración de site: 

# vi /etc/apache2/sites-available/ssl.lasendadeladmin.conf

Y añadir la siguiente configuración:
<VirtualHost *:443>

# ServerAdmin webmaster@localhost
  ServerName ssl.lasendadeladmin.com
  DocumentRoot /var/www/html/lasendadeladmin
  SSLEngine on
  SSLCertificateFile /root/certs/certificado.cer
  SSLCertificateKeyFile /root/certs/certificado.key
  SSLCertificateChainFile /root/certs/gd_intermediate.crt
<Directory "/var/www/html/lasendadeladmin">
  allow from all
  Options -Indexes
</Directory>

  ErrorLog ${APACHE_LOG_DIR}/lasendadeladmin.error.log
  CustomLog ${APACHE_LOG_DIR}/lasendadeladmin.access.log combined

</VirtualHost>




3. Habilitar el nuevo Site

Para habilitar el site ejecutamos el comando a2ensite: 

# a2ensite ssl.lasendadeladmin.conf

4. Reiniciar el Apache

# /etc/init.d/apache restart