Agora que você tem um website, é extremamente importante habilitar conexões criptografadas via HTTPS/SSL. Você pode não ter ideia do que isso significa, mas é fácil de fazer agora que configuramos nosso webserver.
Certbot é um programa que automaticamente gera e configura certificados que permitem conexões criptografadas. Antigamente era complicado e caro fazer isso, mas agora é fácil, gratuito e automático.
livreware.org
, mas ele não sabe que você viu a página livreware.org/basico/certbot.html
.Perceba nessa foto o símbolo do cadeado com um traço no meio. Seu navegador vai te avisar de várias formas que sua conexão não é segura, então vamos consertar isso.
Rode o comando:
apt install python3-certbot-nginx
Isso irá instalar Certbot e seu módulo para nginx
.
Firewalls podem interferir no funcionamente do Certbot, caso haja um instalado. Então você deve ou disabilitar o firewall, ou garantir que as portas 80 e 443 estão abertas.
ufw allow 80
ufw allow 443
Agora vamos rodar o Certbot:
certbot --nginx
Esse comando vai te pedir por um email. Isso serve para que, quando os certificados precisarem ser renovados em 3 meses, você vai receber um email sobre isso. Nós vamos confirgurar os certificados para renovar automaticamente, mas é uma boa ideia checar a primeira vez para garantir que funcionou. Você pode evitar dar seu email rodando o comando com a opção --register-unsafely-without-email
.
Digite "Y" para concordar com os termos, e opcionalmente dê seu email para a EFF (eu recomendo não dar).
Após isso, você deverá escolher para quais domínios você quer um certificado. Pressione Enter para escolher todos.
Feito isso, todas as conexões para o seu site agora usarão HTTPS. Você pode testar isso indo para o seu site, que agora deverá mostar no cadeado que há uma conexão segura.
Certificados do Certbot duram apenas 3 meses, para renová-los, basta rodar o comando certbot --nginx renew
e ele renovará todos os certificados que estão perto de expirar.
Fazer isso manualmente é tedioso, então vamos automatizar esse process via um cronjob. Rode o seguinte comando:
crontab -e
Talvez apareça um menu perguntando qual editor de texto você quer usar. Caso não saiba usar vim
, escolha nano
, a primeira opção.
O comando crontab
irá abrir um arquivo que você pode editar. Uma crontab é uma lista de comandos que o computador vai realizar automaticamente em certas horas. Nós vamos usar isso para que o servidor tente renovar os certificados todos os meses, para que você não precise fazer manualmente.
Crie uma nova linha no final do documento e escreva o seguinte:
0 0 1 * * certbot --nginx renew
Salve o arquivo e feche-o para ativar o cronjob.
Você agora tem um site na internet, faça o que quiser com ele!
Conforme você adiciona conteúdo ao seu site, você também pode instalar diversas outras coisas no seu servidor. Tutoriais para vários serviços estão listados na página principal, assim como outras dicas e melhorias.