¿Cómo permitir que los usuarios de la red local accedan a mis sitios WAMP?
En primer lugar, leí al menos 20 artículos sobre este tema y ninguno de ellos puede igualar el escenario y arruiné el proceso numerosas veces. Así que, si agradezco alguna ayuda, ofrezco mi escenario específico.
Las computadoras portátiles u otros dispositivos se conectan a través de un enrutador inalámbrico.
He intentado:
- Habilite el puerto 80 en el firewall. no pasó nada.
- Ejecute
ping
yipconfig
probé la dirección IPv4 allí, me negaron el acceso o me llevaron a la página de configuración del enrutador de Verizon (mi ISP). - Probé la configuración de Apache, fue un desastre, nunca obtuve toda la configuración de autorización en numerosas publicaciones y probé una prometedora, que falló mi WAMP, tuve que pasar por todos los problemas y reinstalar.
Lo que realmente intenté lograr es simplemente permitir que todos los usuarios que se conecten a ese enrutador inalámbrico puedan acceder a mis sitios WAMP alojados en Win8.
Me pregunto si hay algún paso específico que pueda seguir para que realmente funcione.
WAMP 2.4 en Win8.1. Sitios locales alojados en computadoras portátiles.
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 sólo 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 necesitas es un poco de conocimiento del servidor que estás utilizando.
La forma más sencilla (martillo para romper una nuez) es utilizar 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 del universo . Eso no es un problema siempre y cuando no haya reenviado el puerto 80 en su enrutador, o nunca lo intente 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 inicia 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, suponiendo que la subred de su red local utilice el rango de direcciones 192.168.0.
Añade esta línea despuésAllow from localhost
Allow from 192.168.0
Esto le indicará a Apache que se le permite acceder desde cualquier dirección IP en esa subred. Por supuesto, deberás comprobar que tu enrutador esté configurado para utilizar el rango 192.168.0.
Esto simplemente se hace ingresando este comando desde una ventana de comandos ipconfig
y mirando la línea etiquetada, IPv4 Address.
luego usa las primeras 3 secciones de la dirección que ves allí.
Por ejemplo, si el tuyo se veía así:-
IPv4 Address. . . . . . . . . . . : 192.168.2.11
tu usarias
Allow from 192.168.2
ACTUALIZACIÓN para usuarios de Apache 2.4
Por supuesto, si está utilizando Apache 2.4, la sintaxis ha cambiado.
Deberías 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 es necesario realizar NINGUNA modificación en el httpd.conf
archivo. Debes dejarlo exactamente como lo encontraste.
En su lugar, abandone el servidor, OFFLINE
ya que esta funcionalidad ya no funciona y ya no funciona, por lo que el Online/Offline
menú se ha vuelto opcional y está desactivado de forma predeterminada.
Ahora deberías editar el \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf
archivo. En WAMPServer3.0.6 y superiores hay un menú que abrirá este archivo en su editor.
left click wampmanager -> Apache -> httpd-vhost.conf
igual que el que siempre ha existido y que edita tu httpd.conf
archivo.
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 Require
parámetro para adaptarlo a sus necesidades, por ejemplo.
Si desea permitir el acceso desde cualquier lugar, reemplace Require local
con
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
Debe tener permitido el proceso Apache (httpd.exe) a través del firewall (recomendado).
O deshabilite su firewall en LAN (solo para probar, no recomendado).
Ejemplo con Wamp (con Apache activado):
- Verifique si Wamp está publicado localmente, si es así, continúe;
- Panel de control de acceso
- Haga clic en "Firewall"
- Haga clic en "Permitir aplicación a través del firewall"
- Haga clic en "Permitir alguna aplicación"
- Busque y elija C:/wamp64/bin/apache2/bin/httpd.exe
- 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 la IP de su host local escribiendo ipconfig
en el símbolo del sistema.
Funciona
go to...
C:\wamp\alias
Dentro de la carpeta de alias verá algunos archivos como phpmyadmin,phpsysinfo,etc...
Abra cada archivo y podrá ver dentro del archivo algunas instrucciones comentadas para acceder desde el exterior, como dar acceso a phpmyadmin desde el exterior y reemplazar las líneas.
Require local
by
Require all granted
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:
conjunto 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 para mí era la parte crucial que faltaba:
¡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. Por ejemplo, si está utilizando Windows Vista, siga los pasos a continuación.
Abra 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.
Durante años he estado usando WAMP con varios vhosts y todos funcionaron bien desde la máquina WAMP.
Hace unos días necesitaba probar uno de los sitios desde otras computadoras en la LAN antes de publicarlo en línea.
Aquí está mi configuración, basada principalmente en las respuestas/comentarios de esta publicación:
- todos los sitios alojados en el servidor WAMP tienen un "dominio" .local (midominio*.com => midominio*.local)
- para todos los sitios el tráfico http se redirige a https
Se necesitaron los siguientes cambios para que funcione en todas las computadoras LAN
- httpd.conf: no hay cambios y no es necesario poner WAMP Online
- Para todos los vhosts en la sección Directorio de httpd-vhosts.conf (y httpd-ssl.conf para sitios habilitados para https)
#Require local #Require all granted # also works #Allow from all # works for all LAN Allow from 192.168.55.*
- Habilite httpd.exe en el Firewall de Windows
- Establezca registros DNS para cada midominio*.local en el archivo hosts en cada computadora en la LAN
192.168.55.221 midominio*.local
siendo 192.168.55.221 la dirección del servidor WAMP. Si tienes un servidor DNS local como yo (Pi-hole), puedes hacerlo allí.
Actualización Si algún dispositivo en la LAN usa VPN y la dirección del servidor DNS está configurada en el enrutador, el enfoque del servidor DNS no funcionará para esos dispositivos. ¡Tienes que configurar el registro DNS en el archivo host!
Esta configuración funciona con todas las PC, tabletas/teléfonos y máquinas virtuales Win en VMWare. Curiosamente, no funciona con Ubuntu 20.04 (en VMWare y Raspberry PI4B). ¡Supongo que tengo que aprender a configurar DNS en Ubuntu!