Deploy de um Projeto PHP na DigitalOcean - Parte 4 - Configurando Certificado SSL no Servidor
Este é o artigo final de nossa série sobre o deploy de uma aplicação PHP na DigitalOcean. Você pode conferir os outros artigos desta série nos links abaixo:
Parte 1 - Criando, Configurando e Acessando o Servidor
Parte 2 - Instalando e Configurando o MySQL
Parte 3 - Configurando Domínio Personalizado Usando Servidor DNS
Neste último artigo iremos realizar a configuração de um certificado SSL em nosso servidor. É interessante realizar essa configuração pois com ela ganhamos um melhor rankeamento nos sites de busca, garantimos uma navegação mais segura para nossos usuários e aumentamos de forma geral a credibilidade de nosso projeto.
Atualmente nosso site está sendo apresentado conforme a imagem abaixo:
Note que ele é apresentado como “Não Seguro”. O objetivo deste artigo é realizar as configurações para que o famoso “cadeado verde”, que indica uma conexão HTTPS, seja definido na URL.
Para realizar essa configuração iremos utilizar os serviços de uma autoridade de certificação chamada Let’s Encrypt, conhecida por fornecer certificados SSL de maneira gratuita. Assim, não precisaremos pagar para realizar essa configuração ?.
Configuração Inicial no Servidor
A primeira coisa que iremos fazer é atualizar os pacotes que já baixamos com o comando sudo apt-get update.
Em seguida iremos instalar dois pacotes necessários para a criação de nosso certificado SSL no Nginx. Realizaremos seus downloads por meio do seguinte comando:
sudo apt-get install certbot python3-certbot-nginx -y
A partir de agora nosso servidor irá receber o acesso através do protocolo HTTPS. Pode ser que nosso firewall não o esteja permitindo. Para garantir que nenhum erro relacionado a isso ocorra, vamos garantir que esse protocolo seja reconhecido. Primeiro precisamos habilitar nosso firewall. Faremos isso com o comando abaixo:
sudo ufw enable
Em seguida vamos liberar todos os protocolos para o Nginx. Para isso usaremos o seguinte comando:
sudo ufw allow 'Nginx Full'
Excelente! Nosso servidor está pronto para a geração de nosso certificado SSL.
Gerando Certificado SSL
Geraremos o certificado com o seguinte comando:
sudo certbot --nginx -d myapp.dev.br -d www.myapp.dev.br
Note que informamos a URL de nosso site com e sem o “www”. Você deve fazer o mesmo, mas com o domínio de seu projeto.
Após executar esse comando iremos responder algumas perguntas, que irão ser usadas para a geração do certificado.
A primeira opção é o nosso endereço de email. Ele é necessário para qualquer tipo de contato relacionado a mudanças no certificado ou então avisos de segurança.
A próxima pergunta será quanto se aceitamos os Termos de Serviço do Let’s Encrypt. Podemos pressionar “A” para informar que concordamos e pressionar Enter.
A seguir iremos responder se desejamos compartilhar nosso endereço de email com a Electronic Frontier Foundation, fundação responsável pelo desenvolvimento do Certbot, o pacote que estamos usando para criar nosso certificado. Podemos responder “Y” para “sim” ou “N” para não e então pressionar Enter.
A próxima configuração que iremos realizar é se o nosso servidor deverá redirecionar automaticamente as requisições em HTTP para HTTPS. Nós desejamos que isso ocorra. Assim, iremos pressionar “2” e pressionar Enter:
Após essa etapa a criação do certificado será iniciada:
Em alguns instantes veremos a seguinte mensagem:
Agora, ao acessar o arquivo sites-enabled/myapp.dev.br.conf, veremos as seguintes linhas de configuração no final de seu conteúdo:
Essas novas configurações foram definidas pelo Certbot. Podemos dizer que ele fez esse trabalho para nós, não precisamos alterar nada neste arquivo.
Por fim, precisamos reiniciar o servidor do Nginx com o comando sudo service nginx restart.
Agora, ao acessar o endereço https://myapp.dev.br, vemos o seguinte resultado:
Incrível! Nosso site está sendo apresentado com o certificado SSL definido, e agora o “cadeado verde” está sendo exibido. Podemos dizer que nosso projeto está completo! ?
Além disso, quando analisamos as tecnologias do projeto, veja que o PHP 8 é também exibido:
Conclusão
Nesta série de artigos aprendemos como realizar o deploy completo de uma aplicação já em PHP 8 na DigitalOcean, por meio de configurações no servidor Ubuntu. Esperamos que esses artigos possam te ajudar a configurar o deploy de seus projetos pessoais ou profissionais.
Se você gostou deste conteúdo, por favor compartilhe com outras pessoas, isso ajuda muito o nosso trabalho. Não deixe de conferir também nosso Curso Completo de PHP 7, onde ensinamos a criar este incrível projeto que acabamos de realizar o deploy.
A gente se vê em um próximo artigo, até lá :)