Tiens, un article. Ca faisait longtemps.
Bon, depuis plusieurs mois, à chaque fois qu’un détail change à propos de postfix/opendkim/opendmarc/systemd, j’ai un mal de chien à relancer opendkim et opendmarc.
Dans le meilleur des cas, c’est juste une histoire du style :
warning: connect to Milter service unix:/var/run/opendmarc/opendmarc.sock: Too many levels of symbolic links ou warning: connect to Milter service unix:/var/run/opendmarc/opendmarc.sock: No such file or directory
Dernièrement j’ai eu ce « too many levels » qui semblait indiquer qu’il ne voulait plus de ma bidouille de liens symboliques de /var/run/opendmarc => /var/spool/postfix/var/run/opendmarc
(postfix est « chrooté »). Bon, soit.
Dans le pire des cas, tout semble bon et tu te heurtes à systemd qui veut pas que tu relances ton service :
opendmarc.service start request repeated too quickly, refusing to start.
Alors OK, j’ai jamais pris le temps de lire la doc de systemd depuis qu’il est en debian stable, mais quand même ! 😉
Bref, on te dit partout de jouer avec les limites style StartLimitBurst
, mais encore faudrait-il avoir un profil opendmarc (idem pour opendkim) dans /etc/systemd/
. Et y’a pas !
Après un long moment, je suis finalement tombé sur cette question (https://unix.stackexchange.com/questions/74477/postfix-smtpd-warning-connect-to-milter-service-unix-var-run-opendkim-opendki/391213#391213) qui référence ce bug (https://bugs.debian.org/cgi-bin/bugreport.cgi?archive=no&bug=861169) et voilà la solution pour créer le fichier de conf de opendkim/opendmarc dans /etc/systemd et pouf, tout tombe en marche sans rien de plus :
/lib/opendkim/opendkim.service.generate systemctl daemon-reload service opendkim restart
Et la même pour opendmarc :
/lib/opendkim/opendmarc.service.generate systemctl daemon-reload service opendmarc restart
Wouhou :
ls -ld /etc/systemd/system/opend* drwxrwx--- 2 root root 4096 mars 12 09:23 /etc/systemd/system/opendkim.service.d drwxrwx--- 2 root root 4096 mars 12 09:24 /etc/systemd/system/opendmarc.service.d
Pour info, j’ai fini par faire le choix d’indiquer les liens /var/spool/postfix/var/run/opend*/
pour les fichiers .sock et .pid de ces outils, plutôt que laisser la conf standard vers /var/run/opend*
et faire des liens symboliques de /var/spool/postfix/var/run/opend*
vers /var/run/opend*
Y’a quand même des outils qui sont pénibles parfois.