Para ativar o HTTPS em seu site, você precisa obter um certificado ( um tipo de arquivo ) provido por uma Autoridade Certificadora ( AC ). A Let’s Encrypt é uma AC gratuita, automatizada e aberta. Utilizaremos a ferramenta Certbot para instalar o certificado SSL da Let’s Encrypt.
Este exemplo foi testado usando ssh Ubuntu 20.04 e Apache em um servidor na Digital Ocean.
1. SSH
faça o login no servidor onde o seu site HTTP está hospedado usando um usuário com privilégios sudo.
2. snapd
Execute as instruções abaixo na linha de comando na máquina para ter certeza que tem a última versão do snapd.
$ sudo snap install core; sudo snap refresh core
3. Instalação do Certbot
Execute este comando na linha de comando da máquina para instalar Certbot.
$ sudo snap install --classic certbot
4. Prepare o comando Certbot
Execute a instrução a seguir na linha de comando na máquina para se assegurar de que o comando certbot possa ser executado.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
5. Escolha como você gostaria de executar o Certbot. Obtenha e instale seus certificados …
Execute este comando, substituindo wvieira.com.br pelo seu domínio, para obter um certificado e fazer com que o Certbot edite sua configuração do Apache automaticamente, ativando o acesso HTTPS em uma única etapa.
$ sudo certbot --apache -d wvieira.com.br -d www.wvieira.com.br
Ou, apenas obtenha um certificado
Se você está se sentindo inseguro e gostaria de fazer as alterações na configuração do seu Apache manualmente, execute este comando.
$ sudo certbot certonly --apache -d wvieira.com.br -d www.wvieira.com.br
6. Teste a renovação automática
O pacote Certbot no seu sistema já vem com um cron job ou systemd timer que irá renovar seus certificados automaticamente antes que eles expirem. Você não precisará executar Certbot novamente, a menos que você altere suas configurações. Agora você pode testar a renovação automática dos seus certificados executando este comando :
$ sudo certbot renew --dry-run
O comando para renovar o certificado usando certbot está instalado em um dos seguintes locais :
/etc/crontab/
/etc/cron.*/*
systemctl list-timers
No meu caso há um timer do systemd em execução :
7. Confirme que o Certbot funcionou
Para confirmar que o seu site está configurado corretamente, visit https://seusite.com.br/ no seu navegador e procure pelo ícone de cadeado na barra URL.
Você pode também acessar o site SSL Server Test e informar o seu domínio para efetuar uma análise mais profunda nas configurações de SSL do seu site.