Logo Deploy de um Projeto PHP na DigitalOcean - Parte 3 - Configurando Domínio Personalizado Usando Servidor DNS

Deploy de um Projeto PHP na DigitalOcean - Parte 3 - Configurando Domínio Personalizado Usando Servidor DNS

Este é o terceiro artigo de nossa série sobre o deploy de uma aplicação em PHP na DigitalOcean. Você pode conferir os outros dois artigos da série nos links abaixo:

Parte 1 - Criando, Configurando e Acessando o Servidor

Parte 2 - Instalando e Configurando o MySQL

No último artigo nós realizamos todas as configurações necessárias para que nosso projeto funcione em produção. Entretanto, percebemos que ainda precisamos informar o IP de nosso servidor para acessar o projeto, conforme podemos ver na imagem abaixo:

Projeto sendo acessado pelo IP

Sem dúvidas ter um domínio personalizado para realizar o acesso ao projeto é muito melhor. E esse é o objetivo deste artigo: configurar um domínio personalizado para nossa aplicação por meio de um servidor DNS.

Para realizar essa configuração, precisamos ter adquirido um domínio, que pode ser comprado em vários sites de registro de domínios. Em nosso caso, iremos configurar o domínio myapp.dev.br, adquirido no site registro.br.

Criando um Virtual Host no Nginx

Uma configuração inicial que podemos realizar é no Nginx. Iremos criar um servidor virtual (Virtual Host) para que possamos acessar o projeto através de um nome, uma URL. Iremos acessar a pasta de configuração do Nginx, usando o comando abaixo:

cd /etc/nginx/sites-available/

Dentro deste diretório há um arquivo chamado default, que nós inclusive já realizamos algumas configurações em posts anteriores. Nós iremos criar uma cópia deste arquivo, mas com o nome do domínio que desejamos definir no projeto. Faremos isso com o seguinte comando:

sudo cp default myapp.dev.br.conf

Note que informamos o nome do domínio com o sufixo “.conf”. Iremos agora editar esse arquivo com o comando sudo nano myapp.dev.br. Dentro deste arquivo, iremos procurar pela diretiva server_name e iremos defini-la da seguinte forma:

server_name myapp.dev.br www.myapp.dev.br;
Definindo servidor no arquivo de configuração do Nginx

Note que informamos o nome de nosso domínio duas vezes, por meio do prefixo “www” também, para que possamos acessá-lo dessas duas maneiras.

É importante também ter certeza de que o caminho informado na diretiva root seja o caminho correto para o nosso projeto:

Caminho informado para o projeto

Podemos salvar e sair deste arquivo.

A seguir iremos permitir que esse novo Virtual Host criado seja identificado pelo Nginx. Para isso, iremos criar um link deste arquivo de configuração no diretório sites-enabled do Nginx. Iremos usar o seguinte comando:

sudo ln -s /etc/nginx/sites-available/myapp.dev.br.conf /etc/nginx/sites-enabled/

Como estamos realizando a definição de mais de um Virtual Host em nosso servidor, podemos nos deparar com algum erro relacionado à memória dele. Para evitar esse problema, vamos realizar mais uma configuração. Vamos acessar o arquivo de configuração principal do Nginx com o comando sudo nano /etc/nginx/nginx.conf. Dentro deste arquivo, vamos procurar pela diretiva server_names_hash_bucket_size. Ela provavelmente estará com um # (hashtag) antes de seu nome. Vamos retirar esse sinal, para que essa configuração seja reconhecida:

Retirando comentário do arquivo de configuração

Uma última configuração que podemos realizar é alterar os hosts locais de nosso servidor. Isso não é obrigatório neste momento, pois possuímos apenas um projeto hospedado em nosso servidor. Contudo, se possuíssemos mais de um, essa configuração se tornaria muito necessária. Por isso, vamos defini-la neste momento. Iremos primeiramente acessar o arquivo de hosts usando o comando sudo nano /etc/hosts. Dentro deste arquivo, vamos adicionar uma nova linha de configuração, com o IP de nosso servidor e em seguida o nome de nosso domínio:

