Cet article a été écrit il y a plus de quatre ans, puis mis à jour le 28/07/2026.
Let's Encrypt (letsencrypt.org) est une autorité de certification gratuite qui délivre des certificats SSL/TLS — de quoi passer n'importe quel site en HTTPS sans rien payer.
Billet publié fin 2015, quand le service était en bêta sur invitation, et sérieusement dépoussiéré en 2026 : l'utilitaire letsencrypt-auto qu'on clonait par git a disparu depuis longtemps, l'API historique a été éteinte en 2021, et surtout — plus besoin de couper Apache ni de bricoler un script de renouvellement : tout est automatique. Voici la méthode actuelle, avec certbot.
Installer certbot
La méthode recommandée officiellement passe par snap, pour avoir la dernière version :
# supprimer une éventuelle vieille installation par paquet
sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbotLes paquets des distributions font aussi l'affaire si vous préférez éviter snap (versions un peu moins fraîches, mais très bien pour un serveur classique) :
# Debian / Ubuntu, avec le plugin Apache
sudo apt install certbot python3-certbot-apacheGénérer (et installer) le certificat
Contrairement à 2015, pas besoin de couper quoi que ce soit : le challenge de validation passe par le serveur web qui tourne. Une seule commande obtient le certificat et modifie la configuration Apache, redirection HTTP → HTTPS proposée dans la foulée :
sudo certbot --apache -d mondomaine.fr -d www.mondomaine.fr(Avec nginx : certbot --nginx.) Si comme moi vous préférez garder la main sur vos virtual hosts, certonly se contente de générer le certificat sans toucher à la config :
sudo certbot certonly --apache -d mondomaine.frLes fichiers atterrissent toujours au même endroit qu'à l'époque — ça au moins, ça n'a pas bougé — dans /etc/letsencrypt/live/mondomaine.fr/, avec le système de liens symboliques qui évite de retoucher sa config à chaque renouvellement.
Côté Apache
Deux directives suffisent désormais — SSLCertificateChainFile, que je donnais en 2015, est déprécié depuis Apache 2.4.8 : la chaîne est embarquée dans fullchain.pem :
SSLEngine on
SSLCertificateFile "/etc/letsencrypt/live/mondomaine.fr/fullchain.pem"
SSLCertificateKeyFile "/etc/letsencrypt/live/mondomaine.fr/privkey.pem"Et la redirection permanente vers le HTTPS, toujours d'actualité (certbot propose de l'ajouter lui-même en mode --apache) :
<VirtualHost *:80>
ServerName mondomaine.fr
RedirectMatch permanent ^(.*)$ https://mondomaine.fr$1
</VirtualHost>Le renouvellement : plus rien à faire
Les certificats sont toujours valables 90 jours, mais la partie « script maison qui coupe Apache + crontab du dimanche soir » de la version 2015 de ce billet est à oublier : les paquets certbot installent un timer systemd (ou une entrée cron) qui renouvelle tout seul ce qui approche de l'expiration, et recharge le serveur web au passage.
# vérifier que le timer est bien en place
systemctl list-timers | grep certbot
# répétition générale, sans rien renouveler réellement
sudo certbot renew --dry-runSi le dry-run passe, vous pouvez oublier le sujet — c'est bien toute la promesse de Let's Encrypt.
Bonus : certificat wildcard
Pour couvrir *.mondomaine.fr d'un coup, il faut passer par le challenge DNS (la preuve se fait par un enregistrement TXT et non par HTTP), idéalement avec le plugin DNS de votre hébergeur de zone pour que le renouvellement reste automatique :
sudo snap install certbot-dns-ovh # ou -cloudflare, -gandi…
sudo certbot certonly --dns-ovh -d "mondomaine.fr" -d "*.mondomaine.fr"
Commentaires (6)
Comments
Bonjour M. Kevin Gautreau.
Je suis sous Windows 10 Pro et j'aimerai savoir s'il existe une version windows pour créer un certificat Let's Encrypt ?
@+
avec certbot c'est cool aussi ! https://certbot.eff.org/docs/using.html#apache
Bonjour,
Je cherche à générer un certificat valide utilisable sur un serveur de dev distant mais installé en local (pas en localhost). Le https en local s'obtient facilement, mais un certificat valide est requis quand on veut utiliser des Services Worker sous Chrome (Firefox n'a pas les mêmes impératifs de sécurité - et une console de dev pourrie)
Savez-vous s'il est possible de générer un certificat valide pour un serveur on-line et s'en servir pour un serveur local (en modifiant le host par exemple)
La commande "git clone https://github.com/letsencrypt/letsencrypt" ne fonctionne pas ! Elle tourne dans le vide indéfiniment !!
Je viens de tester, pas de soucis chez moi :
Bonjour,
Je viens de connaitre votre blog et j'ai fais un essai. Je suis sous windows, Git installer et j'ai une erreur à la commande suivante :
./letsencrypt-auto --server https://acme-v01.api.letsencrypt.org/directory certonly
Voici l'erreur:
"sudo" is not available, will use "su" for installation steps...
Requesting to rerun ./letsencrypt-auto with root privileges...
./letsencrypt-auto: line 161: su: command not found
Auriez-vous une petite idée ?
Merci d'avance