SSL sous Apache 2
Un article de Wiki Lambert Nicolas - Quement Julien.
Sommaire |
Comment installer le support SSL sur Apache 2 ?
ssl sous apache 2
Basé sur un cas Debian/Sarge.
Wiki original : BxLUG
1. Création des certificats
Sous Debian Sarge, la commande :
apache2-ssl-certificate
génère gentillement pour vous les certificats pour votre site. Il est également possible de les générer soit-même, ou d'utiliser des certificats venant d'ailleurs. (à compléter par qui veut)
Sous Debian Etch, la commande :
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
chmod 600 /etc/apache2/ssl/apache.pem
2. Configuration de Apache
Apache 2 est installé avec le module ssl sous Sarge. Il ne s'agit pas d'un paquet supplémentaire.
Il suffit de le charger soit :
- en créant à la main deux liens symboliques entre /etc/apache2/mods-enabled/ et ssl.conf et ssl.load (qui se trouvent dans le répertoire /etc/apache2/mods-available/ )
- soit en utilisant a2enmod ssl qui fait la même chose [1] !
Il vous faut ensuite éditer le fichier ssl.conf. Ajouter simplement une ligne à la fin du fichier (avant le </IfModule> pour faire ça proprement):
SSLCertificateFile /etc/apache2/ssl/apache.pem [2]
Ensuite, ajoutez au fichier ports.conf la ligne suivante :
Listen 443
3. Configuration de votre VirtualHost
Deux possibilités :
- a2ensite ssl.conf : crée un VirtualHost "SSL aware" [3]
- créez un VirtualHost contenant la directive SSLEngine on, par exemple en ajoutant une section dans /etc/apache2/sites-available/default.
Exemple :
NameVirtualHost *:443
...
<VirtualHost *:443>
ServerAdmin yourmail@mail.com
SSLEngine on
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
RedirectMatch ^/$ /apache2-default/
</Directory>
</VirtualHost>
[1] je ne l'ai pas testé
[2] Adaptez bien évidemment le chemin au fichier certificat généré au point 1.
[3] non testé
