Configurando um VPS para hospedagem de site – Parte 5: Zona DNS

A configuração correta do DNS é essencial para o funcionamento de qualquer servidor. Quando digitamos um endereço de página no navegador de internet é pelo mapeamento DNS que o nosso site será encontrado.

Mostrarei abaixo como fazer a configuração simples da Zona DNS para um domínio, mas a mesma pode ser usada para vários domínios no mesmo servidor.

* Use a tabela DNS da sua conta na DigitalOcean para facilitar a configuração. Assine a DigitalOcean por apenas $5 dólares mensais, VPS com IP dedicado e SSD.

Configurando a tabela da Zona DNS

* Aprenda como instalar um servidor completo num VPS com Linux, Painel de Controle e Servidor de Email, clique aqui para acessar o tutorial.

Adicione o domínio criando a tabela

Se estiver usando o painel da DigitalOcean clique em “Networking” → “Domains” e na caixa “Add a Domain” digite:

» Domain: <– seudominio.com.br (substitua pelo seu domínio e digite sem “www” ou qualquer outro subdomínio, os subdomínios serão adicionados à tabela do domínio principal)

» IP Address: <– IP_DO_SERVIDOR (digite o IP do seu servidor, ou se estiver configurando a tabela na DigitalOcean, escolha o Droplet na lista)

» Clique em “Create Record

2 Configure os registros básicos

Alguns registros são necessários para o funcionamento básico da tabela, siga atentamente e sempre leia as observações. Explicarei para que serve cada um dos registros e como criá-los na tabela. Sempre observe o “Tipo” de cada um.

A Registro de domínio principal: Para designar a base do domínio ao IP. Inserindo este registro na tabela o seu site poderá ser acessado sem subdomínio “www” e ainda servirá como alias para outros registros na tabela. (Se estiver criando a tabela na DigitalOcean este registro já foi adicionado automaticamente)

» Select Record Type (Tipo): <– A

» Enter Name: <– @

» Enter IP Address: <– IP_DO_SERVIDOR (digite o IP do seu servidor)

B Registros NS: Se  a tabela DNS foi criada na Digital Ocean o sistema inseriu automaticamente 3 registros NS apontando para os servidores deles, eles são necessários. (Se estiver escrevendo a tabela em outro hosting verifique com eles a necessidade destes registros, na CloudFlare por exemplo não há necessidade)

» ns1.digitalocean.com

» ns2.digitalocean.com

» ns3.digitalocean.com

* Para aprender a criar registros customizados (Vanity NameServers) siga o tutorial neste link

C Registro de subdomínio www: O seu site pode ser acessado pelo nome de dominio mas o correto é criar também um registro para o subdomínio “www”, pois a maioria das pessoas pensam que isso é necessário para acessar páginas e irão digitar desta forma para acessá-lo.

» Select Record Type (Tipo): <– A

» Enter Name: <– www

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

* Poderiamos usar CNAME para o tipo deste registro mas usaremos Tipo A sempre que possível, pois CNAME são mais usados em casos de apontamento para nomes de domínios externos ao servidor.

3 Registros para o Servidor de Email

Durante meses procurei informações para chegar numa configuração otimizada para entrega de mensagens na caixa de entrada, os registros necessários são estes:

A Subdomínio para o servidor de email reverso: Muito importante para entrega de emails. Esse subdomínio deverá ser inserido somente na tabela DNS do domínio principal do servidor, aquele responsável pelo nome do VPS.

* Por exemplo, quando criamos o VPS na DigitalOcean ensinei que deve-se usar um subdomínio de prefixo ao nome do domínio para melhor entrega de emails. Em nosso caso criamos o VPS com o nome cp.seudominio.com.br, esse prefixo “cp” deverá ter um registro Tipo A na tabela do domínio seudominio.com.br e somente nele, nos demais não há necessidade.

» Select Record Type (Tipo): <– A

» Enter Name: <– cp

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

B Subdomínio de email POP: Quando configuramos um cliente de email externo podemos acessar as mensagens do servidor usando o protocolo POP3 por um endereço pop.seudominio.com.br, para habilitar isso adicione o registro.

» Select Record Type (Tipo): <– A

» Enter Name: <– pop

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

C Subdomínio de email SMTP: Da mesma forma que configuramos o acesso por um cliente de email ao POP do servidor podemos definir um acesso SMTP para envios smtp.seudominio.com.br.

» Select Record Type (Tipo): <– A

» Enter Name: <– smtp

» Enter IP Address: <– IP_DO_SERVIDOR

» Clique em “Create A Record

* Aprenda a configurar clientes de email seguindo este tutorial.

