Estaremos usando diferentes arquivos de configuração do servidor Nginx, pois ajuda a evitar os erros comuns e também ajuda a manter os arquivos de configuração padrão como uma opção de fallback.
Passo 1:
Como sempre, primeiro atualize seu APT.
$ sudo apt update
Passo 2:
Agora, atualize seu APT.
$ sudo apt upgrade
Etapa 3:
Agora, baixe e instale uma ferramenta de software Certbot que o ajudará a obter um certificado SSL de Let's Encrypt. Execute o seguinte comando de terminal para instalar o Certbot via APT.
$ sudo apt install certbot python3-certbot-nginx
Isso instalará o certbot, mas você ainda precisará configurar o arquivo de configuração Ngnix para a instalação do certificado SSL.
Passo 4:
Você deve configurar um bloco de servidor antes de passar para a próxima etapa, e é uma etapa necessária caso você esteja hospedando vários sites. Vamos criar um novo diretório no caminho “/ var / www” e deixar o diretório padrão intocado. Execute o seguinte comando para criar um novo diretório.
$ sudo mkdir -p / var / www / example.com / html
Etapa 5:
Agora forneça permissões de propriedade para este diretório por meio do seguinte comando de terminal.
$ sudo chown -R $ USER: $ USER / var / www / example.com / html
Etapa 6:
Agora certifique-se de que as permissões sejam concedidas executando o seguinte comando de terminal.
$ sudo chmod -R 755 / var / www / exemplo.com
Etapa 7:
Agora crie um índice.arquivo html usando seu editor de texto favorito, estou usando um editor de texto gedit.
$ sudo gedit / var / www / example.com / html / index.html
Adicione o seguinte texto dentro deste arquivo HTML.
Sucesso! O exemplo.bloco de servidor com está funcionando!
Salve e feche o arquivo.
Etapa 8:
Agora crie um novo arquivo de configuração no diretório de sites disponíveis usando seu editor de texto favorito executando o seguinte comando.
$ sudo gedit / etc / nginx / sites-available / example.com
Agora adicione o seguinte texto neste arquivo de configuração para o novo diretório e nome de domínio.
servidorescute 80;
ouvir [::]: 80;
root / var / www / example.com / html;
índice de índice.índice html.índice htm.nginx-debian.html;
server_name example.com www.exemplo.com;
localização /
try_files $ uri $ uri / = 404;
Salve e feche este arquivo para ter efeitos.
Etapa 9:
Agora, habilite o novo diretório para inicialização do Nginx por meio do seguinte comando de terminal.
$ sudo ln -s / etc / nginx / sites disponíveis / exemplo.com / etc / nginx / site-enabled /
Etapa 10:
Para evitar problemas de memória do intervalo de hash do nome do servidor, forneça um único valor no seguinte arquivo de configuração.
$ sudo gedit / etc / nginx / nginx.confAgora remova o sinal # da opção hash_bucket_size para descomentar. Salve e feche o arquivo.
Etapa 11:
Agora digite os dois comandos a seguir para remover erros de sintaxe e reiniciar o servidor Nginx.
$ sudo nginx -t$ sudo systemctl restart nginx
Etapa 12:
Agora, você precisa verificar e confirmar os arquivos de configuração do Nginx. Como o certbot precisa encontrar o bloco de servidor correto na configuração do Nginx, ele procura um server_name que corresponda ao domínio solicitado. Para verificar esses arquivos de configuração, digite o seguinte comando de terminal.
$ sudo nginx -t
Etapa 13:
Agora, atualize suas regras de firewalls UFW para permitir Nginx para permissões totais. Se você tiver quaisquer regras anteriores relacionadas ao servidor HTTP, exclua-as usando a opção UFW deny antes de adicionar o seguinte comando.
sudo ufw allow 'Nginx Full'
Etapa 14:
Agora chegamos ao ponto em que temos que instalar um certificado SSL usando o software certbot. Execute o seguinte comando de terminal.
$ sudo certbot --nginx -d example.com -d www.exemplo.com
Se você estiver usando o certbot pela primeira vez, será solicitado um endereço de e-mail e um prompt de termos e condições, concorde em fazê-lo e você poderá passar para a próxima etapa.
Etapa 15:
Agora você será solicitado a definir suas configurações de HTTPS, escolha as opções necessárias e pressione o botão Enter para continuar. O Certbot instalará todos os certificados necessários e atualizará os arquivos Nginx; o seu servidor irá recarregar com uma mensagem para lhe dizer que o seu processo foi bem sucedido.
Etapa 16:
Agora que instalou os certificados, você também deve certificar-se de que esses certificados sejam renovados automaticamente após um período específico. Execute os dois comandos de terminal a seguir para garantir a capacidade deste processo.
$ sudo systemctl status certbot.cronômetro$ sudo certbot renew --dry-run
Conclusão:
Até agora, cobrimos como construir um bloco de servidor separado em Nginx, instalar certificados usando a ferramenta de software Certbot dos servidores de autoridade de certificação Let's Encrypt e como aplicar um processo de renovação para essas certificações.