Estoy teniendoalgunosProblemas al configurar hosts virtuales basados en IP. En primer lugar, estoy usando el XAMPP actual de apachefriends (XAMPP 1.7.7 con Apache 2.2.21) en Windows 7.
La funcionalidad básica del servidor "principal" (de httpd.conf
) funciona perfectamente. Pero ahora quiero configurar varios vhosts con diferentes direcciones IP, ya que configuré mi tarjeta de red para usar todas las direcciones IP de 192.168.2.95 a 192.168.2.105.
Esta es la entrada de hosts virtuales:
<VirtualHost 192.168.2.96:80>
DocumentRoot "/xampp/hegedocs/www"
ServerName 192.168.2.96:80
</VirtualHost>
httpd -D DUMP_VHOSTS
dice esto:
PS G:\xampp\apache\bin> ./httpd -D DUMP_VHOSTS
VirtualHost configuration:
192.168.2.96:80 192.168.2.96 (G:/xampp/apache/conf/extra/httpd-vhosts.conf:45)
Syntax OK
Pero no puedo acceder al vhost ni parece que Apache escuche en 192.168.2.96:80; no se muestra ninguna entrada para esta dirección con netstat -a -b
.
Respuesta1
Encontré el problema: los vhosts basados en IP simplemente no funcionan. Simplemente definir algunos nombres en el archivo de hosts (foo.localhost, bar.localhost, todos asignados a la misma dirección IP) y luego usar vhosts basados en nombres funciona sin ningún problema. Por supuesto, esto no es tan portátil como las direcciones IP, ya que otras máquinas en la red naturalmente no conocen estos nombres... pero bueno, siempre y cuando de alguna manera funcione...
Respuesta2
Solo revisa esta guía
http://i.justrealized.com/2008/how-to-set-up-virtualhost-in-xampp-for-windows/
esta funcionando para mi
Respuesta3
Aquí hay algunas cosas básicas que podría intentar agregar para asegurarse de obtener el puerto correcto.
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
Aquí hay un ejemplo de appache sobre cómo debería verse:
<VirtualHost *:80>
DocumentRoot /www/example1
ServerName www.example1.com
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /www/example2
ServerName www.example2.org
# Other directives here
</VirtualHost>
Estoy seguro de que has visto esto antes, pero a veces ayuda recordar las cosas simples.
Mi configuración funciona bien ejecutando 2 sitios web en 1 cuadro, usando ServerName www.example.com.
¡Espero que esto ayude!
Respuesta4
Asegúrese de que Apache sepa dónde está el archivo vhost.conf. En la parte inferior de httpd.conf, es posible que tengas que descomentar
Include conf/*.conf