On 09/10/2020 14:02, Gerald Galster wrote:
I have to say I'm totally baffled since I do nothing when LetsEncrypt renews 
the certificate.

I know the cert has been updated because the mail clients asks me if I trust 
the certificate.

If it makes a difference I use the bash LetsEncrypt not the Python code.
I don't like all those dependencies certbot (python) installs, but it works 
flawlessly on CentOS.
On CentOS 8 you need to enable the EPEL *and* PowerTools repositories 
(/etc/yum/repos.d/...)

I've attached a small perl script that I call via cron 30 minutes after certbot 
starts which reloads services if necessary.

Best regards
Gerald



#!/usr/bin/perl

my $reload;

open(FF, "find /etc/letsencrypt/live -mtime -1 -name cert.pem |");
while(<FF>){
        chomp;
        next if !$_;
        $reload++;
}
close(FF);

if($reload){
        system("/usr/bin/systemctl reload httpd");
        system("/usr/bin/systemctl reload postfix");
        system("/usr/bin/systemctl reload dovecot");

}


With certbot you can simply put a script in /etc/letsencrypt/renewal-hooks/deploy/:

# deploy-hook-script.sh

set -e

for domain in $RENEWED_DOMAINS; do
    case $domain in

        domain.com )
            chmod 600 "$RENEWED_LINEAGE/fullchain.pem"
            chmod 600 "$RENEWED_LINEAGE/privkey.pem"
            /usr/bin/systemctl reload dovecot
            /usr/bin/systemctl restart opensmtpd
        ;;

    esac
done

Reply via email to