Certbot - Linux
Data de criação: 21/02/2024
Última alteração: 21/02/2024
O que é o Certbot ?
O Certbot é uma ferramenta gratuita que ajuda a tornar os sites mais seguros na internet. Ele automatiza o processo de obtenção e instalação de certificados SSL/TLS, que são como "passes de segurança" que protegem a comunicação dos seus sites. Em resumo, o Certbot facilita a implementação de uma conexão segura entre o seu navegador e os sites, tornando a web mais segura para todos.
Requisitos solicitados:
- Acesso via linha de comando - que geralmente é acessado por SSH
- Um site HTTP - É um padrão da Internet e normalmente usado com porta TCP 80.
- Site já esteja online - Certbot assumem ou recomendam que você tenha um site funcional que já possa ser acessado usando HTTP na porta 80
- Porta 80 esteja aberta - Este site deve estar disponível para a Internet na porta 80. Para usar o certbot (para realizar o teste pode usar o website Teste de Portas). Mais informações disponíveis no link: https://certbot.eff.org/
- Serviço DDNS - Antes de prosseguir com a instalação do certificado Let's Encrypt, é importante garantir que o serviço de DDNS esteja configurado e funcionando corretamente para o seu subdomínio. O serviço de DDNS é essencial para garantir que seu domínio seja acessível pela Internet e que o certificado Let's Encrypt possa ser validado com sucesso.
Instalação do Certbot:
RedHat/Centos/Rocky
# dnf install epel-release
# dnf install certbot
Debian/Ubuntu
# apt install certbot
Configuração do Certificado com o Certbot:
- Execute o Certbot com o seguinte comando, substituindo <seu-subdominio> pelo nome de seu subdomínio para o qual você deseja gerar o certificado:
# certbot certonly --webroot -w /var/www/html -d <seu-subdominio>
- O Certbot solicitará informações adicionais e, em seguida, gerará e instalará o certificado SSL no seu servidor.
Deve ocorrer uma seção que se parece com a imagem acima.
Configuração do Servidor Web:
- Após a instalação do certificado, você precisará configurar seu servidor web (como o Apache ou Nginx) para usar o certificado SSL. Isso geralmente envolve atualizar o arquivo de configuração do servidor para incluir o caminho para o certificado SSL e a chave privada.
No Apache (Red-Hat/Centos/Rocky)
Acesse o arquivo de configuração de seu domínio web
/etc/httpd/conf.d/seu-dominio.conf
Dentro deste arquivo, deve haver uma seção que se parece com isso:
Certifique-se de que as linhas SSLEngine, SSLCertificateFile e SSLCertificateKeyFile estejam presentes e apontem para os locais corretos dos arquivos do certificado SSL gerados pelo Certbot.
Reinicie o Apache:
Após fazer as alterações, reinicie o Apache para aplicar as configurações:
# systemctl restart httpd
(OBS: verifique se o pacote mod-ssl e openssl está instalado no servidor – dnf install mod-ssl openssl )
No Apache (Debian/Ubuntu)
Acesse o arquivo de configuração de seu domínio web:
/etc/apache2/sites-available/seu-dominio.conf
Dentro deste arquivo, deve haver uma seção que se parece com isso:
Após fazer as alterações, reinicie o Apache para aplicar as configurações:
# systemctl restart apache2
Renovação automática do Certificado com o Certbot:
- Configuração do Cron Job:
- Para automatizar a renovação do certificado, você pode configurar um cron job para executar o Certbot periodicamente. Edite o arquivo de cron jobs com o comando:
crontab -e
- Adicione a seguinte linha para executar o Certbot para renovar os certificados todos os dias às 3:00 da manhã:
(Red-hat/Centos/Rocky)
0 3 * * * certbot renew --quiet --post-hook "systemctl reload httpd"
(Debian/Ubuntu)
0 3 * * * certbot renew --quiet --post-hook "systemctl reload apache2"
Para mais detalhes sobre como configurar o Certificado, você pode acessar o website