virtuales una maquinas maquina internet instalar desde configurar conectarse conectar como windows apache windows-7 virtualhost wampserver

una - configurar red en maquina virtual virtualbox windows 7



Acceda al host virtual desde otra máquina a través de LAN (5)

  • Estoy usando Windows 7 con el servidor Wamp 2.2.
  • He configurado 2 hosts virtuales: www.project1.com y www.project2.com .
  • He modificado los archivos " hosts ", httpd.conf y httpd-vhosts.conf a los cambios que mencioné a continuación.

Al usar mi navegador, cuando www.project1.com o www.project2.com , obtengo mis páginas web abiertas con éxito en la computadora portátil que tiene el servidor instalado.

Cambios en el " archivo de hosts ": he adjuntado lo siguiente al final del archivo:

127.0.0.1 localhost 127.0.0.1 www.project2.com 127.0.0.1 www.project1.com

Cambios en el archivo httpd.conf : -

Include conf/extra/httpd-vhosts.conf

Cambios en el archivo httpd-vhosts : -

NameVirtualHost *:80 <Directory "D:/websites/"> AllowOverride All Order Deny,Allow Allow from all </Directory> <VirtualHost 127.0.0.1> DocumentRoot "D:/websites/wamp/www/" ServerName localhost </VirtualHost> <VirtualHost 127.0.0.1> DocumentRoot "D:/websites/project1/" ServerName www.project1.com </VirtualHost> <VirtualHost 127.0.0.1> DocumentRoot "D:/websites/project2/" ServerName www.project2.com </VirtualHost> Ahora; Ya que puedo abrir estas páginas web desde un navegador en PC_1 (el que tiene el servidor), ¿cómo puedo acceder a estas páginas web desde un navegador en PC_2 ? (Me refiero a cualquier PC conectada a PC_1 través de LAN).


Además de la respuesta de danp, puede acceder al host virtual sin tener que cambiar el archivo etc / hosts de la máquina cliente asignando un puerto al host virtual . Esto es ideal si desea acceder al servidor con un dispositivo móvil o tableta:

  1. Edite el archivo httpd.conf del servidor en:

    /wamp/bin/apache/apache2.2.x/conf/httpd.conf

    Busque " Listen " (alrededor de la línea 61). Debería ver lo siguiente que permite a Apache escuchar el puerto 80:

    Listen 0.0.0.0:80 Listen [::0]:80

    Agregue las siguientes líneas para agregar la escucha del puerto 81 (o cualquier puerto):

    Listen 0.0.0.0:81 Listen [::0]:81

  2. Edite el archivo httpd-vhosts.conf en:

    /wamp/bin/apache/apache2.2.x/conf/extra/httpd-vhosts.conf

    Cambie su etiqueta de "Host Virtual" al puerto 81 :

    <VirtualHost *:81> DocumentRoot "D:/websites/project1/" ServerName www.project1.com </VirtualHost>

  3. Reinicie el servidor Apache.

  4. En la máquina / tableta / móvil cliente, en el navegador web, ingrese la dirección IP del servidor ( 192.168.0.10 , o cualquier IP) seguida del número de puerto en el siguiente formato:

    http://192.168.0.10:81


Debe cambiar el archivo de hosts en la máquina desde la que está intentando ver la página.

Por lo tanto, debe agregarlos al archivo de hosts en la otra máquina LAN.


En su directiva de host virtual, cambie 127.0.0.1 a *:80 y, como mencionó Gabriel, agregue una entrada al archivo hosts en la otra máquina, agregando su dominio para que esté asociado con la IP de su servidor.

Cuando coloca una IP explícita en la directiva, apache solo escuchará esa IP, pero el comodín le indicará que se enlace a todas las IP disponibles.

<VirtualHost *:80> DocumentRoot "D:/websites/project1/" ServerName www.project1.com </VirtualHost>

Si su servidor está en 192.168.1.70 por ejemplo, entonces en las otras máquinas de su lan, la entrada de hosts se verá así:

192.168.1.70 www.project1.com

Reinicie apache y debería funcionar bien.

Como nota, cuando esté usando hosts virtuales, apache usará la primera definición como predeterminada para cuando no pueda hacer una coincidencia entre el dominio pasado en el encabezado de solicitud HTTP y la configuración de los sitios en la configuración, por lo que su valor predeterminado La página estaba apareciendo.

Le dijo a apache que se vinculara a todas las IP con la NameVirtualHost *:80 , pero luego no configuró un sitio para esa IP externa. ¡Espero que ayude!


Hay dos computadoras en la red local.

Una computadora (192.168.1.70) Configuración (D: / wamp / bin / apache / Apache2.2.11 / conf / extra / httpd-vhosts.conf):

<VirtualHost *:80> DocumentRoot "D:/websites/project1/" ServerName www.project1.com </VirtualHost> <VirtualHost *:80> DocumentRoot "D:/websites/project2/" ServerName www.project2.com </VirtualHost>

Configuración de la computadora B (c: / windows / system32 / drives / etc / hosts):

192.168.1.70 www.project1.com 192.168.1.70 www.project2.com

B acceso A, mi proyecto está funcionando.


Un par de puntos actualizados a considerar para la respuesta seleccionada:

  1. NameVirtualHost ya no se usa después de Apache versión 2.3.11 y puede omitirse.

    En 2.3.11 y versiones posteriores, cada vez que se utiliza una combinación de puerto y dirección IP en varios hosts virtuales, el alojamiento virtual basado en el nombre se habilita automáticamente para esa dirección.

  2. Debido a que estamos hablando de alojar un sitio web a través de LAN, establezcamos un requisito * para que solo acepte conexiones de direcciones IP en su red local. Por ejemplo, en un enrutador de Linksys común, la IP predeterminada asignada a cada dispositivo en la red es entre 192.168.1.100 y 192.168.1.255. Puede permitir la conexión desde todos los dispositivos en la LAN con una dirección IP 192.168.1.XXX usando Require ip 192.168.1 (observe que el octeto final se queda fuera de la IP para permitir el rango completo).

    Esto le permite configurar el acceso por proyecto para que uno esté disponible a través de LAN y otro solo esté disponible localmente.

    # This will allow all LAN connections to www.project1.com <VirtualHost *:80> DocumentRoot "D:/websites/project1/" <Directory "D:/websites/project1/"> Require local Require ip 192.168.1 </Directory> ServerName www.project1.com </VirtualHost> # This will allow only the machine hosting the website to access www.project2.com <VirtualHost *:80> DocumentRoot "D:/websites/project2/" <Directory "D:/websites/project2/"> Require local </Directory> ServerName www.project2.com </VirtualHost>

    Si bien su sitio no se servirá públicamente sin que el enrutador reenvíe el tráfico en el puerto 80 a su host, creo que esto se considera la mejor práctica. Es especialmente necesario si necesita controlar qué proyectos están disponibles para los dispositivos en la LAN.

  3. Recordatorio: su máquina host debe estar configurada para usar una dirección IP estática en lugar de ser asignada por el DHCP de su enrutador. Ya que estamos editando el archivo hosts de otros dispositivos para que apunten a la IP del servidor, no queremos que cambie.

* Incluyo esto porque es común tener restricciones de acceso en un servidor de desarrollo local y necesitarás ponerlo específicamente a disposición de tu red local.