Xammp et Let’s Encrypt

Développeur free-lance, je conçois vos outils informatiques sur mesure.

Xammp et Let’s Encrypt

27 janvier 2017 Non classé 0

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).