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

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

Para ver minha descrição do meu problema diretamente, consulte oProblemapapel.

Contexto:

Executando XUbuntu 14.10 e Apache 2.4.10.

Sou muito novo no Apache, então estou tentando configurar um VH simples... com algum sucesso, mas ainda tenho um problema. Eu li a documentação e não consigo encontrar o que há de errado com minha configuração. Gostaria de configurar dois hosts virtuais:meunome.comepinguim.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/meunome.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 habilitados conforme descrito nos documentos do Apache usando a2ensite. O Apache foi reiniciado com /etc/init.d/apache2 graceful. In /var/www/html/penguine /var/www/html/mynamecriei index.htmlarquivos simples para verificar se estou em um host virtual ou não.

Finalmente, mudei /etc/hostspara 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 -Se posso 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.comno meu navegador (Firefox), vejo o /var/www/html/index.html em vez de /var/www/html/penguin/index.html. Tenho que escrever explicitamente penguin.com/index.htmlpara ver a página de índice correta.

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

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

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

EDITAR

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

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

EDITAR2

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 VirtualHost <VirtualHost *:80>em ambos os arquivos. Funciona bem agora!

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

Desculpe pelo longo post !

Obrigado

Responder1

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 digite about:configo URL.
  2. Pesquise keyword.enablede defina como False.
  3. Certifique-se em /etc/nsswitch.conf, hostsentrada tendo filescomo primeira opção.

informação relacionada