D Registro MX: O registro MX será responsável por receber todos os emails que chegam e redirecioná-los ao servidor designado, que em nosso caso é cp.seudominio.com.br. Por exemplo, poderíamos configurar a tabela DNS de um segundo domínio e, mesmo que fosse em outro VPS, enviá-los para o servidor cp.seudominio.com.br

» Select Record Type (Tipo): <– MX

» Enter HostName: <– cp.seudominio.com.br. (note o ponto no final)

» Enter Priority: <– 5

» Clique em “Create MX Record

* Você pode hospedar “n” domínios no mesmo VPS e configurar as caixas de emails para eles, mas para cada tabela de domínio insira este mesmo endereço (que é o FQDN do VPS). Exemplo: digamos que você esteja configurando um segundo domínio chamado fatorbinario.pw, então no registro MX daquela tabela deve-se usar cp.seudominio.com.br

D Registro DKIM: O DKIM (DomainKeys Identified Mail) assina os emails enviados a partir do servidor usando uma chave criptografada e garante que a conta está devidamente autenticada para envio.

» Select Record Type (Tipo): <– TXT

» Enter Name: <– mail._domainkey.seudominio.com.br. (note o ponto no final. este formato foi definido em nosso tutorial de DKIM, pode ser diferente se você estiver configurando uma chave DKIM externa, exemplo: Zoho Mail, mas sempre coloque um ponto no final mesmo se o serviço externo não solicitar)

» Enter Text: <– “v=DKIM1; k=rsa; p=MIGfMA0GCS….” (a chave DKIM é bem grande, não coloquei ela toda aqui. Mas deve-se colar a chave toda e sempre entre aspas duplas)

» Clique em “Create TXT Record

O tutorial completo de como configurar o DKIM no servidor pode ser encontrado neste link

E Registro ADSP – DKIM Auxiliar: O ADSP (Author Domain Signing Practices) é um registro auxiliar ao DKIM que serve para  atestar que o autor (campo “From:” do email) é o mesmo que está enviando a mensagem, mesmo se houverem mais endereços no campo.

» Select Record Type (Tipo): <– TXT

» Enter Name: <– _adsp._domainkey.seudominio.com.br. (note o ponto no final. O prefixo _adsp não pode ser reconfigurado)

» Enter Text: <– “dkim=all” (entre aspas duplas)

» Clique em “Create TXT Record

F Registro SPF: “Sender Policy Framework” é usado para combater falsificações de retorno de email (Return-Path). Adicionando este registro, spoofers e spammers não conseguirão forjar seu endereço de email facilmente, pois teremos um Return-Path certificado no cabeçalho das mensagens enviadas.

» Select Record Type (Tipo): <– TXT

» Enter Name: <– @

» Enter Text: <– “v=spf1 ip4:IP_DO_SERVIDOR ~all” (substitua IP_DO_SERVIDOR pelo IP do VPS. IMPORTANTE: Note o sinal de ~ “til” softfail. Em alguns tutoriais você encontra esse registro com sinal de – “menos” que significa hardfail, para melhor entrega mantenha como softfail)

» Clique em “Create TXT Record

G Registro DMARC: “Domain-based Message Authentication, Reporting, and Conformance” é um relatório enviado à empresa que irá receber o email atestando que os registros DKIM e SPF estão em conformação com as regras de envio e os emails devidamente autenticados. A recebedora (exemplo: Gmail, Hotmail, Yahoo, etc..) repassará o email ao destinatário e, opcionalmente, emitirá um relatório diário ao responsável pelo domínio com todas as mensagens recebidas.

» Select Record Type (Tipo): <– TXT

» Enter Name: <– _dmarc.seudominio.com.br. (note o ponto no final. O prefixo _dmarc não pode ser reconfigurado)

» Enter Text: <– “v=DMARC1; p=none; pct=100; aspf=r;” (registros TXT sempre entre aspas duplas)

» Clique em “Create TXT Record

* No campo text do registro pode-se adicionar, opcionalmente,  um email de retorno que receberá um relatório diário dos envios, neste caso adicione o parâmetro “rua” desta maneira (o email de retorno pode ser qualquer um, mas para melhor certificação defina uma conta no próprio domínio de envio): “v=DMARC1; p=none; pct=100; rua=mailto:[email protected]; aspf=r;”

  • Repita os passos acima para configurar outros domínios, com exceção do registro Tipo A “cp” do servidor de email (passo 3A) que deverá ser adicionado somente ao domínio principal. Lembre-se que “cp” é o prefixo do nome dado ao VPS.
  • Um screenshot de exemplo pode ser visto neste link.
NOTAS:

