Installation de Certbot pour créer un certificat Let’s Encrypt et le renouveler automatiquement.
- Téléchargement
- Exécution
- Renouvellement
- Télécharger la source, donner lui les droits d’exécution puis déplacer le dans /usr/local/sbin
1 |
$ wget https://dl.eff.org/certbot-auto |
1 |
$ chmod +x certbot-auto |
1 |
$ sudo mv certbot-auto /usr/local/sbin |
- Exécuter ensuite le script, nécessite d’être sudo et choisir son environnement.
1 |
$ sudo certbot-auto |
Ou rajouter l’extension –nginx ou –apache
1 |
$ sudo certbot-auto --nginx |
Entrer une adresse émail valide pour être notifié de l’expiration du certificat.
Accepter l’accord de licence. Autoriser ou non de recevoir des émails de la fondation.
Définir un ou plusieurs ndd si plusieurs vhosts (reverse proxy).
Choisir la 2eme option, renvoyer tout le trafic sur HTTPS
Après quelques secondes, le certificat est généré. /!\ Penser a ouvrir les ports sur le Firewall (80/443)
Pour tester sa configuration, aller comme indiqué sur https://www.ssllabs.com/ssltest/
- Renouvellement du certificat automatiquement
Pour faire un test, taper la commande.
1 |
$ sudo certbot-auto renew --dry-run |
Puis faire un cron, pour programmer son renouvellement en auto
1 |
$ sudo crontab -e |
Programmer le renouvellement, lancer la vérification 2 fois par jours a 9h30 puis 19h30 tous les jours.
1 |
<del>30 9,19 * * 1-7 certbot-auto renew --quiet --no-self-upgrade</del> |
Il y a eu du changement début 2018, le renew ne fonctionne plus, il faut préciser un force-renew
Dans mon crontab je fais le renew tous les 15 du mois a 7h30.
1 |
30 07 15 * * /usr/local/sbin/certbot-auto renew --force-renew --quiet |
Bonjour et deja un grand merci pour ce tuto.
Je bloque un peu sur la commande: sudo certbot-auto –nginx
ca ne fonctionne pas pour moi,
il me dit:
Certbot has problem setting up the virtual environment.
We were not be able to guess the right solution from your pip
output.
…
THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
pycparser==2.19 from (from -r /tmp/tmp.5sBcwcGs4E/letsencrypt-auto-requirements.txt (line 105)):
Expected sha256 a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3
Got bc15573b7c6edd24407526dbbc7a0bd33d80d8af44231c37f58d73f56ff9cab6
=====================================================
si vous avez une idée ca m’aiderai bien 🙂
Merci
Bonjour, je répond a mon propre commentaire,
j’ai eu ce probleme car j’utilise raspbian qui n’utilise pas python pip, mais piwheels.
LA solution est d’edité le fichier /etc/pip.conf et de commenter la partie en rapport avec avec un ‘#’:
Merci
Hello
dsl, je suis off
merci pour ton retour, cela servira a d’autres personnes
bonne vacances 🙂
Hello
Je vois que tu n’utilises pas les variables –webroot –webroot-path dans ta commande.
Sont t’elles obligatoires ?
cdt
Bonjour,
J’ai souvenir a une époque de l’avoir utilisé pour spécifier le chemin
To specify webroot auth and the directory, use:
certbot certonly/renew –webroot -w /path/to/webroot …
Sinon par défaut il stock dans le répertoire d’installation /etc/letsencrypt…