Xammp et Let’s Encrypt
Si malheureusement comme moi, votre client à décider d’installer son serveur web sur un Windows et Xampp (je me demande à quoi servent les études ???), vous n’êtes peut-être toujours pas en https.
Cela fait de nombreux mois maintenant que je suis l’activité de Let’s Encrypt avec enthousiasme.
Mais je n’avais encore jamais osé passer le pas.
En effet, un de mes clients, dispose de son propre serveur web.
Ce dernier à été mis en place par une société prestataire. N’étant pas franchement calé en gestion serveur, je pourrais même dire que je n’aime pas ça.
Le hic, et là si ce n’est une incompétence monstrueuse, à été installer sous Windows et Xampp. Serveur de production 🙁
Bref, j’ai enfin paramétré le serveur pour être accessible via https…, et c’est presque aussi simple que sous Linux.
Téléchargement du logiciel (letsencrypt-win-simple)
On va utiliser le logiciel letsencrypt-win-simple.
Décompressez le fichier dans le répertoire : « C :\letsencrypt-win-simple\ ».
Obtenir un certificat SSL (Test Run
cd C:\letsencrypt-win-simple
letsencrypt.exe --manualhost NOM_DOMAINE --webroot DOCUMENT_ROOT --test
Remplacer NOM_DOMAINE par le nom de domaine pour lequel vous souhaitez créer le certificat.
Remplacer DOCUMENT_ROOT par le répertoire htdocs d’Apache.
Exemple :
letsencrypt.exe --manualhost tangue.fr --webroot "C:\xampp\htdocs" --test
La commande ci-dessus devrait vous indiquer si tous ce passe bien ou non.
Obtenir le certificat SSL (pour de bon)
Si le test précédent c’est bien passé, vous n’avez plus qu’a exécuté la même commande que précédemment, mais sans l’option test, soit :
letsencrypt.exe --manualhost tangue.fr --webroot "C:\xampp\htdocs"
Répondez aux questions, puis une fois terminer, notez le répertoire où ont été généré les certificats.
Configurer Apache pour utiliser le certificat SSL
Vous devez déjà activer le module SSL pour Apache puis dans votre fichier : « C :\xampp\apache\conf\extra\httpd-ssl.conf » ; dans la section SSL Virtual host, vous devriez configurer comme ceci :
…
<VirtualHost *:443>
ServerName tangue.re
…
SSLEngine on
SSLCertificateFile
"C:/Users/<username>/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/<domain-name>-crt.pem"
SSLCertificateKeyFile
"C:/Users/<username>/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/<domain-name>-key.pem"
SSLCertificateChainFile
"C:/Users/<username>/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/ca-<hex>-crt.pem"
…
</VirtualHost>
…
Finalisation
Redémarrez Apache 🙂
Ajustements du planificateur de tâches
Rendez-vous dans le planificateur de tâches.
Vous pouvez commencer par supprimer la tache de test (stagging).
Vérifier que la tâche créée par le script peut-être lancé même si aucun utilisateur n’est connecté. De plus vous pouvez ajuster la fréquence de la tâche. Personnellement, je la lance une fois par semaine (le dimanche).
- Cet article est en grande partie une traduction succincte de celui-ci : https://commaster.net/content/how-setup-lets-encrypt-apache-windows
Commentaires récents