Ter um certificado SSL no seu site deixou de ser um diferencial, é o mínimo que se espera. E se você ainda tá pagando por isso, tem uma boa notícia: com o Let’s Encrypt, você consegue certificados SSL gratuitos, confiáveis e com renovação automática.
Se você usa Apache, Nginx ou qualquer servidor web com um domínio público, dá pra configurar tudo em poucos comandos.
📦 O que você vai precisar:
- Um servidor com Ubuntu / Debian / CentOS (ou derivados)
- Acesso root ou sudo
- Um domínio válido (ex: seudominio.com)
- Servidor web (Apache ou Nginx) já configurado
🧰 Etapa 1: Instalando o Certbot
O Certbot é a ferramenta oficial recomendada para gerar e renovar os certificados do Let’s Encrypt.
👉 Para Ubuntu/Debian:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Se estiver usando Apache:
sudo apt install certbot python3-certbot-apache
👉 Para CentOS/RHEL:
sudo dnf install epel-release
sudo dnf install certbot python3-certbot-nginx
🔐 Etapa 2: Gerar o certificado SSL
Com o servidor já apontando para o domínio (ex: Nginx ou Apache configurado), execute:
Para NGINX:
sudo certbot --nginx
Para Apache:
sudo certbot --apache
Se o seu servidor Apache ou Nginx hospeda múltiplos domínios, especifique qual deles deseja emitir o certificado usando a flag -d:
sudo certbot --apache -d seusite.com.brou
sudo certbot --nginx -d seusite.com.brIsso evita que o Certbot tente aplicar a configuração SSL no site errado ou em todos ao mesmo tempo.
O Certbot vai:
- Detectar o domínio
- Configurar automaticamente o SSL
- Criar o redirecionamento HTTP → HTTPS
- Instalar o certificado
Você vai ver algo como:
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/seudominio.com/fullchain.pem
O
certbot --apache
ou certbot --nginx
só consegue emitir o certificado se o domínio já estiver configurado no Apache e respondendo na porta 80.
Crie um arquivo de vhost como este:
<VirtualHost *:80> ServerName seusite.com.br DocumentRoot /var/www/html/seusite <Directory /var/www/html/seusite> AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/seusite_error.log CustomLog /var/log/httpd/seusite_access.log combined </VirtualHost>📂 Diretórios comuns de configuração de Virtual Hosts
- Apache (httpd): /etc/httpd/conf.d/
- Apache: /etc/apache2/sites-available/
- Nginx: /etc/nginx/conf.d/
- Nginx: /etc/nginx/sites-available/
Depois, reinicie o Apache:
sudo systemctl restart httpd
Caso esteja usando o sites-avaliable ative o vhost:
sudo a2ensite seusite.com.br.conf
sudo systemctl reload apache2
Isso garante que o Certbot reconheça o domínio e configure automaticamente o HTTPS.
🔄 Etapa 3: Configurar renovação automática
O Let’s Encrypt emite certificados com validade de 90 dias, mas o Certbot já cuida da renovação.
Verifique o agendamento automático (via cron ou systemd):
sudo certbot renew --dry-run
Se tudo estiver certo, você verá:
Congratulations, all renewals succeeded.
⏱ Cron Job alternativo (opcional)
Se quiser garantir que o processo rode com mais frequência (caso sua distro não crie o agendamento automático), adicione isso no crontab:
sudo crontab -e
E insira:
0 2 * * * certbot renew --quiet
Isso roda a renovação todos os dias às 2h da manhã.
Mesmo que o certificado só precise ser renovado a cada 90 dias, rodar o comando diariamente garante que o processo aconteça no momento certo, sem surpresas. O
certbot renew
apenas renova se o certificado estiver perto de expirar, evitando falhas inesperadas ou esquecimentos. É uma prática simples que evita muita dor de cabeça.
✅ Testar HTTPS
Depois de tudo pronto, acesse seu site com https://seudominio.com
Se quiser verificar o status do certificado:
sudo certbot certificates
📎 Conclusão
Usar HTTPS não precisa ser complicado. Com o Let’s Encrypt + Certbot, você instala um certificado SSL gratuito e ainda garante a renovação automática sem dor de cabeça.
É uma daquelas soluções que “simplesmente funcionam” e melhoram a segurança do seu projeto sem te custar nada.
