Certificato SSL Zimbra LetsEncrypt

Oggi descriviamo la procedura per aggiungere il certificato SSL su un server pubblico Zimbra

Come prima cosa aggiungiamo Epel

yum install epel-release -y

Poi aggiungiamo Snap

yum install snapd -y
systemctl start snapd.socket
systemctl enable snapd.socket
ln -s /var/lib/snapd/snap /snap
snap install core
snap refresh core

Installiamo adesso Certbot attraverso Snapd

snap install certbot –classic
ln -s /snap/bin/certbot /usr/bin/certbot

Adesso scarichiamo questo script già predisposto per Zimbra da GitHub

cd /tmp
wget –content-disposition https://github.com/YetOpen/certbot-zimbra/archive/1.0.0.tar.gz
tar xf certbot-zimbra-1.0.0.tar.gz
cd certbot-zimbra-1.0.0
./install all

Lo copiamo nella directory degli eseguibili
mv certbot_zimbra.sh /usr/local/bin/

Impostiamo all’interno della configurazione di zimbra proxy la modalità mixed

Riavviamo il proxy con l’utente zimbra

zmproxyctl restart proxy

Verifichiamo che siano presenti sia la porta 80 che la porta 443

ss -nlpt | grep nginx

adesso eseguiamo il comando

./certbot_zimbra.sh –new –prompt-confirm

Durante la procedura vi verrà chiesto di inserire un indirizzo email per gli avvisi di scadenza del certificato.

Nel caso qualcosa andasse storto ricordatevi che se il certificato e stato creato ma non installato in zimbra il comando per eseguire la sola installazione del certificato è:

./certbot_zimbra.sh –d

Per sequenziare in automatico il rinnovo del certificato inserire dentro crontab

# certbot_zimbra.sh requires bash and a path with /usr/sbin
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Replace /usr/bin/certbot with the location of your certbot binary, use this to find it: which certbot-auto certbot letsencrypt
12 5 * * * root /usr/bin/certbot renew --pre-hook "/usr/local/bin/certbot_zimbra.sh -p" --deploy-hook "/usr/local/bin/certbot_zimbra.sh -d"

Tags: