2.5 KiB
2.5 KiB
title, summary, author, date
| title | summary | author | date | |
|---|---|---|---|---|
| Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt. | brief decription to sum up |
|
2019-12-16 |
Générer et mettre à jour automatiquement un certificat "wildcard" let's encrypt.
Installation de acme.sh
# 1 - Beeing root
SYNOPATH="/volume1/something"
cd $SYNOPATH
git clone https://github.com/acmesh-official/acme.sh.git
./acme.sh/acme.sh --install --nocron --home $SYNOPATH/acme.sh/.acme.sh --accountemail "admin@savaneprod.fr"
Sur DSM, les certificats se trouvent dans /usr/syno/etc/certificate/_archive/.
Mise à jour automatique du certificat
Chez Gandi
Utilsation de l'API Gandi : https://github.com/acmesh-official/acme.sh/wiki/dnsapi#18-use-gandi-livedns-api
Le script de mise à jour
SYNOPATH="/volume1/something"
jour=$(date +%Y-%m-%d)
file='$SYNOPATH/Certificats/'$jour'.log'
HOME_orig=$HOME
HOME="$SYNOPATH/Certificats/.acme.sh"
export GANDI_LIVEDNS_KEY="la clef récupérée chez Gandi"
export SYNO_Certificate="savaneprod.fr cert"
export SYNO_Create=0
export SYNO_Username="admin_c_pas_top"
export SYNO_Password="Un mdp de ouf"
echo "*********************************************" 2>&1 | tee -a $file
echo " Mise à jour du certificat *.savaneprod.fr" 2>&1 | tee -a $file
echo "*********************************************" 2>&1 | tee -a $file
bash $SYNOPATH/Certificats/acme.sh/acme.sh --home $HOME --renew -d savaneprod.fr -d '*.savaneprod.fr' --dns dns_gandi_livedns --force --log 2>&1 | tee -a $file
bash $SYNOPATH/Certificats/acme.sh/acme.sh --home $HOME -d savaneprod.fr -d "*.savaneprod.fr" --deploy --deploy-hook synology_dsm --log 2>&1 | tee -a $file
echo "---------------------------------" 2>&1 | tee -a $file
echo " Fin du script de mise à jour." 2>&1 | tee -a $file
echo "*********************************" 2>&1 | tee -a $file
La conf dans DSM dans le planificateur de tâches
J'ai finalement décidé de renouveler tous les mois parce que le Synology propose tous les 3 mois mais la durée de vie du certificat est légèrement inférieure. Et je n'ai pas cherché à configurer le renouvellement tous les deux mois.

Exécution du script. Il faut bien entendu que le script ait la permission d'éxécution configurée.

