informatique:se:linux:applications:ssl-let-s_encrypt-certbot-auto

certbot pour Let's Encrypt

cerbot pour let's encrypt

Certbot est un binaire qui permet de mettre en œuvre un certificat SSL pour un domaine d'un site Internet. Certbot-auto est une solution complète qui permet d’exécuter Certbot de manière optimale.

En terminal, j’exécute wget

wget https://dl.eff.org/certbot-auto

sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto
/usr/local/bin/certbot-auto --install-only

Exécution de l'utilitaire pour configurer un site avec les options suivantes :

read -p "Quel est votre nom de domaine ? " siteName
read -p "Dossier Web du site ? " dirWeb
sudo certbot-auto certonly --webroot -w $dirWeb -d $siteName --register-unsafely-without-email

L'avantage de ce script :

  • pas d'arrêt d'Apache 2
  • pas de mail à saisir
  • autonomie sur la configuration Apache 2

Quelques chemins à retenir :

fichier de configuration /etc/letsencrypt/renewal/$siteName.conf
dossier archive /etc/letsencrypt/archive/$siteName
fichier cert /etc/letsencrypt/live/$siteName/cert.pem
fichier privkey /etc/letsencrypt/live/$siteName/privkey.pem
fichier chain /etc/letsencrypt/live/$siteName/chain.pem
fichier fullchain /etc/letsencrypt/live/$siteName/fullchain.pem

Exécution de l'utilitaire pour configurer un domaine principal. Un domaine principal est accessible avec les www et sans :

echo "Quel nom de domaine (avec www) ?"
read siteNameWww
echo "Quel nom de domaine (sans les www) ?"
read siteName
certbot-auto certonly --webroot -w /var/www/html/ -d $siteNameWww -d $siteName --register-unsafely-without-email

L'avantage de ce script :

  • pas d'arrêt d'Apache 2
  • pas de mail à saisir
  • autonomie sur la configuration Apache 2

Quelques chemins à retenir :

fichier de configuration /etc/letsencrypt/renewal/$siteNameWww.conf
dossier archive /etc/letsencrypt/archive/$siteNameWww
fichier cert /etc/letsencrypt/live/$siteNameWww/cert.pem
fichier privkey /etc/letsencrypt/live/$siteNameWww/privkey.pem
fichier chain /etc/letsencrypt/live/$siteNameWww/chain.pem
fichier fullchain /etc/letsencrypt/live/$siteNameWww/fullchain.pem

Il suffit d’exécuter la commande :

$ sudo certbot-auto renew

Les paramètres cerbot sont automatiquement traités et une mise à jour des certificats sont opérés.

Il faudra redémarrer le service Web (par exemple systemctl reload apache2).

Éditer la tâche des tâches Linux du compte root, crontab :

sudo crontab -e

La tâche doit exécutée le programme certbot-auto avec l'option de renouvellement, renew. L'option post-hook permet d'indiquer la commande à exécuter après le traitement de certbot-auto. Dans notre cas, on demande à systemctl de recharger la configuration Apache 2.

0 23 1-7 */2 4 python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew --post-hook "systemctl reload apache2" >> /var/log/letsencrypt/renew.log

Explications :

Tous les deux mois ( 0 23 1-7 */2 4 )
à 23 heures ( 0 23 1-7 */2 4 ),
le premier jeudi ( 0 0 1-7 */2 4 ),
lancement d'un script Python, qui retarde 1 heure au maximum (random.random() * 3600),
l’exécution de la mise à jour de certbot.

sudo ls /etc/letsencrypt/live/
read -p "Quel est votre nom de domaine ?" siteName
sudo openssl x509 -noout -dates -in /etc/letsencrypt/live/$siteName/fullchain.pem

letsencrypt_erase
#!/bin/bash
# réinitialiser let's encrypt pour un domaine precis
echo Affichage des noms possibles :
sudo ls /etc/letsencrypt/live
echo .
echo "Quel nom de domaine ?"
read siteName
sudo rm -fr /etc/letsencrypt/live/$siteName/
sudo rm /etc/letsencrypt/renewal/$siteName.conf 
sudo rm -fr /etc/letsencrypt/archive/$siteName/
Entrer votre commentaire. La syntaxe wiki est autorisée:
   ____   ___   __  __   _  __   ___ 
  / __/  / _ \ / / / /  | |/_/  / _ |
 _\ \   / // // /_/ /  _>  <   / __ |
/___/  /____/ \____/  /_/|_|  /_/ |_|
 
  • informatique/se/linux/applications/ssl-let-s_encrypt-certbot-auto.txt
  • Dernière modification: 2020/05/13 05:38
  • par Cédric ABONNEL