Paso 1: Habilitar SSL en Apache
Cargar el módulo de ssl.
· a2enmod ssl
Paso 2: Hacer que Apache escuche en el puerto 443.
· /etc/apache2/ports.conf
· Listen 80
· Listen 443
Paso 3: Definir un virtual host para SSL
Si bien no es necesario, este paso es recomendado, porque podremos separar los sitios con HTTP de los que usan HTTPS de forma más ordenada.
Habilitar los virtual hosts en Apache.
· a2enmod vhost_alias
Definir un virtual host en sites-availables. Aquí supongo que al momento sólo existe un archivo que se llama default. A dicho archivo, definirle:
· NameVirtualHost *:80
De esta manera, el default sólo es para los sitios con HTTP. Ahora crear el archivo
· /etc/apache2/sites-availables/ssl con el siguiente contenido:
· NameVirtualHost *:443
· SSLEngine on
· SSLCertificateFile /etc/ssl/ssl/server.crt
· SSLCertificateKeyFile /etc/ssl/server.key
· DocumentRoot /var/www
· ErrorLog /var/log/apache2/error.log
· CustomLog /var/log/apache2/access.log Habilitar el virtual host.
· a2ensite ssl Finalmente, recargar Apache.
· /etc/init.d/apache2 restart
Ahora podemos permitir el tráfico del servidor web:
· iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
· iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT