Deploy de um Projeto PHP na DigitalOcean - Parte 4 - Configurando Certificado SSL no Servidor

27 de julho de 2022
Ronaldo B.

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:

Nosso site sendo exibido como não seguro

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.

Opção de informar o email para o certificado SSL

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.

Opção de aceitar os Termos de Serviço do Let’s Encrypt

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.

Opção de compartilhar nosso email com a Electronic Frontier Foundation

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:

Opção sobre redirecionamento de HTTP para HTTPS

Após essa etapa a criação do certificado será iniciada:

Certificado SSL sendo criado

Em alguns instantes veremos a seguinte mensagem:

Mensagem de sucesso na criação do certificado SSL

Agora, ao acessar o arquivo sites-enabled/myapp.dev.br.conf, veremos as seguintes linhas de configuração no final de seu conteúdo:

Configurações no arquivo de nosso site

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:

Nosso projeto com o Certificado SSL

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á :)

Hcode: Utilizamos cookies para a personalização de anúncios e experiências de navegação dentro de nosso site. Ao continuar navegando, você concorda com as nossas Política de Privacidade.