Cómo instalar Let’s Encrypt para Zimbra en Centos

Este método permite instalar un certificado SSL Let’s Encrypt para Zimbra en Centos con renovación automática. Funciona para instalaciones de Zimbra iguales o superiores a la versión 8.7 en Centos.

¿Que es Let’s Encrypt?

Es una iniciativa de software libre que ha creado una entidad de  certificación gratuita. Dispone de vías automáticas de validación para poder emitir certificados de forma gratuita.

https://letsencrypt.org/

¿Qué es certbot?

Certbot es un cliente automático fácil de usar que busca e implementar certificados SSL / TLS para su servidor web. Certbot fue desarrollado por EFF como cliente de Let’s Encrypt y anteriormente se conocía como «el cliente oficial de Let’s Encrypt» o «el cliente de Let’s Encrypt Python». Certbot también funciona con cualquier otra CA que admita el protocolo ACME.

https://certbot.eff.org/about/

¿Cómo instalar Let’s Encrypt para zimbra?

Requisitos

Centos 7 o 6
Zimbra Collaboration instalado y configurado versión 8.7 o superior

Instalar certbot en centos 7

yum install git epel-release
yum install certbot

Instalar certbot en centos 6

Configurar el repositorio de python 2.7

yum install -y https://centos6.iuscommunity.org/ius-release.rpm
rpm --import /etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

yum -y install python27 python27-devel python27-pip python27-setuptools python27-virtualenv --enablerepo=ius

Descargar e instalar Certbot y otros prerequisitos

yum -y install git dialog libffi-devel mod_ssl openssl-devel python-devel python-pip python-tools python-virtualenv

wget https://dl.eff.org/certbot-auto -O /usr/bin/certbot

chmod+x /usr/bin/certbot

Clonar el repositorio

# git clone https://github.com/penzoiders/zimbra-auto-letsencrypt.git /opt/letsencrypt-zimbra

Editar el archivo de configuración:

# cd /opt/letsencrypt-zimbra
# cp letsencrypt-zimbra.conf.example letsencrypt-zimbra.conf
# nano letsencrypt-zimbra.conf 

letsencrypt_email="[email protected]"

PRINCIPAL="mail.empresa.gob.bo"

ADDITIONAL="correo.empresa.gob.bo" # separar con comas

letsencrypt_zimbra_dir="/opt/letsencrypt-zimbra"

Reemplazar con todos los dominios con los cuales trabaja el servidor zimbra

Generar un nuevo certificado

Ejecutar el script para obtener el certificado.

# cd /opt/letsencrypt-zimbra
# ./zimbra-auto-letsencrypt.sh

Si se presenta algun error probar colocando el mismo valor en el archivo de configuración:

PRINCIPAL="correo.empresa.gob.bo"

ADDITIONAL="correo.empresa.gob.bo"

Renovación automática del certificado Let’s Encrypt para Zimbra

Configurar el cron para la renovación automática del certificado.

# crontab -e

Si se quiere editar crontab con el editor nano se debe escribir:

# env EDITOR=nano crontab -e

Agregar el siguiente comando que se ejecutará a las 00:00 el octavo día del mes, cada 2 meses:

0 0 8 */2 * /opt/letsencrypt-zimbra/zimbra-auto-letsencrypt.sh --renew /opt/letsencrypt-zimbra/letsencrypt-zimbra.conf && /opt/letsencrypt-zimbra/sendmail-notification-successful.sh [email protected] >/dev/null 2>&1

Si alguno quiere conocer más opciones de cómo utilizar esta herramienta puede ejecutar el siguiente comando:

./zimbra-auto-letsencrypt.sh --help

Probar la nueva configuración desde el navegador.

En algunas ocaciones, dependiendo de la configuración del servidor, el nuevo servidor no se refleja en el cliente, esto se debe a que los servicios de zimbra no se han reiniciado, se puede ejecutar el comando zmcontrol restart para solucionarlo. Tambien es posible crear una nueva tarea para ejecución automática mediante el crontab, yo recomiendo ejecutarla unos 20 minutos después de generar el certificado SSL.

# env EDITOR=nano crontab -e
20 0 8 */2 * su - zimbra -c "zmcontrol restart"

En otros posts también pueden encontrar:

Entradas relacionadas