Apache Virtual Host apontando para DocumentRoot errado

9

Eu opero um VPS on Digital Ocean rodando o Ubuntu 12.04.3, com hosts virtuais. Consegui configurar as coisas seguindo este tutorial aqui: link

No entanto, depois de alguns dias, naveguei para meu domínio principal (noelstrong.com) para verificar se tudo estava funcionando perfeitamente, mas em vez de ver a página de destino que eu tinha configurado temporariamente, fui recebido com um listagem de diretórios.

Curiosamente, o subdomínio que eu tinha configurado com o VHosts ainda estava apontado para o diretório correto, entretanto meu domínio principal voltou a apontar para a raiz do documento padrão de /var/www .

Excluir os arquivos de configuração em /etc/apache2/sites-available e configurar tudo novamente produziu os mesmos resultados: qualquer subdomínio apontará para o local correto, no entanto, o TLD raiz permanece bloqueado, apontando para /var/www .

O que pode causar uma situação como esta e por que então ela funcionou corretamente?

    
por Noel Forte 23.12.2013 / 08:44

3 respostas

10

Resolveu isso! A execução de sudo apache2ctl -S retornou o seguinte:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost media.noelforte.com (/etc/apache2/sites-enabled/media.noelforte.com:1)

Eu decidi desativar todos os sites, incluindo o padrão, e apenas ativar os sites que eu precisava. Isso resolveu meu problema.

Se alguém puder explicar por que noelforte.com estava sendo executado como default-000 , como visto aqui:

port 80 namevhost noelforte.com (/etc/apache2/sites-enabled/000-default:1)

isso ajudaria a esclarecer o que pode ter sido mal configurado. Obrigado!

    
por 23.12.2013 / 20:27
1

crie um arquivo 000-default em / etc / apache2 / sites-disponível, ou se ele já existir, edite-o. É onde o seu servidor irá apontar se não houver um virtualhost definido para o site que você está procurando.

Verifique se o arquivo também existe em /etc/apache2/sites-enabled , se não existir: ln -s /etc/apache2 sites-avaliable/000-default /etc/apache2/sites-enabled/

    
por 23.12.2013 / 11:10
0

Você precisa editar o /etc/apache2/sites-enabled/yourdomain.conf e adicionar "ServerName" ao "yourdomain". Ex:

<VirtualHost *:80>
    ServerName MyDomain
    DocumentRoot /var/www/myDomainFolder
...
</VirtualHost>
    
por 08.08.2017 / 23:01