Apache 2.4.10 Página de índice do VirtualHost não mostrada

0

Para ver minha descrição do problema diretamente, consulte a parte Problema .

Contexto:

Executando o XUbuntu 14.10 e o Apache 2.4.10.

Sou bastante novo no Apache, por isso estou a tentar configurar o VH simples ... com algum sucesso, mas ainda tenho um problema. Eu li os documentos e não consigo encontrar o que há de errado com a minha configuração. Eu gostaria de configurar dois hosts virtuais: myname.com e penguin.com .

Configuração

Aqui está uma breve descrição (não exaustiva) da minha configuração atual.

/etc/apache2/apache2.conf

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options +Indexes 
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>


<Directory /var/www/html/flashlight/>
        AllowOverride All
</Directory>

<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

/etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
    ServerName www.example.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    <Directory /var/www/>
        AuthName "Mon domaine"
        AuthType Basic
        AuthUserFile /etc/apache2/users.passwd
        Options +Indexes 
        Options FollowSymLinks
        AllowOverride None
        Require valid-user
    </Directory>
</VirtualHost>

/etc/apache2/sites-enabled/myname.conf

<VirtualHost 127.0.0.2:80>
    ServerName myname.com
    ServerAlias www.myname.com
    DocumentRoot /var/www/html/myname

    <Directory /var/www/html/myname>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

/etc/apache2/sites-enabled/penguin.conf

<VirtualHost 127.0.0.3:80>
    ServerName penguin.com
    ServerAlias www.penguin.com
    DocumentRoot /var/www/html/penguin

    <Directory /var/www/html/penguin>
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Ambos os hosts virtuais foram ativados conforme descrito nos documentos do Apache usando a2ensite . O Apache foi reiniciado com /etc/init.d/apache2 graceful . Em /var/www/html/penguin e /var/www/html/myname , criei arquivos index.html simples para verificar se estou em um host virtual ou não.

Por fim, alterei /etc/hosts para conter:

127.0.0.1       localhost
127.0.0.2       myname.com
127.0.0.3       penguin.com

Para verificar a configuração, corro apachectl -S e consigo ver:

VirtualHost configuration:
127.0.0.3:80           penguin.com (/etc/apache2/sites-enabled/penguin.conf:1)
127.0.0.2:80           myname.com (/etc/apache2/sites-enabled/myname.conf:1)
*:80                   www.example.com (/etc/apache2/sites-enabled/000-default.conf:1)

Problema

Agora que tenho dois hosts virtuais configurados, tento acessá-los. Quando tento acessar penguin.com no meu navegador (Firefox), vejo o /var/www/html/index.html em vez de /var/www/html/penguin/index.html . Eu tenho que escrever explicitamente penguin.com/index.html para ver a página de índice correta.

Mas quando eu acesso myname.com , o índice certo é exibido!?

Além disso, quando acesse esses sites com o Chrome, esse problema não ocorre e vejo diretamente a página de índice correta.

Existe algum problema com minha configuração do Apache? Ou você acha que está relacionado apenas ao Firefox (talvez ele não leia /etc/hosts corretamente)?

EDITAR

Apenas esqueci de mencionar que quando eu acesso a página via IP (127.0.0.2/3) eu tenho o mesmo problema no Firefox (apenas 127.0.0.2 funciona).

Com wget , recebo os arquivos conforme o esperado. Então, acho que pode estar relacionado a navegadores e não à configuração do Apache.

EDIT2

Para "resolver" o problema, substituí os endereços de loopback em / etc / hosts pelo meu endereço IP local. Além disso, substituí a declaração do VirtualHost por <VirtualHost *:80> em ambos os arquivos. Funciona bem agora!

Eu ainda me pergunto por que o Firefox não conseguiu o índice correto quando recebeu o endereço IP de loopback completo.

Desculpe pelo longo post!

Obrigado

    
por Gordak 07.10.2015 / 11:57

1 resposta

0

Neste caso, o firefox irá verificar seu / etc / hosts como última opção para resolução de nomes.

Você pode tentar esta solução alternativa.

  1. Abra o firefox e insira about:config no URL.
  2. Pesquise keyword.enabled e defina como False.
  3. Certifique-se de que /etc/nsswitch.conf, hosts entry tenha files como primeira opção.
por Aizuddin Zali 07.10.2015 / 12:13