
Para ver la descripción de mi problema directamente, consulte laProblemaparte.
Contexto:
Ejecutando XUbuntu 14.10 y Apache 2.4.10.
Soy bastante nuevo en Apache, así que estoy intentando configurar VH simple... con cierto éxito, pero todavía tengo un problema. Leí los documentos y no puedo encontrar el problema con mi configuración. Me gustaría configurar dos hosts virtuales:minombre.comypingüino.com.
Configuración
Aquí hay una breve descripción (no exhaustiva) de mi configuración actual.
/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/minombre.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 hosts virtuales se habilitaron como se describe en los documentos de Apache usando a2ensite
. Apache se reinició con /etc/init.d/apache2 graceful
. En /var/www/html/penguin
y /var/www/html/myname
creé index.html
archivos simples para verificar si estoy en un host virtual o no.
Finalmente, cambié /etc/hosts
para contener:
127.0.0.1 localhost
127.0.0.2 myname.com
127.0.0.3 penguin.com
Para verificar la configuración, ejecuto apachectl -S
y puedo 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
Ahora que tengo dos hosts virtuales configurados, intento acceder a ellos. Cuando intento acceder penguin.com
en mi navegador (Firefox), veo el archivo /var/www/html/index.html
en lugar de /var/www/html/penguin/index.html
. Tengo que escribir explícitamente penguin.com/index.html
para ver la página de índice correcta.
Pero cuando accedo myname.com
, ¿se muestra el índice correcto?
Además, cuando accedo a esos sitios con Chrome, este problema no ocurre y veo directamente la página de índice correcta.
¿Hay algún problema con mi configuración de Apache? ¿O crees que está relacionado únicamente con Firefox (tal vez no se lea /etc/hosts
correctamente)?
EDITAR
Simplemente olvidé mencionar que cuando accedo a la página a través de IP (127.0.0.2/3) tengo el mismo problema en Firefox (solo funciona 127.0.0.2).
Con wget
, obtengo los archivos como se esperaba. Entonces supongo que puede estar relacionado con los navegadores y no con la configuración de Apache.
EDITAR2
Para "resolver" el problema, reemplacé las direcciones de loopback en /etc/hosts con mi dirección IP local. Además, reemplacé la declaración de VirtualHost <VirtualHost *:80>
en ambos archivos. ¡Funciona bien ahora!
Sin embargo, todavía me pregunto por qué Firefox no pudo obtener el índice correcto cuando se le dio la dirección IP completa del loopback.
¡Perdón por el post largo!
Gracias
Respuesta1
En este caso, Firefox comprobará su /etc/hosts como última opción para la resolución de nombres.
Puedes probar esta solución.
- Abra Firefox e ingrese
about:config
la URL. - Busque
keyword.enabled
y configúrelo en Falso. - Asegúrese de que en /etc/nsswitch.conf
hosts
la entrada tengafiles
como primera opción.