Après avoir perdu une soirée à résoudre le souci … Je pense que cela mérite un petit article.
L’installation de monit sur un serveur peut s’avérer complexe si on doit la relier à un serveur signé par letsencrypt ;
En effet, monit ne supporte pas le format des certificats du certbot de letsencrypt ET ne permet d’avoir que des droits 600 sur le fichier (grrr).
Il faut donc rajouter un hook de déploiement. Un exemple de hook est disponible ici :
https://www.ringingliberty.com/2017/12/30/monit-lets-encrypt-and-file-permissions/
#!/bin/bash
for domain in $RENEWED_DOMAINS
do
case $domain in
example.com)
cat $RENEWED_LINEAGE/privkey.pem $RENEWED_LINEAGE/fullchain.pem > /etc/monit/pemfile-$domain.pem
chmod 600 /etc/monit/pemfile-$domain.pem
;;
done
Je remercie grandement l’auteur. Mais, l’article d’origine ne le précise pas, ce script de hook de déploiement est à installer (via root) dans l’emplacement:
/etc/letsencrypt/renewal-hooks/deploy
Ensuite, rulez!