Ceci est une ancienne révision du document !
Apache SSL
Génération du certificat
Génération de la clé privée (donner une passphrase) :
openssl genrsa -des3 -out server.key 1024
Creation de la demande de certificat (la passphrase sera demandé, “your name” est le nom du serveur et pas son propre nom) :
openssl req -new -key server.key -out server.csr
signature du certificat :
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
On copie tous ça au bon endroit et on met les bons droits :
cp ~/server.key /usr/local/etc/apache22/ cp ~/server.crt /usr/local/etc/apache22/ chmod 400 /usr/local/etc/apache22/server.key chmod 400 /usr/local/etc/apache22/server.crt
les fichiers doivent appartenir au même user que le serveur web, “www” en general
chown www /usr/local/etc/apache22/server.*
Dans http.conf on verifie qu'on a bien ça :
LoadModule ssl_module libexec/apache22/mod_ssl.so
et ça :
Include etc/apache22/extra/httpd-ssl.conf
Ensuite on configure le vhost qu'on veut en SSL dans etc/apache22/extra/httpd-ssl.conf :
Apache 2.2 n'est initialement pas prévu pour pouvoir stopper la prise en charge du protocole HTTPS comme c'est le cas d'Apache 1.3 et 2.0 en omettant le paramètre -DSSL. Vous pouvez rectifier le tir si besoin en modifiant les deux parties suivantes :
Le chargement du module SSL si explicitement demandé via la ligne de commande de lancement du serveur Apache :
LoadModule ssl_module libexec/apache22/mod_ssl.so
En :
<IfDefine SSL> LoadModule ssl_module libexec/apache22/mod_ssl.so </IfDefine>
L'analyse du fichier annexe dédié à la configuration de ce module si spécifié :
#Include etc/apache22/extra/httpd-ssl.conf
En :
<IfModule ssl_module> Include etc/apache22/extra/httpd-ssl.conf </IfModule>
Pour plus de détails :