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

2 comentarios:

  1. Muy bien explicado. Estoy buscando lo mismo pero instalando certificados gratuïtos mediante Let's encrypt. También si sabes a nivel SEO si este tipo de certificados gratuïtos tienen la misma entidad que uno de pago a ojos de Google y demás spiders.

    Gracias!

    ResponderEliminar
  2. El otro día lo discutía con un amigo que es experto en SEO y SEM. El hecho que sea un certificado gratuito no debería penalizar a los motores de búsqueda, lo que es importante es que solo tengas la información publicada en HTTPS, ya que si la tienes publicada tambien con HTTP para los motores de búsqueda estás duplicando la información.

    Este artículo es bastante interesante:
    https://www.juanignacioalberola.com/wordpress-seo-https-lets-encrypt/

    ResponderEliminar