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"