O seu domínio não acessará a tabela DNS criada acima automaticamente. Para isso você deverá apontar os NameServers em seu REGISTRAR (empresa onde você comprou o domínio) e aguardar a propagação de DNS que leva de 24 a 48 horas.

Para verificar a propagação use esta ferramenta: https://www.whatsmydns.net/#NS/ (digitando seu domínio).

Você pode ter a tabela DNS do seu domínio configurada em “n” diferente hostings mas somente a que estiver apontada pelos NameServers do seu REGISTRAR é que estará ativa.

Se quiser analisar os relatórios DMARC (opcional) acesse este tutorial.

Gestão em infraestrutura de Servidores Cloud VPS e Dedicados. Planos mensais acessíveis e consultoria diferenciada para agências de marketing.
Envie um email para [email protected] e solicite uma análise gratuita!

  • Bruno

    Boa tarde. é possível instalar o whm/cpanel nesse VPS?

  • fatorbinario

    Sim. Na realidade em nosso tutorial você irá notar que instalamos o Linux Ubuntu, significando que qualquer ferramenta Linux pode ser colocada em seu servidor. Por exemplo, as pessoas podem simplesmente instalar o básico e usar como servidor de arquivos online, pelos mesmos 5 dólares.

    Mas entenda que tanto o cPanel quanto o WHM são ferramentas pagas, o cPanel tem um custo mensal de aproximadamente 30 dólares. Quando você aluga uma hospedagem tipo Hostgator eles têm uma licença para vários clientes e instalam whm/cPanel automaticamente.

    A grande vantagem de aprender a configurar o próprio VPS é que futuramente você pode transformar a instalação numa revenda de sites. Pagará somente U$ 5/mensais e revende para vários domínios. E ainda com a vantagem na Digital Ocean de poder migrar o seu servidor para configurações mais robustas com poucos cliques.

    No capítulo 10, que estou escrevendo, vou mostrar como fazer para hospedar multisite no mesmo IP.

    Pense num VPS como sendo um servidor Linux que você teria em casa, mas com uma banda de 100mbps.

  • fatorbinario

    Foi adicionado uma nova entrada ao registro DNS do tutorial. Para quem estava tendo problemas de os emails serem enviados para SPAM, basta adicionar aquele registro TXT (logo abaixo da entrada MX no Passo 3).

    Se a entrada não for incluída o cabeçalho que o Google recebe falha ao tentar identificar o SPF.

    *Digitem o texto com as aspas duplas conforme mostrado acima. (Poderá levar algumas horas para a alteração fazer efeito)

  • Yuri Pereira

    Olá. Está funcionando a configuração bem.
    Sendo que alguns e-mails enviados direto do WordPress, como através de plugins está chegando como SPAM, e alguns até não chegam.
    Poderia me dar algum help?

  • fatorbinario

    Você adicionou a entrada no DNS conforme descrito acima?

    Importante: Na Parte 8 deste tutorial iremos configurar o servidor de email, e para que os seus emails enviados não sejam marcados como SPAM adicione a seguinte entrada. Clique em “Add Record” e escolha “TXT“. Em “Enter Name” digite [email protected] (arroba – sem aspas) e no campo “Enter Text” digite “v=spf1 mx ~all” (COM AS ASPAS DUPLAS).

    O meu também era enviado como SPAM mas quando adicionei esta entrada o problema foi solucionado. Essa é a mesma solução adotada pela maioria das pessoas globalmente. Adicione a entrada e aguarde algumas horas, e clique em “não é spam” se você tem algum na sua caixa de entrada.

    É importante ressaltar ainda que a Digital Ocean é contra emails em massa (spam) e eles filtram isso, o que não deve ser o seu caso.

  • fatorbinario

    Saiu o tutorial com o ISPConfig. Confere na capa do site.

  • fatorbinario

    Publicado o tutorial como configurar assinatura DKIM no servidor de email.

    https://fatorbinario.com/linux-como-autenticar-emails-com-dkim-e-postfix/

  • Tenho uma dúvida. Adicionando a configuração em “TXT” na D.Ocean seria possível posteriormente usar PHPMailer para usar a funçao de enviar email (resposta automatica) ou interface back-end pelo administrador?

  • O tipo de registro TXT no DNS pode ser usado para várias funcionalidades, mas não sei se nesse caso haveria necessidade.

    PHPMailer pode enviar email configurando o SMTP no código da rotina, que nesse caso usa a entrada MX e não TXT.

    Para enviar email do próprio servidor, se houver qualquer problema, talvez seja necessário alterar o Postfix. Não fiz testes mas veja um caso relatado no StackOverflow:

    http://stackoverflow.com/questions/21146840/phpmailer-with-postfix

  • Não cheguei testar ainda foi só uma curiosidade pois não usarei ISPConfig3 já que o server é somente conteúdo estático e servidor node para apps…a função mail (PHPMailer) seria somente para contato e algumas poucas funções de apps. Salvei o link para me debruçar sobre o tema posteriormente grato.

  • Para discutir sobre este tutorial use o link para o tópico no Fórum da Comunidade:

    https://fatorbinario.com/comunidade/topico/tutorial-servidor-lemp-wordpress-no-ubuntu/

    *Registre-se na Comunidade e ajude compartilhando conhecimento. Responderei às dúvidas com a mesma rapidez de sempre.

    Muito Obrigado..

  • tiago

    Boa tarde, estou fazendo o processo para envios de emails e como disse estou semana batendo a cabeça formatando e instalando milhões de vezes. Estou adorando aprender e agora quero fazer uns envios de emails para divulgar minha empresa. Estou sempre querendo melhorar meus emails para serem recebidos corretamente! Já conversei com você e conseguir aprender muito aqui.
    Minha dúvida é o seguinte: Meu domínio é na hostgator.com.br. Minha SSH Debian é da LINODE, e estou usando a diditalocean para fazer o procedimento acima. Tem algum problema? e queria saber se na hostgator eu direcionaca para ns1.linode.com ou ns1.digitalocean.com

  • Você tem que apontar os NameServers para onde estiver sua tabela DNS.

    Interessante você comentar que o VPS é na Linode, tá explicado os emails entregues como SPAM. Veja meu tutorial de segurança que inclusivo cito eles lá.

  • tiago

    Certo vou olhar agora. No caso seria o de firewall? No caso minha tabela de DNS fica n digitalocean é isso? Desculpe perguntas bestas mais aprendendo isso em 1 semana.

  • Isso no de Firewall, E tabela DNS você pode ter em qualquer lugar que permita e aponta os NS sempre pra onde ela está.

  • tiago

    Me desculpa, mas ainda não entendi. Onde fica minha tabela? estou seguindo pelo seu tutorial. Apenas só estou usando a ssh linode. mas estou usando a tabela da digitalocean.

  • tico

    Quando estou instalando o ispconfig, aparece a parte de ─┤ Fully Qualified Hostname /Please specify a Fully Qualified Hostname. no caso aqui no tutorial tem dizendo: Fully Qualified Hostname <– cp.fatorbinario.com (usar o mesmo nome que você deu para criar o Droplet). Eu não uso o droplet lá. apenas a tabela para seguir seus tutorias que são pela digitalocean. Qual seria o Fully Qualified Hostname do meu?

  • Por isso eu indico a DigitalOcean que fica tudo na mão. Não é frescura, mas sim porque os demais hostings criam tantas besteiras que esquecem do básico e a DigitalOcean simplifica tudo.

    Você tem que colocar nesse campo o nome que será o seu servidor de email.

  • tiago

    tudo bem! no caso se meu servidor será o meu dominio acessoriajuridica.com ou minha ssh da linode?

  • Marcos Vinicius Kraulich

    Parabéns Luis, ótimo tutorial, simples, facil e objetivo. Quando esqueço algo ao adicionar dominio em minha vps sempre consulto ele. Obrigado.

  • Valeu Marcos, tem uma versão mais atualizada no tutorial de Debian 8 se quiser dar uma olhada:
    https://fatorbinario.com/tutorial-debian-8-x64-com-ispconfig-e-nginx-tabela-dns/

  • Rodolfo Lucas

    Amigo posso hospedar vários sites em um único VPS?

  • Pode sim Rodolfo, o limite é o seu espaço e recursos da máquina. Mas instale um painel de controle leve como o ISPConfig para gerenciar vários sites.

  • Jean A. Silva

    Prezado Luis,

    Parabéns pelo seu tutorial, estou com muitas dúvidas ainda, estou transitando de servidor compartilhado para um vps, portanto fica minha dúvida, no servidor compartilhado possuo subdomínios ilimitados, email ilimitados e outros. Em uma vps posso configurar para isso?. Email ilimitados do meu domínio?. Subdomínios ilimitados também?. E como configura-los?.

    Agradeço a informação.

  • Olá Jean,
    no VPS o limite são os recursos do servidor somente. Você pode configurar tudo ilimitado porém é recomendável separar sites problemáticos dos demais.

    E para configurar tudo siga o tutorial com Debian 8 que tem as últimas versões estáveis de PHP, MySQL, Curl, etc.. Link: https://fatorbinario.com/tutorial-debian-8-x64-com-ispconfig-e-nginx-indice/

    Para adicionar sites ao ISPConfig veja no índice a parte Instalação do Site.