Este tutorial abrangente irá guiá-lo passo a passo na configuração de um certificado SSL gratuito usando o Let’s Encrypt em um servidor CentOS ou AlmaLinux. Abordaremos desde a instalação do Certbot até a renovação automática, garantindo a segurança do seu site com HTTPS.
Por que usar Let’s Encrypt?
- Gratuito: Certificados SSL sem custo.
- Automatizado: Processo simplificado de emissão e renovação.
- Confiável: Reconhecido por navegadores modernos.
- Segurança: Criptografia robusta para proteger dados.
Pré-requisitos:
- Servidor CentOS ou AlmaLinux com acesso root.
- Domínio registrado e apontando para o seu servidor.
- Servidor web Apache ou Nginx instalado e configurado.
Passo 1: Instalando o Certbot
O Certbot é a ferramenta oficial para interagir com o Let’s Encrypt. A instalação varia ligeiramente dependendo do seu servidor web.
Para Apache:
- Habilite o repositório EPEL (Extra Packages for Enterprise Linux):
sudo dnf install epel-release
- Instale o Certbot para Apache:
sudo dnf install certbot python3-certbot-apache
Para Nginx:
- Habilite o repositório EPEL (Extra Packages for Enterprise Linux):
sudo dnf install epel-release
- Instale o Certbot para Nginx:
sudo dnf install certbot python3-certbot-nginx
Passo 2: Obtendo o Certificado SSL
Com o Certbot instalado, podemos solicitar o certificado.
Para Apache:
Execute o seguinte comando, substituindo seu_dominio.com
e www.seu_dominio.com
pelos seus domínios:
sudo certbot --apache -d seu_dominio.com -d www.seu_dominio.com
O Certbot irá automaticamente configurar o Apache para usar o certificado.
Para Nginx:
Execute o seguinte comando, substituindo seu_dominio.com
e www.seu_dominio.com
pelos seus domínios:
sudo certbot --nginx -d seu_dominio.com -d www.seu_dominio.com
Certifique-se de que o bloco de servidor do Nginx para o seu domínio esteja configurado corretamente antes de executar este comando.
Explicação dos comandos:
certbot
: Executa o Certbot.--apache
ou--nginx
: Especifica o servidor web.-d
: Define os nomes de domínio para o certificado (inclua o domínio principal e owww
).
Passo 3: Verificando a Configuração
Após a conclusão, o Certbot exibirá uma mensagem de sucesso. Você pode verificar se o SSL está funcionando acessando seu site com https://seu_dominio.com
. O cadeado no navegador deve indicar uma conexão segura.
Passo 4: Configurando a Renovação Automática
Os certificados Let’s Encrypt têm validade de 90 dias. Para evitar a expiração, configure a renovação automática.
O Certbot cria um cron job automaticamente. Você pode verificar com:
sudo systemctl list-timers | grep certbot
Para testar a renovação (sem realmente renovar):
sudo certbot renew --dry-run
Passo 5: Redirecionando HTTP para HTTPS (Opcional, mas Recomendado)
Para garantir que todos os acessos sejam feitos via HTTPS, configure o redirecionamento.
Para Apache:
Edite o arquivo de configuração do seu VirtualHost (geralmente em /etc/httpd/conf/httpd.conf
ou /etc/httpd/conf.d/seu_dominio.com.conf
) e adicione as seguintes linhas dentro da seção <VirtualHost *:80>
:
Apache
RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
Para Nginx:
Edite o arquivo de configuração do seu servidor (geralmente em /etc/nginx/conf.d/seu_dominio.com.conf
) e adicione o seguinte bloco:
Nginx
server {
listen 80;
server_name seu_dominio.com www.seu_dominio.com;
return 301 https://$host$request_uri;
}
Reinicie o servidor web após as alterações:
sudo systemctl restart httpd (para Apache)
sudo systemctl restart nginx (para Nginx)
Dicas Adicionais:
- Testes Online: Utilize sites como SSL Labs para testar a configuração do seu SSL.
- Documentação Oficial: Consulte a documentação do Let’s Encrypt e do Certbot para informações mais detalhadas.
Conclusão:
Com este tutorial, você configurou um certificado SSL gratuito com Let’s Encrypt, garantindo a segurança do seu site e melhorando seu posicionamento nos mecanismos de busca. A renovação automática garante que seu site permaneça seguro sem intervenção manual. Lembre-se de adaptar os comandos e configurações para o seu ambiente específico.