¿Cómo permitir que los usuarios de la red local accedan a mis sitios WAMP?

119

En primer lugar, leí al menos 20 artículos sobre este tema, y ​​ninguno de ellos puede coincidir con el escenario y arruiné el proceso varias veces. De modo que recurro a la ayuda ofreciendo mi escenario específico si se agradece alguna ayuda.

Las computadoras portátiles u otros dispositivos están conectados a través de un enrutador inalámbrico.

He intentado:

  • Habilite el puerto 80 en el firewall. no pasó nada.
  • Ejecutar ping, ipconfigy la dirección IPv4 tratado allí, acceso denegado o me llevan a Verizon (mi ISP), la página de configuración del router.
  • Probé config Apache, fue un desastre, nunca obtuve toda la configuración de autorización en numerosas publicaciones y probé una de las prometedoras, que bloqueó mi WAMP, tuve que pasar por todos los problemas y reinstalar.

Lo que realmente intenté lograr es simplemente permitir que todos los usuarios se conecten a ese enrutador inalámbrico para que puedan acceder a mis sitios WAMP alojados en Win8.

Me pregunto si hay pasos específicos que pueda seguir para que realmente funcione.

WAMP 2.4 en Win8.1. Portátiles alojan sitios locales.

Ezeewei
fuente

Respuestas:

250

Consulte el final de esta publicación para saber cómo hacer esto en WAMPServer 3

Para WampServer 2.5 y versiones anteriores

WAMPServer está diseñado para ser una herramienta de desarrollo de un solo puesto. Por lo tanto, Apache está configurado de forma predeterminada para permitir solo el acceso desde la PC que ejecuta el servidor, es decir, localhost o 127.0.0.1 o :: 1

Pero como es una versión completa de Apache, todo lo que necesita es un poco de conocimiento del servidor que está utilizando.

La forma más simple (martillo para romper una nuez) es usar la opción de menú de wampmanager 'Poner en línea'.

left click wampmanager icon -> Put Online

Sin embargo, esto le dice a Apache que puede aceptar conexiones desde cualquier dirección IP en el universo . Eso no es un problema siempre y cuando no haya reenviado el puerto 80 en su enrutador, o nunca lo intentará en el futuro.

La forma más sensata es editar el archivo httpd.conf (nuevamente usando el menú de wampmanager) y cambiar la seguridad de acceso de Apache manualmente.

left click wampmanager icon -> Apache -> httpd.conf

Esto lanza el archivo httpd.conf en el bloc de notas.

Busque esta sección de este archivo

<Directory "d:/wamp/www">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
</Directory>

Ahora, asumiendo que su subred de red local usa el rango de direcciones 192.168.0.

Agrega esta línea después Allow from localhost

Allow from 192.168.0

Esto le dirá a Apache que se le permite acceder desde cualquier dirección IP en esa subred. Por supuesto, deberá verificar que su enrutador esté configurado para usar el rango 192.168.0.

Esto se hace simplemente ingresando este comando desde una ventana de comandos ipconfigy mirando la línea etiquetada IPv4 Address.y luego use las primeras 3 secciones de la dirección que ve allí.

Por ejemplo, si el tuyo se ve así: -

IPv4 Address. . . . . . . . . . . : 192.168.2.11

Usarías

Allow from 192.168.2

ACTUALIZACIÓN para usuarios de Apache 2.4

Por supuesto, si está utilizando Apache 2.4, la sintaxis de esto ha cambiado.

Debe reemplazar TODA esta sección:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost

Con esto, usando la nueva sintaxis de Apache 2.4

Require local
Require ip 192.168.0

No debe simplemente agregar esto httpd.conf, debe ser un reemplazo.

Para WAMPServer 3 y superior

En WAMPServer 3 hay un Host Virtual definido por defecto. Por lo tanto, las sugerencias anteriores no funcionan. Ya no necesita hacer NINGUNA enmienda al httpd.confarchivo. Debe dejarlo exactamente como lo encontró.

En su lugar, deje el servidor, OFFLINEya que esta funcionalidad está extinta y ya no funciona, por lo que el Online/Offlinemenú se ha vuelto opcional y está desactivado de forma predeterminada.

Ahora debería editar el \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.confarchivo. En WAMPServer3.0.6 y superior, en realidad hay un menú que abrirá este archivo en su editor

left click wampmanager -> Apache -> httpd-vhost.conf

al igual que el que siempre ha existido que edita su httpd.confarchivo.

Debería verse así si no ha agregado ninguno de sus propios hosts virtuales

#
# Virtual Hosts
#

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

Ahora simplemente cambie el Requireparámetro para adaptarse a sus necesidades EG

Si desea permitir el acceso desde cualquier lugar, reemplace Require localcon

Require all granted

