Utilitaires
Scripts
Divers
Jeux
Rechercher
Quillevere.net
Réflexions informatiques

Créer et renouveler ses certificats Let's Encrypt automatiquement

02/07/2019
https

L'autorité de certification Let's Encrypt, financée par l'Electronic Frontier Fondation, la fondation Mozilla, Cisco et OVH (entre autres),  propose la création gratuite de certificats, ce qui est utile pour disposer du protocole https sur un site.

Le certificat accordé est valable 3 mois. Voici une procédure permettant de mettre en place ce protocole avec un renouvellement automatique, sur une machine Ubuntu

Générer un certificat

  • Se connecter en SSH sur la machine
  • Installer git :
    apt-get install git-core
  • Installer Let's Encrypt :
    cd /root
    git clone https://github.com/letsencrypt/letsencrypt
    cd letsencrypt
  • Générer un certificat :
    ./letsencrypt-auto
    • Le logiciel analyse le répertoire /var/www et propose de créer un certificat pour chacun des sous-répertoires
    • Choisir les adresses des sites pour lesquels créer des certificats, par exemple monsite.com et www.monsite.com
    • Choisir l'option Secure
    • Si le logiciel le demande, entrez une adresse email valide
    • Une fois le traitement terminé, le certificat généré est stocké dans le répertoire /etc/letsencrypt/live/www.monsite.com et le site est à présent disponible en https.

Renouveler automatiquement un certificat

Afin de ne pas renouveler manuellement chaque certificat tous les 3 mois, voici une procédure permettant de le faire, avec l'envoi d'un email permettant de s'assurer du résultat.

  • Créez un fichier dans /usr/local:
    nano /usr/local/renouvellement_certificats.sh
    (si vous ne disposez pas du logiciel nano, faites un apt-get nano)
  • Collez les commandes suivantes dans le fichier ainsi créé en remplaçant "monsite.com" par le nom de votre site et "email@monsite.com" par l'adresse de réception des messages. Ces commandes lancent un renouvellement en enregistrant toutes les réponses dans un fichier log. Une fois terminé, ce fichier log est envoyé par email à l'administrateur du site.
    rm -f /var/log/letsencrypt_monsite.com.log
    /root/letsencrypt/letsencrypt-auto certonly --apache --force-renew  --text -w /var/www/monsite.com/public -d monsite.com -d www.monsite.com >> /var/log/letsencrypt_monsite.com.log
    mail -s "[LetsEncrypt] Renouvellement monsite.com" contact@monsite.com < /var/log/letsencrypt_monsite.com.log
  • Enregistrez le fichier puis quittez Nano.
  • Accordez les droits d'exécution au fichier :
    chmod +x /usr/local/renouvellement_certificats.sh
  • Lancez le fichier en local afin de tester son bon fonctionnement :
    /usr/local/renouvellement_certificats.sh
  • Lancez Crontab :
    sudo crontab -e
  • Collez la commande suivante pour lancer l'exécution tous les 1er du mois à 4h du matin  :
    # renouvellement https (1er du mois à 04h00 du matin)
    00 04 1 * * bash /usr/local/renouvellement_certificats.sh
  • Redémarrez  Crontab :
    service cron restart

En cas de souci de renouvellement, Let's Encrypt envoie une alerte 20 jours avant la période de fin.

Dernière modification le 02/07/2019 - Quillevere.net

Rechercher sur le site

rss RSS info Informations