Activar el módulo ssl:
sudo a2enmod ssl
Crear el certificado; primero lo creamos y luego lo copiamos en el directorio por defecto:
$mkdir ssl
cd ssl
openssl genrsa -des3 -out server.key 1024
openssl rsa -in server.key -out server.key.insecure
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Nota: si no queremos que cada vez que arrancamos el servidor http nos pida la clave del certificado hacemos,
openssl rsa -in server.key -out server.key.nopass
Y ahora "instalamos" el certificado,
sudo cp server.crt /etc/ssl/certs
sudo cp server.key.nopass /etc/ssl/private
En nuestro fichero de configuración de apache tenemos que añadir algo parecido a esto:
virtualhost *:443
DocumentRoot /var/www/blahblah
SSLEngine on
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key.nopass
....
Ahora rearrancamos el servidor con sudo service apache2 restart
, y ya tenemos soporte SSL. Naturalmente, como el certificado lo creamos nosotros, los navegadores nos avisarán de que no ha sido emitido por una entidad de confianza pero tendremos las comunicaciones con el servidor aseguradas por https.