Cet article est, pour la majorité, tiré du site https://www.memoinfo.fr/tutoriels-linux/configurer-lets-encrypt-apache/
Installation de Certbot
Pour commencer, on télécharge Certbot et on le rend exécutable :
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
C’est un simple fichier, stockez le à un endroit approprié. Dans /opt par exemple.
Exécutez-le une première fois « à blanc » pour qu’il télécharge ses dépendances et s’installe.
./certbot-auto
Lorsque ce sera terminé, il vous proposera de commencer le travail de création. Quittez. Nous y reviendrons plus tard.
Les fichiers principaux sont installés. Tout se trouve dans /etc/letsencrypt.
Dans se dossier on trouvera 3 dossiers de stockage pour les certificats :
archive : dossier de base ou sont stockés les certificats
live : dossier des certificats actifs. Des liens symboliques vers le dossier archive.
renewal : dossier qui contient les informations de renouvellement des certificats.
Création du certificat Let’s Encrypt
Lancez la commande suivante en veillant à remplacer les valeurs par les bonnes informations :
./certbot-auto certonly --webroot --webroot-path /srv/www/domain.tld/ --domain domain.tld --domain www.domain.tld --email mon@email.com
Explications :
certonly : on demande la création du certificat uniquement.
--webroot : on utilise le plugin webroot qui se contente d’ajouter des fichiers dans le dossier défini via --webroot-path.
--webroot-path : le chemin de votre « DocumentRoot » Apache. Certbot placera ses fichiers dans $DocumentRoot/.well-known/ pour les tests et vérifications
--domain : le nom de domaine à certifier.
--email : l’adresse qui recevra les notifications de Let’s Encrypt. Principalement pour rappeler de renouveler le certificat le moment venu.
Options de création
Au niveau des paramètres de création, l’essentiel est là. Je vous invite à consulter la doc pour voir les autres options disponibles.
On pourrait éventuellement durcir le certificat en le passant en 4096 bits (2048 bits par défaut) en ajoutant le flag --rsa-key-size 4096 mais c’est un peu disproportionné. C’est vous qui voyez.
Pour revenir sur le flag --domain, attention ! Let’s encrypt ne gère pas à ce jour le Wildcard. Il faut donc penser impérativement à déclarer le domaine ET le sous-domaine « www ». Si vous êtes dans une configuration classique évidemment où votre site est accessible depuis http://domain.tld et http://www.domain.tld.
Les certificats obtenus
Si vous cherchez vos certificats, ils se trouvent dans les dossiers : /etc/letsencrypt/live/domain.tld/
Vous avez pour chaque certificat 4 fichiers :
privkey.pem : La clé privée de votre certificat. A garder confidentielle en toutes circonstances et à ne communiquer à personne quel que soit le prétexte. Vous êtes prévenus !
cert.pem : Le certificat serveur et à préciser pour les versions d’Apache < 2.4.8. Ce qui est notre cas ici.
chain.pem : Les autres certificats, SAUF le certificat serveur. Par exemple les certificats intermédiaires. Là encore pour les versions d’Apache < 2.4.8.
fullchain.pem : Logiquement, l’ensemble des certificats. La concaténation du cert.pem et du chain.pem. A utiliser cette fois-ci pour les versions d’Apache >= 2.4.8.
Modification du vhost
Le script propose de modifier automatiquement votre vhost, je vous conseille de le laisser faire automatiquement.
Renouveler automatiquement le certificat
Pour renouveller automatiquement le certificat, je vous conseille de mettre en place une crontab qui le fera pour vous.
Pour ce faire, via crontab -e il vous suffit de rajouter la ligne suivante :
0 0 1 * * /opt/certbot-auto renew
Tester que tout fonctionne bien
Pour cela, il vous suffit de vous rendre sur https://www.ssllabs.com et de rentrer l'URL de votre site.
2 commentaire