
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/penguin
e /var/www/html/myname
criei index.html
arquivos simples para verificar se estou em um host virtual ou não.
Finalmente, mudei /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 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.com
no 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.html
para 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/hosts
corretamente)?
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.
- Abra o Firefox e digite
about:config
o URL. - Pesquise
keyword.enabled
e defina como False. - Certifique-se em /etc/nsswitch.conf,
hosts
entrada tendofiles
como primeira opção.