ssl-renew-certificate
Pour renouveler automatiquement un certificat SSL Let's Encrypt en utilisant un script Bash, vous pouvez utiliser certbot
, un outil populaire pour gérer les certificats Let's Encrypt. Voici un exemple de script Bash qui renouvelle automatiquement un certificat SSL :
Étape 1 : Installer Certbot
Assurez-vous que certbot
est installé sur votre système. Vous pouvez l'installer avec les commandes suivantes :
-
Sur Ubuntu/Debian :
sudo apt update
sudo apt install certbot -
Sur CentOS/RHEL :
sudo yum install epel-release
sudo yum install certbot
Étape 2 : Créer un script Bash
Créez un fichier script Bash, par exemple renew_ssl.sh
, et ajoutez le contenu suivant :
#!/bin/bash
# Chemin vers le fichier de log
LOGFILE="/var/log/letsencrypt/renewal.log"
# Date et heure de début
echo "Début du renouvellement du certificat SSL : $(date)" >> $LOGFILE
# Renouvellement du certificat SSL avec Certbot
certbot renew --quiet --post-hook "systemctl reload nginx"
# Vérification du statut de la commande
if [ $? -eq 0 ]; then
echo "Renouvellement réussi : $(date)" >> $LOGFILE
else
echo "Erreur lors du renouvellement : $(date)" >> $LOGFILE
fi
Étape 3 : Rendre le script exécutable
Rendez le script exécutable avec la commande suivante :
chmod +x /chemin/vers/renew_ssl.sh
Étape 4 : Automatiser le renouvellement avec Cron
Pour automatiser l'exécution de ce script, vous pouvez utiliser cron
. Ouvrez l'éditeur de crontab avec la commande suivante :
crontab -e
Ajoutez la ligne suivante pour exécuter le script tous les jours à minuit :
0 0 * * * /chemin/vers/renew_ssl.sh
Explication du script :
certbot renew --quiet --post-hook "systemctl reload nginx"
: Cette commande renouvelle le certificat SSL si nécessaire. L'option--quiet
réduit la sortie, et--post-hook
permet de redémarrer le serveur web (dans cet exemple, Nginx) après le renouvellement.- Le script enregistre les résultats dans un fichier de log (
/var/log/letsencrypt/renewal.log
) pour un suivi ultérieur.
Étape 5 : Tester le script
Vous pouvez tester le script manuellement pour vous assurer qu'il fonctionne correctement :
sudo /chemin/vers/renew_ssl.sh
Conclusion
Ce script Bash automatisera le renouvellement de votre certificat SSL Let's Encrypt et redémarrera votre serveur web si nécessaire. L'utilisation de cron
garantit que ce processus est répété régulièrement sans intervention manuelle.