Installer mod_SSL sous Apache 2.0.x Windows

Claude Leloup

Vous rêvez de faire du HTTPS sous Windows avec Apache 2.0.x ? C'est possible !
Nous allons voir comment faire pour patcher notre serveur Web préféré ;) ♪

- Titre : Installer mod_SSL sous Apache 2.0.x Windows

- Auteur : Claude Leloup

- Parution : 19 mai 2004

- Licence : Copyright ® 2004 Joe l'indien. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Avant-propos

- Ce qu'il vous faut

- Installation

- Les fichiers de ce tutoriel

Avant-propos

Il existe beaucoup de « tout en un » pour installer Apache + PHP + Perl + MySQL + mod_ssl + etc. Mais aucun ne vous convient. Vous préférez tout faire vous-même et vous avez bien raison.
C'est un bon casse-tête que d'installer mod_ssl sur un serveur Apache 2.0.x sur Windows. Quelle source choisir ? Comment faire ? Est-ce que ça marche vraiment ?

Tout au long de ce tutoriel, vous allez voir que ce n'est pas si compliqué que ça et même très simple.

Ce qu'il vous faut

Voici les différents éléments nécessaires :

1. Apache 2.0.x sous WINDOWS ;

2. OpenSSL (version binaire pour Windows) ;

3. PHP installé.

Installation

1. Décompresser OpenSSL dans un dossier nommé ssl à la racine de votre site.

2. Copier les fichiers libeay32.dll et libssl32.dll du répertoire ssl dans votre dossier système. (C:\WINDOWS\System32\ - C:\WINNT\System32\ - etc.)

3. Copier le fichier openssl de votre répertoire php/openssl/ dans le répertoire ssl que nous venons de créer.

4. Copier le fichier mod_ssl.so dans le dossier Apache2/modules/

5. Copier le fichier ssl.conf dans le dossier Apache2/conf/

Vous suivez toujours :b ?!
OK alors on continue !

1. Ouvrir un éditeur de texte basique (Bloc Notes/NotePad, Ultra edit, etc.)

2. Copier ce qui suit et remplacer site par le nom de votre site

@echo off
openssl req -config openssl.cnf -new -out site.csr
pause && cls
openssl rsa -in privkey.pem -out site.key
openssl x509 -in site.csr -out site.cert -req -signkey site.key -days 365
openssl x509 -in site.cert -out site.der.crt -outform DER
pause && exit

Sauvegarder le fichier sous SSL.bat dans votre répertoire ssl. ATTENTION ne pas l'enregistrer sous SSL.bat.txt sinon ce n'est pas prêt de fonctionner ;)

Suivez les instructions à l'écran DOS.

Une fois tout ceci renseigné, il devrait y avoir ces fichiers dans le répertoire ssl :

1. site.key ;

2. site.cert ;

3. .rnd ;

4. Et deux ou trois autres fichiers qui ne nous intéressent pas ;)

Avant tout, effacez le fichier .rnd et créez un autre dossier ssl dans le répertoire conf d'Apache2 (Apache2/conf/). Copiez-y les fichiers site.key et site.cert.

Allez encore un petit effort on y est presque ;)
Stoppez Apache et ouvrez votre fichier httpd.conf
Recherchez la ligne

Listen 80

et ajoutez en dessous

Listen 443

afin qu'Apache écoute aussi ce port.

Recherchez la ligne

#LoadModule ssl_module modules/mod_ssl.so

puis décommentez-la en enlevant le # devant.

Ajoutez les lignes suivantes à la fin de votre fichier httpd.conf :

SSLMutex default
SSLRandomSeed startup builtin
SSLSessionCache none
<VirtualHost 127.0.0.1:443>
SSLEngine On
SSLCertificateFile conf/ssl/site.cert
SSLCertificateKeyFile conf/ssl/site.key
</VirtualHost>

Voilà ! Si vous avez tout bien suivi correctement, si vous tapez l'URL https://127.0.0.1/ dans votre navigateur, vous devriez voir la fenêtre avec votre certificat et ainsi basculer en mode https :D !
Comme vous l'avez sûrement remarqué, votre certificat n'est pas valide et encore heureux ! Imaginez l'escroquerie si c'était aussi simple de créer un certificat valide.

Les fichiers de ce tutoriel

Vous pouvez télécharger les fichiers de ce tutoriel ci-dessous :

1. OpenSSL binaire pour Windows

2. SSL.bat

3. Extrait du httpd.conf (lignes à rajouter)

4. Tous les fichiers

5. Télécharger ce tutoriel au format PDF

N'oubliez pas ! Vous pouvez combiner ce tutoriel avec mon tutoriel sur les Virtual Host ici :
https://apache.developpez.com/cours/virtual-host/

LONGUE VIE À DEVELOPPEZ.COM !

Et un grand merci à toutes les personnes qui s'investissent dans cette communauté.