informatique:serveur-web-linux-apache:ssl-let-s_encrypt-certbot-auto

[OBSOLÈTE] certbot auto pour Let's Encrypt

cerbot pour let's encrypt

Depuis 2020, l'installation s'effectue depuis certbot avec snap

Suivez le guide dans l'article certbot 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/serveur-web-linux-apache/ssl-let-s_encrypt-certbot-auto.txt
  • Dernière modification: 2021/01/16 05:12
  • par Cédric ABONNEL