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