Pour mettre en place un hook qui redémarre Dovecot après chaque renouvellement de certificat avec Let's Encrypt (généralement géré par Certbot), vous devez ajouter un script de hook dans le répertoire approprié ou spécifier le hook directement dans la commande de renouvellement de Certbot. Voici comment vous pouvez procéder :
Vous pouvez créer un script qui redémarre Dovecot. Par exemple:
#!/bin/bash # reload-dovecot.sh # Redémarrer Dovecot echo "Reloading Dovecot..." systemctl restart dovecot
Enregistrez ce script quelque part sur votre système, par exemple, /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh
.
Assurez-vous de rendre le script exécutable :
chmod +x /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh
Lorsque vous exécutez Certbot pour renouveler vos certificats, vous pouvez spécifier des hooks à exécuter avant ou après le renouvellement.
Ajouter le Hook de Renouvellement Automatique : Si vous avez configuré Certbot pour renouveler automatiquement vos certificats (ce qui est la configuration recommandée), vous pouvez ajouter votre script de hook directement dans la configuration de renouvellement de Certbot.
Pour chaque certificat dans /etc/letsencrypt/renewal/
, il y a un fichier de configuration correspondant. Vous pouvez ajouter les lignes suivantes au fichier de configuration de votre domaine (par exemple, /etc/letsencrypt/renewal/smtp.serveur.fr.conf
):
[renewalparams] post_hook = /etc/letsencrypt/renewal-hooks/post/reload-dovecot.sh
Certbot vérifie également automatiquement trois répertoires pour les scripts à exécuter comme hooks :
/etc/letsencrypt/renewal-hooks/pre/
: Avant le renouvellement./etc/letsencrypt/renewal-hooks/deploy/
: Après le renouvellement réussi d'un certificat./etc/letsencrypt/renewal-hooks/post/
: Après la tentative de renouvellement (qu'elle soit réussie ou non).
Placer votre script dans /etc/letsencrypt/renewal-hooks/post/
assurera qu'il s'exécute après chaque tentative de renouvellement, ce qui est idéal pour des actions comme redémarrer Dovecot.
Après avoir mis en place le hook, vous devriez tester le processus pour vous assurer que tout fonctionne comme prévu. Vous pouvez simuler un renouvellement avec Certbot en utilisant une option de test (cela ne remplacera pas vos certificats actuels) :
certbot renew --dry-run
Si tout est correctement configuré, Certbot renouvellera le certificat en mode test et exécutera votre script pour redémarrer Dovecot. Assurez-vous que Dovecot fonctionne correctement après l'exécution du script.
En ayant un hook bien configuré, vous vous assurez que Dovecot utilise toujours un certificat à jour, maintenant ainsi la sécurité de votre service de messagerie.