IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Apache 2.0.x / Windows - MOD SSL

19/05/2004

Par Joe l'indien

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é ;)


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. Quel 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 :

  • Apache 2.0.x sous WINDOWS
  • OpenSSL (version binaire pour windows)
  • PHP installé

Installation

  • Décompresser OpenSSL dans un dossier nommé ssl à la racine de votre site.
  • Copier les fichiers libeay32.dll et libssl32.dll du répertoire ssl dans votre dossier système. (C:\WINDOWS\System32\ - C:\WINNT\System32\ - etc...)
  • Copier le fichier openssl de votre répertoire php/openssl/ dans le répertoire ssl que nous venons de créer.
  • Copier le fichier mod_ssl.so dans le dossier Apache2/modules/
  • Copier le fichier ssl.conf dans le dossier Apache2/conf/

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

  • Ouvrir un éditeur de texte basique (Bloc Notes/NotePad, Ultra edit, etc...)
  • 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 :

  • site.key
  • site.cert
  • .rnd
  • 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 là 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 :

N'oubliez pas ! Vous pouvez combiner ce tutoriel avec mon tutoriel sur les Virtual Host ici :
http://web.developpez.com/tutoriel/apache/vhost/

LONGUE VIE À DEVELOPPEZ.COM !

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



Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.