Se placer dans le répertoire qu’on a choisi
# mkdir -p /etc/apache2/ssl
# cd /etc/apache2/ssl
Pour la suite, $FQDN représente le nom complet du virtualhost.
(Exemple : site.domaine.ext ou www.domaine.fr)
Générer la clef privée et le “certificate signing request” :
# openssl genrsa -des3 -passout pass:x -out $FQDN.pass.key 2048
# openssl rsa -passin pass:x -in $FQDN.pass.key -out $FQDN.key
# rm $FQDN.pass.key
# openssl req -new -key $FQDN.key -out $FQDN.csr
Générer le certificat ssl :
# openssl x509 -req -days 3650 -in $FQDN.csr -signkey $FQDN.key -out $FQDN.crt
# chmod 600 FQDN.*
Voir le certificat :
openssl x509 -noout -text -in $FQDN.crt
Activer ssl :
# a2enmod ssl
Paramétrer le virtualhost :
# vi /etc/apache2/site-available/monsite.conf
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/$FQDN.crt
SSLCertificateKeyFile /etc/apache2/ssl/$FQDN.key
Apache doit écouter le port 443 :
# vi /etc/apache2/ports.conf
<IfModule ssl_module>
Listen 443
</IfModule>
Relancer Apache :
/etc/init.d/apache2 restart
(Merci à ce lien)