Neste tutorial, você aprenderá a instalar um certificado SSL gratuito da Let’s Encrypt em seu servidor Ubuntu ou Debian, garantindo que seu site seja acessado com HTTPS de forma segura.
O que é Let’s Encrypt?
O Let’s Encrypt é uma Autoridade Certificadora (CA) gratuita que permite que você emita certificados SSL/TLS para proteger sites e aplicativos, garantindo conexões seguras.
Pré-requisitos
- Servidor Ubuntu ou Debian: Com acesso SSH.
- Domínio registrado: Com o DNS configurado para apontar para o servidor.
- Servidor web instalado: Nginx ou Apache.
- Acesso como usuário com privilégios sudo.
Passo 1: Atualizar os Pacotes do Servidor
Certifique-se de que o servidor está atualizado:
sudo apt update && sudo apt upgrade -y
Passo 2: Instalar o Certbot
O Certbot é a ferramenta usada para gerar e gerenciar certificados SSL.
Para Nginx:
sudo apt install certbot python3-certbot-nginx -y
Para Apache:
sudo apt install certbot python3-certbot-apache -y
Passo 3: Configurar o Servidor Web
Antes de instalar o certificado, o site deve estar configurado no Nginx ou Apache.
Configuração para Nginx:
Edite ou crie o arquivo de configuração do seu domínio:
sudo nano /etc/nginx/sites-available/meusite.com
Adicione a configuração básica:
server {
listen 80;
server_name meusite.com www.meusite.com;
root /var/www/meusite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Salve e habilite a configuração:
sudo ln -s /etc/nginx/sites-available/meusite.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Configuração para Apache:
Edite ou crie o arquivo de configuração do seu domínio:
sudo nano /etc/apache2/sites-available/meusite.com.conf
Adicione a configuração básica:
<VirtualHost *:80>
ServerName meusite.com
ServerAlias www.meusite.com
DocumentRoot /var/www/meusite
<Directory /var/www/meusite>
AllowOverride All
</Directory>
</VirtualHost>
Salve e habilite a configuração:
sudo a2ensite meusite.com.conf
sudo systemctl reload apache2
Passo 4: Obter o Certificado SSL
Use o Certbot para gerar o certificado. O processo é simples e automatizado.
Para Nginx:
sudo certbot --nginx -d meusite.com -d www.meusite.com
Para Apache:
sudo certbot --apache -d meusite.com -d www.meusite.com
- Certbot perguntará:
- Se deseja redirecionar HTTP para HTTPS. Escolha 2 para redirecionar automaticamente.
Passo 5: Verificar o Certificado
Após a instalação, você pode verificar se o certificado está ativo acessando:
https://meusite.com
Outra forma de verificar é executando:
sudo certbot certificates
Passo 6: Configurar a Renovação Automática
Os certificados do Let’s Encrypt expiram em 90 dias. Configure a renovação automática com o cron:
- Edite o cron:
sudo crontab -e
- Adicione a seguinte linha ao final do arquivo:
0 0,12 * * * certbot renew --quiet
Isso renova os certificados automaticamente duas vezes ao dia.
Passo 7: Testar a Renovação
Teste se a renovação está funcionando corretamente:
sudo certbot renew --dry-run
Se não houver erros, a renovação está configurada.
Passo 8: Configurar Redirecionamento Manual (Opcional)
Se você não configurou o redirecionamento para HTTPS, pode fazer manualmente.
Para Nginx:
Adicione esta linha ao bloco server
:
return 301 https://$host$request_uri;
Para Apache:
Edite o arquivo .htaccess
no diretório do seu site:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Passo 9: Monitorar o Certificado
Use ferramentas como SSL Labs para testar o certificado e garantir que ele está funcionando corretamente.
Com este tutorial, você instalou e configurou um certificado SSL gratuito com Let’s Encrypt, protegendo seu site com HTTPS. Caso tenha dúvidas ou precise de mais informações, é só perguntar! 🚀