Procedimento de instalação do certificado Let’s Encrypt no Zimbra para um único domínio.

Observação!!! Dúvidas somente pelo canal zimBrasil do Telegram -> https://t.me/zimBrasil

Como usuário zimbra:

su – zimbra

Parar o Zimbra Proxy e o Mailboxd

zmproxyctl stop
zmmailboxdctl stop

# Como usuário root:

cd /opt/
git clone https://github.com/letsencrypt/letsencrypt letsencrypt
cd letsencrypt

No exemplo abaixo, estamos criando um certificado para o zimbra cujo o hostname/nome da máquina e domínio, será: zimbra.seudominio.com.br lembre-se de alterar para o hostname do seu Zimbra.

./letsencrypt-auto certonly –standalone -d zimbra.seudominio.com.br

Crie a pasta onde iremos copiar todos os certificados, baixar a Root_ca e criar o arquivo da cadeia completa para importar no zimbra.

mkdir -p /tmp/cert_deploy
cd /tmp/cert_deploy

Download do Root_ca

wget https://raw.githubusercontent.com/fsschmidt/temporario/master/rootca_x3.pem

Copia dos certificados criados pelo Let’s Encrypt:

cp /etc/letsencrypt/archive/zimbra.seudominio.com.br/*.pem /tmp/cert_deploy

Alter a permissão/dono da pasta /tmp/cert_deploy para que o usuário zimbra possa realizar os procedimentos de verificação e importação dos certificados.

chown zimbra:zimbra /tmp/cert_deploy

# Como usuário zimbra:

Novamente, logue-se como usuário zimbra e entre na pasta dos certificados /tmp/cert_deploy criada anteriormente:

su – zimbra

cd /tmp/cert_deploy

Concatene o root_ca e a fullchain para criar um arquivo com a cadeia completa dos certificados.

cat rootca_x3.pem fullchain1.pem > zimbra_chain.pem

Verifique se o diretório /tmp/cert_deploy contém os arquivos:

  • cert1.pem
  • chain1.pem
  • fullchain1.pem
  • privkey1.pem
  • rootca_x3.pem
  • zimbra_chain.pem

Realize a verificação e validação do certificado

/opt/zimbra/bin/zmcertmgr verifycrt comm privkey1.pem cert1.pem zimbra_chain.pem

Caso o resultado seja algo como:

zimbra@zimbra:/tmp/cert_deploy$ /opt/zimbra/bin/zmcertmgr verifycrt comm privkey1.pem cert1.pem zimbra_chain.pem
** Verifying ‘cert1.pem’ against ‘privkey1.pem’
Certificate ‘cert1.pem’ and private key ‘privkey1.pem’ match.
** Verifying ‘cert1.pem’ against ‘zimbra_chain.pem’
Valid certificate chain: cert1.pem: OK

Você está pronto para iniciar o deploy do certificado. Para isso, realize o backup dos certificados atuais para poder restaurar em caso de problemas durante a instalação (Não irei abordar a restauração nesse post)

cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date “+%Y%m%d”)

Agora, copie a chave privada para a o padrão aceito pelo zimbra com o comando abaixo:

cp privkey1.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

Efetue a instalação (ou deploy) dos certificados:

/opt/zimbra/bin/zmcertmgr deploycrt comm cert1.pem zimbra_chain.pem

Se não ocorrer erros, o certificado foi instalado com sucesso. Caso contrário, verifique todos os passos novamente.

Reinicie o zimbra

zmcontrol restart

Agora, acesse o seu zimbra e verifique a validade do certificado. Em alguns casos é necessário abrir todas as janelas do Navegador e abrir novamente.

Lembre-se, qualquer dúvida acesse o canal zimBrasil no telegram https://t.me/zimBrasil

Fontes:

Respirandolinux.com.br –@fabioschmidt – https://respirandolinux.com.br/2017/05/13/zimbra-8-7-implementando-certificado-assinado-com-lets-encrypt/

anahuac.eu – @anahuac – http://www.anahuac.eu/zimbra-letsencrypt-multidominios-howto/

Zimbra Wiki – https://wiki.zimbra.com/wiki/Installing_a_LetsEncrypt_SSL_Certificate