Compreendendo os fundamentos dos subdomínios com VirtualHosts [closed]

1

Eu gostaria de criar dois subdomínios para o meu site. Para fazer isso, criei três VirtualHosts no meu arquivo default em sites disponíveis (estou usando o Apache no Ubuntu):

<VirtualHost 127.0.0.1>
     ServerName nmagerko.me
     ...
     DocumentRoot /var/www
     ...
</VirtualHost>

<VirtualHost 127.0.0.1>
     ServerName sub1.nmagerko.me
     ...
     DocumentRoot /some/different/path
     ...
</VirtualHost>

<VirtualHost 127.0.0.1>
     ServerName sub2.nmagerko.me
     ...
     DocumentRoot /some/different/path2
     ...
</VirtualHost>

No entanto, não tenho certeza do que fazer após esse ponto. Eu tenho cada um desses subdomínios e meu domínio principal no meu arquivo /etc/hosts como 127.0.0.1 e defini os Registros A para sub1 e sub2 no editor de domínio do meu registrador de domínio. No entanto, esses Registros apontam para o mesmo IP que meu domínio principal, já que tudo isso está sendo hospedado em um sistema ... o que não é muito útil. Então, quando eu vou para sub1.nmagerko.me no meu navegador, eu recebo o mesmo site que eu teria como se eu fosse para nmagerko.me .

Alguma sugestão sobre como proceder?

    
por nmagerko 06.07.2013 / 04:09

3 respostas

2

Hmm, a configuração que você escreveu parece correta para mim, então tentarei mostrar a você como depurar o problema:

1- Verifique se o DNS está configurado corretamente executando dig nmagerko.me , dig sub1.nmagerko.me e dig sub2.nmagerko.me e procurando o IP. Use wget X.nmagerko.me nos testes, o navegador pode estar armazenando em cache as respostas do DNS.

2- Certifique-se de que os arquivos em /some/different/path , /var/www e /some/different/pat2 sejam diferentes.

3- Certifique-se de reiniciar o apache com

sudo service apache2 restart

Além disso, você pode dar uma olhada nos registros também.

Espero que isso ajude.

    
por 06.07.2013 / 04:41
3

Tente alterar o endereço IP para apenas a porta 80 em todas as instâncias:

<VirtualHost *:80>
    ServerName nmagerko.me
    ...
    DocumentRoot /var/www
    ...
</VirtualHost>

Isso pode ajudar a resolver um problema em que o host virtual está escutando apenas tráfego interno (local). Como você está definindo seus registros A de domínios, suponho que esteja usando um servidor disponível publicamente?

Não se esqueça de recarregar o apache após qualquer alteração no arquivo conf:

$ sudo service apache2 reload

Por fim, informe-nos se você está testando localmente. Em caso afirmativo, você provavelmente não precisará alterar o registro A de seu domínio (a menos que você esteja hospedando seu próprio DNS privado?).

    
por 06.07.2013 / 04:35
1

Sem todo o httpd.conf (incluindo includes) é impossível dizer a partir daqui, mas adicionando

NameVirtualHost 127.0.0.1:80

acima do seu primeiro <virtualHost domain:80> pode ajudar? Reinicie o apache após a mudança.

    
por 06.07.2013 / 06:44