Monitoring via monit et letsencrypt

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!