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
Comentários