A primeira parte da questão - /var/www/html
vs /var/www/html/example.domain/public_html
- são apenas duas convenções diferentes sobre onde armazenar o conteúdo do seu site: o primeiro faz sentido quando você tem mais sites, geralmente servidos como VirtualHosts, então o diretório conteria vários sites (por exemplo, /var/www/html/{pub,doc,dev,prod,project1,projectX,...}
, que podem conter public_html
); enquanto o segundo sugere que você está atendendo a um site principal, no entanto, nada impede que você adicione alguns VirtualHosts posteriormente a locais diferentes (por exemplo, /var/www/whatever.domain/public_html
).
De outro ponto de vista, a segunda abordagem apenas tenta impedir que você adicione o conteúdo do seu site diretamente a /var/www/html
, o que complicaria as coisas caso você desejasse adicionar outro site posteriormente. Adicionar o site a mais uma pasta ( public_html
) sugere que você pode usar a raiz do site ( example.domain
) para armazenar alguns itens relacionados, mas não públicos (por exemplo, example.domain/{resources,backup,SQLite.db,whatever_you_want_at_hand}
.
Em relação à segunda parte - nomear os dirs não tem nada a ver com associar nomes de domínio a endereços IP, é para isso que serve o DNS (que geralmente é tratado por um registrador de domínio ou provedor de hospedagem). No caso mais simples, o DNS irá traduzir o seu nome de domínio para o seu endereço IP (fornecido por um ISP ou provedor de hospedagem, ou apenas testá-lo com 127.0.0.1
, localhost
resp. Veja como /etc/hosts
funciona), no seu servidor um servidor web (Apache, Nginx, ...) irá servir o seu site para quaisquer solicitações incomming. Depois de entender isso, verifique os VirtualHosts.