167.172.128.137 myapp.dev.br www.myapp.dev.br
Definindo o domínio no arquivo de hosts

Note que mais uma vez adicionamos o nosso domínio usando o nome principal e depois o mesmo nome com o prefixo “www”. Após salvar este arquivo, podemos reiniciar o serviço do Nginx com o comando sudo service nginx restart. Se nenhum erro for retornado, significa que deu tudo certo 😄.

Criando Nosso Domínio na DigitalOcean

A configuração em nosso servidor foi concluída. Contudo, apenas isso não é o bastante para que o domínio personalizado seja identificado no navegador. Para concluir essa configuração, precisamos adicionar nosso domínio também nas configurações da DigitalOcean, e é exatamente isso o que iremos fazer agora.

Vamos voltar no painel administrativo da DigitalOcean e acessar o dashboard do nosso projeto. Na área Droplets iremos visualizar o nome de nosso servidor Ubuntu. Iremos clicar nos três pontos e então na opção “Add a domain”:

Adicionando domínio ao projeto na DigitalOcean

Na página seguinte veremos um novo painel para adicionarmos domínios ao nosso projeto. No campo “Enter domain” iremos informar o nosso domínio personalizado (myapp.dev.br). Iremos selecionar o nosso projeto ubuntu no segundo campo e então clicaremos em “Add Domain”:

Adicionando um novo domínio à DigitalOcean

Com isso nosso domínio principal estará adicionado. Entretanto, lembra que falamos sobre a importância de adicionar o prefixo “www” ao projeto? Vamos fazer isso também no painel da DigitalOcean. Para isso, vamos clicar no nome de nosso domínio recém-adicionado:

Link de nosso novo domínio

Na página a seguir veremos os vários registros de nosso domínio. Na área “Create new record”, vamos selecionar a opção “CNAME” na parte superior do painel. Na opção “Hostname”, iremos informar apenas “www”. Na opção “Is an alias of”, iremos informar o nome de nosso domínio principal com um ponto em seu final: myapp.dev.br. Após isso, basta clicar em Create Record:

Adicionando novo registro ao nosso domínio

Com isso nosso domínio estará criado na DigitalOcean.

Adicionando DNS no registro.br

Agora que nosso domínio foi criado na DigitalOcean, o último passo é relacioná-lo com o servidor DNS do site onde compramos o nosso domínio. Em nosso caso, iremos editar o servidor DNS do registro.br.

O primeiro passo é identificar os servidores DNS da DigitalOcean. Podemos ver essa informação no painel de registros de nosso domínio, conforme estão na imagem abaixo:

Servidores DNS na DigitalOcean

Notou os três servidores grifados? São esses registros que iremos adicionar ao registro.br.

Vamos agora acessar a administração deste site e escolher o nosso domínio:

Lista de domínios no registro.br

Vamos clicar na opção “Alterar Servidores DNS” e então adicionar os servidores disponíveis na DigitalOcean. Após isso, basta clicar em “Salvar Dados”:

Adicionando servidores DNS da DigitalOcean ao registro.br

Com isso nossa configuração estará finalizada. Neste momento o registro.br iniciará a propagação das mudanças de nosso servidor DNS. Esse processo pode levar alguns minutos, até mesmo uma hora.

Contudo, após alguns momentos, poderemos acessar o endereço myapp.dev.br em nosso navegador, e veremos o seguinte resultado:

Sensacional! Nosso site foi encontrado, mas agora definido com um domínio personalizado 🎉.

Conclusão

Neste artigo definimos um domínio personalizado para nosso projeto e podemos dizer que nosso site está quase finalizado, pois falta apenas mais uma configuração. Um domínio personalizado já dá mais credibilidade a um site. Da mesma forma um certificado SSL, que nos garante maior segurança e direito ao famoso “cadeado verde” na URL, sem dúvidas dá muito mais credibilidade. E é exatamente essa configuração que iremos realizar no próximo artigo: adicionar um certificado SSL ao servidor na DigitalOcean.

No vemos no próximo artigo :)


Veja Também


Fique por dentro das novidades da Hcode

Fique por Dentro!

Seja avisado no seu e-mail quando um novo post for lançado no blog da Hcode.