Si desea ser más específico y seguro y solo permitir direcciones IP dentro de su subred, agregue derechos de acceso como este para permitir cualquier PC en su subred

Require local
Require ip 192.168.1

O para ser aún más específico

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
RiggsFolly
fuente
1
Un problema. Tengo varios sitios locales (es decir, 192.168.1.1/mysite1) pero una vez que probé con mi teléfono para acceder a ese sitio web, parece incompleto por alguna razón. Es un sitio de wordpress. ¿Sabrías la razón por la que sucedió?
Ezeewei
1
¡Oh, encontré el problema, porque en DB, esos enlaces se basan en localhost! todo funciona perfecto ahora: D
Ezeewei
Entonces, ¿cómo puedo permitir que TODOS los usuarios de la red accedan al dispositivo con el servidor wamp en ejecución? ¿Cómo puedo escribir la dirección IP en esa configuración? Estoy usando DHCP.
Mayo
Si te refieres a cualquier dirección IP en tu subred, como dije en la pregunta anterior, usa los primeros 3 cuartiles de la dirección IP
RiggsFolly
4
@RiggsFolly He hecho eso, pero todavía no funciona. 403 Prohibido.
gegobyte
66

Debe tener el proceso Apache (httpd.exe) permitido a través del firewall (recomendado).

O deshabilite su firewall en LAN (solo para probar, no recomendado).

Ejemplo con Wamp (con Apache activado):

  1. Compruebe si Wamp está publicado localmente, si lo está, continúe;
  2. Panel de control de acceso
  3. Haga clic en "Cortafuegos"
  4. Haga clic en "Permitir aplicación a través del firewall".
  5. Haga clic en "Permitir alguna aplicación"
  6. Busque y elija C: /wamp64/bin/apache2/bin/httpd.exe
  7. Reiniciar Wamp

Ahora abra el navegador en otro host de su red y acceda a su servidor Apache por IP (por ejemplo, 192.168.0.5). Puede descubrir su IP de host local escribiendo ipconfigen su símbolo del sistema.

Funciona

Matteus Barbosa
fuente
Asegúrese de que su servidor Wamp se esté ejecutando y que ya lo haya configurado como disponible con "Poner en línea"
Matteus Barbosa
Borrar la caché del navegador también puede resolver algunos problemas
Matteus Barbosa
3
La parte del firewall me ayudó para Windows 10. ¡Gracias!
Pretty Cool
Ya tenía el Firewall de Windows desactivado, así que no pensé que esto funcionaría, pero agregar Apache como una excepción funcionó para mí. ¡Gracias!
Pawel
@Pawel esto no tiene sentido ya que un firewall deshabilitado ignora las tablas de excepción y permite todo. Asegúrese de que su software antivirus esté deshabilitado o que su capa de firewall también esté deshabilitada para realizar una prueba limpia.
Matteus Barbosa
13
go to... 
C:\wamp\alias

Dentro de la carpeta de alias, verá algunos archivos como phpmyadmin, phpsysinfo, etc.

abra cada archivo, y puede ver dentro del archivo que algunas instrucciones comentadas se dan para acceder desde el exterior, como dar acceso a phpmyadmin desde el exterior, reemplazar las líneas

Require local

by

Require all granted
Sai Ram
fuente
4

Lo que finalmente funcionó para mí es lo que encontré aquí:

http://www.codeproject.com/Tips/395286/How-to-Access-WAMP-Server-in-LAN-or-WAN

Para resumir:

  • establecer Escuchar en httpd.conf:

    Listen 192.168.1.154:8081

  • Agregue Permitir de todos a esta sección:

    <Directory "cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>

  • Establezca una regla de puerto de entrada. Creo que fue la parte crucial que faltaba para mí:

¡Excelente! El siguiente paso es abrir el puerto (8081) del servidor para que todos puedan acceder a su servidor. Esto depende del sistema operativo que esté utilizando. Como si estuviera usando Windows Vista, siga los pasos a continuación.

Abra el Panel de control >> Sistema y seguridad >> Firewall de Windows, luego haga clic en "Configuración avanzada" y luego seleccione "Reglas de entrada" en el panel izquierdo y luego haga clic en "Agregar regla ...". Seleccione "PUERTO" como una opción de la lista y luego en la siguiente pantalla seleccione el protocolo "TCP" e ingrese el número de puerto "8081" en "Puerto local específico", luego haga clic en el botón "Siguiente" y seleccione "Permitir la conexión" y luego proporcione el nombre general y la descripción de este puerto y haga clic en Listo.

Ahora también ha terminado con la apertura del PUERTO.

Lo siguiente es "Reiniciar todos los servicios" de WAMP y acceder a su máquina en LAN o WAN.

CodyBugstein
fuente
192.168.1.154 significa?
Charlesliam
1
@Charlesliam la dirección IP de la otra máquina
CodyBugstein
1

Porque acabo de pasar por esto, quería dar mi solución a pesar de que esto es un poco antiguo.

Tengo varias computadoras en un enrutador doméstico y he estado trabajando en algunos proyectos para mí. Bueno, quería ver cómo se veía en mis dispositivos móviles. Pero WAMP se configuró para que solo pudiera continuar desde el sistema de desarrollo. Así que comencé a buscar y encontré este artículo y algunos otros. El problema es que ninguno de ellos funcionó para mí. Así que me dejaron resolver esto por mi cuenta.

Mi solución:

Primero, en el archivo HTTPD.CONF, debe agregar una línea al final de la lista de los dispositivos que pueden acceder a su servidor WAMP. Entonces en lugar de:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost

hazlo:

#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
     Deny from all
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.78

Lo anterior dice que cualquier dispositivo que esté en su enrutador (el '78' es solo un número arbitrario elegido para esta solución. Debería ser para lo que esté configurado su enrutador. Por lo tanto, podría ser 192.168.1 o 192.168.0 o incluso 192.168.254 - debe buscarlo en su enrutador) ahora puede acceder a su servidor.

Lo anterior NO hizo nada por mí, al principio. Hay más por hacer. Pero primero, lo que NO necesita hacer. NO necesita cambiar la configuración de WAMP de Fuera de línea a En línea. PARA MÍ, cambiar esa configuración no hace nada. Desconocido por qué, simplemente no lo hace. Así que cámbielo si lo desea, pero no creo que sea necesario cambiarlo.

Entonces, ¿qué más se necesita cambiar? Tienes que volver al principio del archivo httpd.conf para este próximo cambio y es realmente simple. Tienes que agregar una nueva línea después del

Listen Localhost:80

añadir

Listen 192.168.78.###:80

Donde "###" es la IP en la que se encuentra su servidor. Digamos que su servidor está en el número de IP 234. Entonces el comando anterior se convertiría en

Listen localhost:80
Listen 192.168.78.234:80

Nuevamente, el '78' es solo un número arbitrario que elegí. Para obtener su número de IP real, debe abrir una ventana de comando y escribir

ipconfig/all

mando. Busque cuál es su número TCP / IPv4 y configúrelo en ese número o TCP / IPv6 si eso es todo lo que tiene (aunque en los conjuntos de enrutadores internos generalmente tiene un número IPv4).

Nota : En caso de que no sepa cómo abrir una ventana de comando, haga clic en Inicio, seleccione la opción "Ejecutar" y escriba "cmd.exe" en el cuadro de diálogo sin las comillas. En los sistemas más nuevos (ya que siguen cambiando todo) podría ser el ícono de ventanas blancas o el círculo o Bill Gates saltando hacia arriba y hacia abajo. Sea lo que sea, haz clic en él.

Una vez que haya hecho lo anterior, reinicie todos los servicios y todo debería salir bien.

Finalmente, ¿por qué? ¿Por qué tienes que cambiar el comando Escuchar? Tiene que ver con localhost. 'localhost' está configurado en 127.0.0.1 y NO en su dirección IP por defecto. Esto se puede encontrar en su archivo de host, que generalmente se encuentra en la carpeta system32 en Windows, pero probablemente Microsoft lo haya movido a otro lugar. Búscalo en línea para ver dónde está y míralo. Si ve muchos sitios de sexo, pornografía, etc.en su archivo de host localhost, debe deshacerse de ellos (a menos que eso sea lo suyo). Sugiero que se use RogueKiller (en AdLice.com) para echar un vistazo a su sistema porque puede restablecer su archivo de host por usted.

Sin embargo, si su archivo de host es normal, debe contener solo una entrada y esa entrada debe establecer localhost en 127.0.0.1. Es por eso que usar localhost en el archivo httpd.conf hace que solo pueda trabajar en todo y ver todo desde su computadora servidor.

Entonces, si se siente aventurero, cambie su archivo de host y deje el comando Escuchar solo O simplemente cambie el comando Escuchar para escuchar el puerto 80 en su servidor.

NUEVO (Olvidé poner esta parte)

PUEDE que tenga que cambiar su dirección TCP / IP. (El mío ya está configurado, así que no tuve que hacer esto). Deberá buscar en su sistema operativo cómo llegar a donde está definida su dirección TCP / IP. En Windows XP, esto era Panel de control-> Conexiones de red. Esto ha cambiado en sistemas operativos posteriores, por lo que debe buscar cómo llegar allí. De todos modos, una vez allí, verá su Conexión de red inalámbrica o Conexión de área local (Windows). Básicamente cable WIFI o Ethernet. Seleccione el que está activo y en uso. En Windows, haga clic con el botón derecho y seleccione Propiedades. Debería aparecer un cuadro de diálogo y debería ver una lista de casillas de verificación con lo que son al lado. Busque el que sea para TCP / IP. Debería haber uno que diga TCP / IP v4. Selecciónelo. (Si no hay uno, debe proceder con precaución). Haga clic en el botón Propiedades y aparecerá otro cuadro de diálogo. Este muestra "Obtener una dirección IP automáticamente" o "Usar la siguiente dirección IP" seleccionado. Si es el primero, debes cambiarlo por el segundo. PERO ANTES DE HACER ESO, abra una ventana de comandos y escriba el comando ipcongfig / all para que tenga, justo frente a usted, cuál es su puerta de enlace predeterminada. Luego cámbielo de "Obtener ..." a "Usar ...". Donde dice "dirección IP", ingrese la dirección IP que desea usar siempre. Esta es la dirección IP que ingresó en el comando Escuchar anterior. La segunda línea (máscara de subred) suele ser 255.255.255.0, lo que significa que solo cambia el último número (es decir, 0). Luego, mirando hacia atrás en la ventana de comandos colocada en su puerta de enlace predeterminada. Por último, pero no menos importante, cuando cambió de "Obtener ..." a "Usar ...", es posible que la configuración de DNS haya cambiado. Si la sección que trata sobre la configuración de DNS ha cambiado a "Usar ..." y está en blanco, la respuesta es simple. Simplemente mire esa salida de ipconfig / all, busque la (s) configuración (es) de DNS allí y colóquelas en los campos provistos. Una vez hecho esto, haga clic en el botón Aceptar y luego haga clic en el segundo botón Aceptar. Una vez que se cierra el cuadro de diálogo, es posible que deba reiniciar el sistema para que los cambios surtan efecto. Pruébelo yendo a Google o Stack Overflow. Si aún puede ir a lugares, entonces no es necesario reiniciar. De lo contrario, reinicie. ¡Recuerda! Si no puede conectarse a Internet después, todo lo que debe hacer es regresar y restablecer todo a la opción "Obtener ...". La razón más probable, después de realizar los cambios, por la que ya no puede acceder a Internet es porque el enrutador ya está usando la dirección TCP / IP que eligió usar. El dicho "Solo puede haber uno" también se aplica a las direcciones TCP / IP. Es por eso que siempre elijo un número alto de cien o un número bajo de doscientos. Porque la mayoría de las configuraciones de DHCP usan números menores que cincuenta. Entonces, de esta manera, no choca con el número TCP / IP de otra persona.

Así es como solucioné mi problema.

Mark Manning
fuente
¿En qué archivo hiciste esto?
CodyBugstein
En el archivo httpd.conf de Apache para la mayoría de los cambios y el archivo de host que se encuentra en el directorio Windows / System32 (en XP). Se requiere una actualización de lo anterior. De hecho, puede tener varios comandos LISTEN en el archivo httpd.conf. Así que en realidad puede tener: Escuche localhost: 80 y Escuche 192.168.78.234:80 uno tras otro.
Mark Manning
Decidí actualizar mi respuesta sobre los cambios de TCP / IP.
Mark Manning
1

En WAMPServer 3 no hace esto en httpd.conf

En su lugar, edite \wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.confy realice el mismo cambio en el host virtual definido paralocalhost

WAMPServer 3 viene con un host virtual predefinido para localhost

Aaska Patel
fuente
0

Tengo algunas experiencias en Wamp 3.0 y Apache 2.4.

Después de todos los trabajos, siga estos pasos:

1- Deshabilitar nod32.

2- Agrega esta línea para <VirtualHost *:80>bloquear en el httpd-vhosts.confarchivo:

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access
ivahidmontazer
fuente
0

si usa Windows y hace todos los comentarios arriba,

Puede comprobar su red y centro de intercambio.

Centro de redes y recursos compartidos -> Configuración de uso compartido avanzado -> Cambio de perfil de casa o trabajo

¡Gracias buen trabajo!

Ferhat KOÇER
fuente
-1

es simple y realmente funcionó para mí.

run you wamp server => click right mouse button => and click on "put online"

luego abra su cmd como administrador y pase esta palabra de comando

ipconfig => and press enter

luego aparecen muchas direcciones, luego solo tienes que tomar la primera, se parece a este ejemplo: ¡ Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 bien hecho! , esa es la dirección, que usará para conectarse a su servidor wamp en local.

nassim
fuente
-2

Pon tu servidor wamp en líneaingrese la descripción de la imagen aquí

y luego vaya al panel de control > sistema y seguridad > firewall de Windows y apague el firewall de Windows

ahora puede acceder a su servidor wamp desde otra computadora a través de la red local mediante la IP de red de la computadora que tiene el servidor wamp instalado como http://192.168.2.34/mysite

Shah Jahan
fuente