Certificados SSL Gratuitos con Let’s Encrypt en Carbonio Community Edition

Este método permite instalar un certificado SSL Let’s Encrypt para Carbonio Community Edition en Ubuntu Server 20.04 con renovación automática.

¿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 Carbonio Community Edition?

Paso 1: instalar Certbot 

Es necesario usar la última versión mantenida por el equipo de Certbot, ya que la que viene con Ubuntu 20.04 está obsoleta.

Para instalar la última versión de certbot, ejecute los siguientes comandos 

apt install snapd 
snap install --classic certbot 
ln -s /snap/bin/certbot /usr/bin/certbot 
certbot --version 

Ahora ejecute con certbot lo siguiente: 

certbot certonly --key-type rsa --preferred-chain "ISRG Root X1" -d correo.guidocutipa.blog.bo 

Después de la verificación, los archivos del certificado (certificado, clave pública y cadena) se colocan en el directorio /etc/letsencrypt/correo.guidocutipa.blog.bo/

Al listar el contenido del directorio /etc/letsencrypt/live/correo.guidocutipa.blog.bo/. se debería tener los siguientes archivos: 

cert.pem  chain.pem  fullchain.pem  privkey.pem  README 

Paso 2: Preparar el certificado 

Primero copiar el archivo privkey.pem a Commercial.key usando el siguiente comando: 

cp /etc/letsencrypt/live/correo.guidocutipa.blog.bo/privkey.pem /opt/zextras/ssl/carbonio/commercial/commercial.key 

Copiar otro certificado al directorio /tmp

cp /etc/letsencrypt/live/correo.guidocutipa.blog.bo/cert.pem /tmp 
cp /etc/letsencrypt/live/correo.guidocutipa.blog.bo/chain.pem /tmp 

Ahora, adquirir la cadena ISRG Root X1 y concatenarla al archivo chain.pem. 

wget -O /tmp/ISRG-X1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt 


cat /tmp/ISRG-X1.pem >> /tmp/chain.pem 

Paso 3: implementar el certificado 

Dar acceso al archivo comercial.key usando el siguiente comando:

chown zextras:zextras /opt/zextras/ssl/carbonio/commercial/commercial.key 

Ahora verificar el certificado usando:

su - zextras -c 'zmcertmgr verifycrt comm /opt/zextras/ssl/carbonio/commercial/commercial.key  

La implementación solo debe ejecutarse después de completar con éxito el paso de verificación. 

Finalmente, implementar el certificado y reiniciar los servicios para finalizar la implementación. 

su - zextras -c 'zmcertmgr deploycrt comm /tmp/cert.pem /tmp/chain.pem' 

su - zextras -c 'zmcontrol restart' 

Ahora verifique el estado desde la interfaz de su correo web. 

Paso 4: Renovación automática del certificado 

Crear el archivo actualizarLetsencrypt.sh que contendrá los comandos necesarios para la renovación del certificado:

nano actualizarLetsencrypt.sh
certbot renew --quiet
cp /etc/letsencrypt/live/correo.guidocutipa.blog.bo/privkey.pem /opt/zextras/ssl/carbonio/commercial/commercial.key
cp /etc/letsencrypt/live/correo.guidocutipa.blog.bo/cert.pem /tmp/
cp /etc/letsencrypt/live/correo.guidocutipa.blog.bo/chain.pem /tmp/
wget -O /tmp/ISRG-X1.pem https://letsencrypt.org/certs/isrgrootx1.pem.txt
cat /tmp/ISRG-X1.pem >> /tmp/chain.pem
chown zextras:zextras /opt/zextras/ssl/carbonio/commercial/commercial.key
su - zextras -c 'zmcertmgr verifycrt comm /opt/zextras/ssl/carbonio/commercial/commercial.key /tmp/cert.pem /tmp/chain.pem'
su - zextras -c 'zmcertmgr deploycrt comm /tmp/cert.pem /tmp/chain.pem'
su - zextras -c 'zmcontrol restart'

Despues de editar el archivo conceder permisos de ejecución:

chmod +x actualizarLetsencrypt.sh

Ejecutar el archivo periódicamente mediante el crontab

crontab -e
0 4 * * * /usr/bin/certbot renew --quiet
30 4 1 * * /home/ubuntu/actualizarLetsencrypt.sh

Con certbot renew –quiet se intenta renovar el certificado todos los días a las 4 a.m.

Con el archivo actualizarLetsencrypt.sh se actualizará el certificado que estuviera renovado el primer día de cada mes a las 4:30 a.m

Se puede verificar el estado del certificado desde la interfaz de su correo web. 

Referencia

https://community.zextras.com/free-ssl-certificates-for-carbonio-community-edition-using-lets-encrypt-and-certbot/

Entradas relacionadas

Deja un comentario