Cifrado SSL en Apache (Ubuntu)

Este es un tutorial para los que conocemos Apache en CentOS/RHEL y encontramos algunas diferencias con apache2 en Ubuntu.

El fichero de configuración de apache2 de Ubuntu es apache2.conf. Podemos ver claramente que este fichero es muy similar a nuestro httpd.conf de CentOS/RHEL, de hecho, tiene una línea que incluye este fichero para que introduzcamos configuraciones personales de usuario:

Include httpd.conf

Algo que difiere con CentOS/RHEL es que los módulos no se cargan por defecto sobre el archivo de configuración, que podría hacerse. En apache2  tenemos que colocar el módulo en el directorio mods-enabled, ya que en apache2.conf:

Include mods-enabled/*.load
Include mods-enabled/*.conf

No hay que colocar aquí los módulos. Este directorio contiene enlaces a otro directorio donde están todos los módulos disponibles: mods-available. Es tan sencillo como crear los enlaces (“ln”) o usar la utilidad a2enmod.

Para cargar el módulo de SSL: a2enmod ssl

apache2 Ubuntu
apache2 Ubuntu

Exactamente lo mismo sucede para gestionar los sites que sirve apache2:

# Include the virtual host configurations:
Include sites-enabled/

Podemos tener los sitios disponibles en sites-available. En sites-enabled encontramos los enlaces a sites-available.

El fichero ports.conf contiene las directivas tipo Listen. Este fichero nos permite saber de un vistazo los puertos abiertos.

En nuestro caso: Listen 443

Ahora vienen las declaraciones Virtual Host para dar acceso a un sitio. Hay que colocar un certificado para el cifrado SSL. Por ejemplo en /etc/apache2/sites-enabled/000-default (realmente es un enlace) colocaremos:

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/certificadoPublico.pem
        SSLCertificateKeyFile /etc/ssl/private/clavePrivada.pem
        [...]
</VirtualHost>

Si queremos usar openssl para crear estos certificados:

openssl req -new -x509 -days 3650 -nodes
   -out /etc/ssl/certs/apacheserver.pem
   -keyout /etc/ssl/private/apacheserver.pem

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *