🇧🇷 Tudo sobre domínios
Uma visão geral sobre domínios, resolução de DNS, hospedagem caseira e tipos de domínio
Conteúdo
- Domínios
- Hospedagem de Sites
- Resolução de DNS
- Como hospedar um site
- Como registrar um domínio
- Configurando o DNS de um domínio
- Hospedagem caseira e DNS dinâmico
- Múltiplos domínios em uma só hospedagem
- Resumo para colocar um site no ar
- Referências
1. Domínios
De forma simplificada, um domínio pode ser considerado um nome ou apelido à um endereço IP. A sua função é exatamente de simplificar e facilitar a localização de pontos em uma rede (a internet, por exemplo), visto que é muito mais simples memorizar palavras do que uma sequência de números. Já imaginou ter que memorizar os IP's dos seus sites favoritos? Com certeza é mais fácil memorizar www.forumgdh.net do que o seu respectivo IP, ainda mais quando se tem dezenas sites em mente. A transcrição de um domínio para o seu endereço IP, que é o que "interessa" para o protocolo de rede, é feita através do DNS (Domain Name System). Há mais detalhes sobre isso adiante.
Atualmente os domínios podem conter caracteres de a a z, números de 0 a 9, hífen e são divididos em vários níveis, que são separados por um ponto (.), como no exemplo abaixo:
A parte mais da direita ("com", no exemplo) é o chamado top-level-domain (TLD), ou domínio de topo. Exemplos de top level domains são: com, net, org, us, br, info. Eles são fundamentais para o funcionamento do protocolo do DNS e também servem como indicador do órgão que gerencia aquele determinado TLD. A empresa responsável por determinar os TLD's e os órgãos responsáveis pelos mesmos é a ICANN/IANA, localizada nos Estados Unidos. É a ICANN que especifica quem é o responsável por lidar com os domínios .com ou .br por exemplo. Os órgãos ou empresas autorizadas a vender domínios são chamadas de "registrar".
Em seguida (da direita para a esquerda) vem o domínio de segundo nível, que no nosso exemplo é "domínio". Ele compõe a parte mais importante do domínio, o nome, propriamente dito, por isso normalmente ele leva o nome da empresa ou serviço.
Depois temos o terceiro nível ("sub", no exemplo), que é normalmente conhecido como subdomínio. A existência do mesmo é facultativa e funciona como uma parte subordinada do domínio, sendo que a criação do mesmo depende da vontade do dono do domínio. Subdomínios são bastante utilizados para designar sub-seções dentro de um site.
A parte mais da esquerda de um domínio ("www") funciona como um designador de procolo/servidor. O "www" indica que possivelmente é um servidor World Wide Web, enquanto "ftp", por exemplo, indicaria um servidor de transferência de arquivos.
Um exemplo real de tudo isso que foi dito:
- COM - Top level domain. Gerenciado pela VeriSign;
- MICROSOFT - Second level domain, sob registro da VeriSign;
- MSDN - Subdomínio, indicando a seção do site destinada a desenvolvedores;
- WWW - Indica que o nome possivelmente aponta para um servidor Web.
2. Hospedagem de sites
Serviço de hospedagem, conhecido comumente como host, é um servidor de arquivos que lhe garante um espaço em disco para armazenamento de dados remotamente. É o serviço básico para hospedar algum site, pois nele que ficam armazenados os arquivos.
O envio de arquivos para o servidor normalmente é feito através do protocolo FTP, no qual você especifica o host, o usuário e uma senha, cadastrada pelo serviço de hospedagem. Ao contratar o serviço você normalmente recebe apenas um endereço IP pelo qual você tem acesso ao site (ex. http://ip_do_servidor/\~usuario) e ao FTP. Por esse motivo normalmente se contrata, além da hospedagem, um domínio, para dar um nome mais "amigável" ao seu site.
Um serviço de hospedagem consiste basicamente (e normalmente) desses serviços:
- Servidor web (Apache, IIS, etc);
- Servidor FTP;
- Servidor DNS;
- Servidor de e-mail;
- Painel de controle (CPanel, WHM, Plesk, etc).
O servidor web é o responsável por receber as requisições do protocolo HTTP e retornar o resultado (normalmente a página processada) para o cliente. O servidor FTP fornece a interface para o usuário enviar arquivos da sua máquina local para o servidor remoto, para que os mesmos possam ser acessados através da internet. Ele também pode ser usado para fazer o recebimento dos arquivos. O servidor DNS é o responsável por resolver um hostname para o IP do servidor com determinado usuário, tornando possível você acessar o site através de um www.meusite.com ao invés de http://ip_do_servidor/~usuario. O servidor de e-mail fornece a implementação dos protocolos de recebimento e envio de e-mails (IMAP, SMTP, POP). Por último temos o painel de controle, que fornece tanto ao cliente quanto ao dono do serviço de hospedagem uma forma prática de gerenciar os planos, domínios, subdomínios, e-mails, estatísticas, entre outros. Em planos de hospedagem Linux, o mais famoso é o CPanel. Já para os planos Windows, o Plesk é o mais conhecido.
3. Resolução de DNS
DNS é algo extremamente amplo e complicado, mas o que eu gostaria de mostrar aqui é basicamente como é feita a transcrição de um nome (um domínio) para o seu endereço IP. Vou tentar explicar isso através de um exemplo e de uma forma que aparenta ser bem "boba", mas bem fácil de entender, simulando um diálogo.
Vamos supor que você acesse o endereço do MSDN que citei logo no começo através do seu navegador: www.msdn.microsoft.com
O que basicamente ocorre para que esse nome seja traduzido em um endereço IP com o qual uma conexão possa ser estabelecida para trocar as informações é:
- Sistema operacional, sabe o IP do "msdn.microsoft.com"? (consulta ao arquivo de hosts)
- Não, vou pedir ao seu serviço de internet
- ISP, você sabe o endereço IP do "msdn.microsoft.com"?
- Não, vou pedir ao responsável pelo ".com"
- VeriSign (órgão responsável pelo TLD .com), sabe o IP do "msdn.microsoft.com"?
- Não, vou pedir ao ".microsoft", que está sob meu "comando"
- Microsoft.com, sabe o IP do "msdn.microsoft.com"?
- Sim, sou o dono dele. O IP desse nome é 207.46.16.248.
Ao chegar nesse ponto, o endereço IP vai voltando ao usuário pelos mesmos pontos que foi requisitado (Microsoft, VeriSign, Virtua e finalmente o computador do usuário). Espero que tenha sido possível ter uma idéia de como isso é feito.
4. Como hospedar um site
Para hospedar um site é necessário contratar um plano de hospedagem e um domínio (este último não é essencial, mas como dito lá no começo, é extremamente recomendável para não ter que acessar o site através de um endereço IP).
Existem milhares de empresas que fornecem planos de hospedagem, tanto no Brasil quanto fora do país. Não citarei nomes para manter o tópico neutro, mas o link abaixo pode ajudar:
Deve-se contratar um plano de hospedagem que forneça tudo aquilo que você necessita, sendo que isso depende diretamente das ferramentas que você utilizou para criar a sua página. Todos os serviços dão suporte a páginas HTML, mas caso esteja utilizando PHP, ASP ou algum banco de dados, é importante verificar se o plano em questão fornece esses recursos.
Planos que oferecem suporte a PHP normalmente rodam um servidor Linux com Apache e painel de controle CPanel. Já para o caso do ASP, o servidor fica em máquinas rodando o Windows com o Internet Information Services (não é regra) e o painel de controle mais utilizado é o Plesk. Vale lembrar que o fato do servidor utilizar Windows ou Linux não tem relação com o seu site ser visualizado apenas por pessoas que usam os sistemas operacionais mencionados. Usuário de Windows consegue acessar páginas hospedadas em servidores Linux e usuários Linux conseguem acessar páginas hospedadas em servidores Windows.
Em muitos casos, ao contratar um serviço de hospedagem, a própria empresa força o usuário a registrar um domínio com ela também, como uma venda casada. Se esse for o caso, leia o próximo tópico para saber o que isso normalmente implica.
5. Como registrar um domínio
Há basicamente duas formas de se registrar um domínio: diretamente com um "registrar" ou usando uma empresa intermediária.
Os "registrars", como mencionado no começo do texto, são empresas autorizadas pela ICANN e IANA a registrar oficialmente os domínios na internet, como por exemplo, o site www.registro.br, que é o órgão brasileiro responsável por registros de domínios com a terminação ".br". Eis as principais vantagens de se registrar diretamente com uma empresa desse gênero:
- Você tem a certeza de que é o dono do domínio;
- Total controle sobre as configurações do mesmo.
Ter o total controle do domínio significa que as configurações necessárias para fazê-lo funcionar corretamente são feitas por você, principalmente no que diz respeito ao DNS.
Abaixo segue alguns dos serviços mais famosos autorizados pelo ICANN para a venda de domínios:
www.registro.br (para domínios nacionais)
A outra forma comum de se registrar um domínio é através de uma empresa intermediária, que normalmente é a mesma que fornece o serviço de hospedagem. Ao optar por esse método, em muitos casos o domínio fica registrado sob o nome da empresa, ou seja, não pertence a você. Isso acarreta outra implicação: para fazer alterações de DNS você deve sempre entrar em contato com a empresa de hospedagem pra que ela faça essa alteração para você. Além de aumentar a "burocracia", muitas vezes você é proibido de apontar para um DNS que não seja da própria empresa (fica forçado a utilizar um serviço de hospedagem dela).
Você pode optar por diversos TLD's (os "sufixos") na hora de comprar um domínio, sendo que alguns são públicos e outros reservados para usos específicos. Entre os domínios públicos mais comuns pode-se citar: com, net, org, info, biz.
Alguns TLD's são destinados para serviços específicos, sendo necessário providenciar dados complementares para o registro do mesmo, como por exemplo: mil (militar), gov (governo), edu (ensino).
No que diz respeito a pagamento e preços, eles são pagos anualmente e costumam ser bem baratos, dificilmente passando de 10 dólares por ano. Ao registrar o domínio, você fica com os direitos dele enquanto continuar pagando pelo mesmo. Se por acaso um domínio não for renovado, em um prazo de 3 a 6 meses ele volta a ficar disponível para qualquer um que possua interesse (contanto que nenhuma empresa segure o mesmo).
Ao realizar a compra, basicamente a única coisa que precisa ser feita para fazê-lo funcionar é configurar os DNS's. Comento sobre isso mais adiante. Algo que vale ressaltar já é que a configuração não é validada imediatamente. Pode demorar até 72 horas para que os novos DNS's se espalhem para o resto do mundo. Durante esse período o acesso ao site fica extremamente instável.
6. Configurando o DNS de um domínio
Após a compra de um domínio, é essencial configurar os nameservers (ou DNS) dos mesmos. A configuração do DNS pode ser feita de forma direta ou utilizando serviços de redirecionamento.
A primeira consiste em indicar diretamente os nameservers fornecidos pela empresa de hospedagem (que rodam um servidor de DNS capaz de resolver os nomes). Para descobrir quais são esses DNS's, você deve entrar em contato com o serviço de hospedagem e solicitar o DNS primário e o secudário, que possuem esse formato (exemplo):
Primário: ns1.empresa-de-hospedagem.com
Secundário: ns2.empresa-de-hospedagem.com
Com essas informações, basta ir ao painel de controle do domínio e buscar pelos campos onde você pode entrar com o DNS primário e o secundário. Ao confirmar as configurações, as alterações não ocorrem de imediato, pois os nameservers demoram até que cheguem, literalmente, a todos os cantos do mundo. Há casos em que demora até 72 horas para que ele seja inteiramente propagado, mas não costuma levar mais que uma hora ou duas horas. Nesse período, o acesso ao site através do domínio fica instável e pode não funcionar corretamente, então ao fazer qualquer alteração de DNS, é necessário ter paciência.
Caso o servidor para o qual você deseja apontar o domínio não possua um servidor de DNS, você pode optar pela forma que eu optei por chamar de "indireta", na qual se utiliza o servidor de DNS do "registrar". Não são todos os "registrar" que fornecem esse serviço.
Ao utilizar essa forma, você pode apontar o domínio diretamente para um endereço IP, como de um servidor dedicado ou caseiro, por exemplo, ou até mesmo para outros domínios e subdomínios.
7. Hospedagem caseira e DNS dinâmico
Outra alternativa que pode ser utilizada para hospedar o site é através de um servidor caseiro. Você mesmo pode baixar o Apache, PHP e MySQL por exemplo e deixar rodando no micro como um servidor. É possível baixa-los individualmente ou optar por uma solução “All-in-one” que já vêm com todos os aplicativos necessários e configurados para funcionar em conjunto.
XAMPP: www.apachefriends.org/en/xampp.html
EasyPHP: www.easyphp.org
Apesar de parecer uma solução interessante, ela acaba sendo um transtorno se você não tiver um plano de internet empresarial pelo seguintes motivos:
1. IP dinâmico
Na maioria dos planos de banda larga residencial (ou até mesmo discada), o IP do usuário é dinâmico, ou seja, cada vez que o modem é iniciado, o IP muda. Isso complica na hora de configurar um domínio, visto que seria necessário alterar as configurações do mesmo cada vez que o IP for alterado.
Existem alguns sites que fornecem serviços de DNS dinâmico que instalam um aplicativo no sistema que atualiza as configurações do domínio automaticamente cada vez que o endereço IP é alterado. Infelizmente, para que isso seja possível, você deve utilizar um domínio fornecido pelo próprio site. Domínios normais não funcionam em conjunto com esses sistemas. Ao utilizar esse tipo de serviço, o endereço do site fica dessa forma (como um subdomínio):
www.meusite.no-ip.com
Alguns sites que fornecem esse tipo de serviço:
No-IP: www.no-ip.com
DynDNS: www.no-ip.com
2. Porta de saída bloqueada
Em planos residenciais (aquela que temos em casa), algumas portas de saída são bloqueadas, dentre elas a 80 (8080) e a 21, utilizadas por servidores Web e FTP, respectivamente, para impedir que você use seu micro como servdor. Isso impossibilita que os usuários acessem o site apenas digitando o IP ou o domínio no navegador, pois por padrão o navegador vai tentar estabelecer uma conexão web através da porta 80 e o servidor não vai conseguir enviar a página através de dessa porta. O mesmo vale para um servidor FTP.
A solução para isso é forçar o servidor a utilizar outra porta que não esteja bloqueada, mas isso implica em ter que explicitar a porta ao digitar o domínio no navegador, como por exemplo:
http://www.seusite.com:12345
Os usuários e o navegador não têm como saber qual a porta em que o servidor está rodando (excluindo a 80), tornando o processo bem inviável. Uma outra alternativa é utilizar uma função presente na maioria dos serviços de DNS dinâmico chamada de “redirecionamento de porta”. Ao utilizar essa ferramenta, o próprio serviço de DNS vai redirecionar a conexão da porta 80 (solicitada pelo navegador) para a porta configurada no servidor. Apesar de funcional, tem alguns incômodos:
Quando o usuário digitar o domínio no navegador, a barra de endereços vai ser substituída pelo endereço IP após o carregamento do site.
A sua página é colocada dentro de um frame, fazendo com que o título da página seja perdido. Novamente você terá que utilizar um subdomínio do serviço de DNS ao invés do seu próprio.
OBS.: Essas informações são referentes ao serviços do No-IP. Pode ser que em outros a situação seja diferente.
3. Sempre ligado
O seu computador terá que ficar sempre ligado caso queira manter o site sempre no ar. Também aumentará bastante o tráfego de upload, e isso pode alertar a companhia de internet que há um servidor rodando (e na maioria delas, isso é violação de contrato).
8. Múltiplos domínios em uma só hospedagem
Existem situações em que o usuário possui mais de um domínio e deseja utilizar a mesma hospedagem para gerenciá-lo. A maioria dos sistemas de hospedagem pagas permite que você faça isso, até um certo limite, para que você não acabe criando uma revenda. Em hospedagem gratuita isso é extremamente raro.
Existem basicamente quatro formas de manipular domínios: redirecionar, estacionar, inserir um domínio adicional ou criar um subdomínio. Veja com mais detalhes abaixo:
8.1. Domínios estacionados
Utilizam-se domínio estacionados quando você possui mais de um domínio e deseja que ele aponte para um mesmo site. É muito comum de ser utilizado quando você possui um domínio em diversos TLDs diferentes (seusite.com.br, seusite.com, seusite.net, seusite.org etc) e deseja que todos apontem para um mesmo local.
Nesse caso, o endereço digitado pelo usuário na barra de endereços permanece inalterado. Não há nenhum redirecionamento para o endereço raiz. Supondo que o domínio raiz da sua hospedagem seja seusite.com e você estaciona o domínio seusite.net, se o cliente acessar o seusite.net, é esse endereço que permanecerá no navegador, ele não será redirecionado para o seusite.com.
Para você estacionar um domínio, é preciso que o mesmo esteja apontando para o mesmo DNS da sua hospedagem. Normalmente para configurar um domínio estacionado, deve-se procurar pelo item “Parked Domains” no painel de controle.
8.2. Domínios adicionais
Os domínios adicionais são utilizados quando você deseja ter dois sites completamente independentes sem precisar contratar uma nova hospedagem. Ele permite que você crie um subdiretório no seu site raiz, mas que atua de forma 100% independente, inclusive com contas separadas de cPanel (supondo que seja o caso), FTP, estatísticas e tudo mais.
Assim como no caso dos domínios estacionados, não há nenhum tipo de redirecionamento. Apesar do domínio adicional apontar para um subdiretório do seu domínio principal, na barra de endereços vai permanecer a URL do domínio adicional. Por exemplo: supondo que seu site raiz seja seusite.com e você insira um domínio adicional chamado meuoutrosite.com, será criado um diretório na pasta public_html do seusite.com chamado meuoutrosite.com (public_html/meuoutrosite.com). Porém, essa subpasta irá servir como pasta raiz do meuoutrosite.com e esse domínio permanecerá na barra de endereços do navegador (o cliente não percebe que trata-se de um domínio adicional).
Vale lembrar que o usuário/senha do domínio principal tem acesso liberado aos arquivos apontados pelo domínio adicional, porém o usuário/senha do domínio adicional não tem acesso aos arquivos do domínio principal.
Para que o domínio adicional funcione, é preciso que o mesmo aponte também para o DNS do site raiz. Para configurar um domínio adicional, procure por “Addon domains” no painel de controle.
Por criar um site completamente independente, normalmente o número de domínios adicionais é limitado pelo serviço de hospedagem que utiliza, de forma que impeça você de criar um “plano de revenda” utilizando uma conta de cliente.
8.3. Redirecionamentos
Os redirecionamentos são usados quando você deseja redirecionar determinado domínio ou URL para outro local, podendo inclusive ser um site fora do DNS do seu serviço. É bem útil quando você deseja criar um “atalho” para uma URL mais longa, como por exemplo redirecionar o usuário para meusite.com/minhapasta/outrapasta/arquivos.html quando ele digitar meusite.com/arquivos).
Você pode usar como origem do redirecionamento qualquer domínio (raiz, estacionados e adicionais) e subdomínio que esteja configurado na sua conta do cPanel. Diferentemente dos domínios estacionados e adicionais, o redirecionamento é feito pelo Apache, portanto a URL na barra de endereços será alterada para o local de destino. Não irá permanecer a URL original digitada.
Para configurar os redirecionamentos, procure pelo campo “Redirects” no painel de controle.
8.4. Subdomínios
Essa talvez seja a melhor forma de organizar um site bastante segmentado. Um subdomínio é simplesmente um domínio que faz parte da hierarquia de um domínio superior. Ele aponta para o mesmo DNS do domínio raiz, uma vez que depende do mesmo, e não há nenhum custo adicional envolvido na sua criação, pois subdomínios é uma característica nativa do sistema de DNS.
Ao criar um subdomínio, é criada uma pasta na pasta pública de sua hospedagem (public_html) de mesmo nome. Supondo que você tenha o domínio seusite.com e crie um subdomínio download.seusite.com, será criada uma pasta download dentro da public_html do seusite.com, que será apontada pelo subdomínio. Essa subpasta não aparece na barra de endereços do navegador, pois ela atua como raiz do subdomínio.
Subdomínios estão 100% vinculados a conta principal, de forma que não é possível criar um usuário e senha separados para o mesmo. Você acessa o subdomínio usando as configurações da conta principal.
Apesar disso, normalmente é possível acessar estatísticas separadas para o subdomínio. Para configurar um subdomínio, procure pelo item “Subdomains” no painel de controle.
As informações e os termos utilizados aqui supõem uma hospedagem utilizando Apache como servidor e cPanel como painel de controle do cliente. Em outros sistemas de hospedagem (IIS, Plex etc), apesar da teoria continuar valendo, os termos podem ser diferentes.
9. Resumo para colocar um site no ar
- Contratar um plano de hospedagem
- Adquirir um domínio
- Solicitar o DNS primário e secundário com o serviço hospedagem
- Configurar o DNS nas opções do domínio (A records e CNAME)
- Aguardar algumas horas para que o DNS propague
- Utilizar um cliente FTP/SFTP/SSH para enviar os arquivos para o site (ou o próprio sistema do painel de controle do plano de hospedagem)