如何使本地网络用户访问我的WAMP网站?


119

首先,我至少阅读了20篇关于该主题的文章,但是没有一篇文章可以与这种情况相提并论,因此我无数次弄乱了这一过程。因此,如果需要任何帮助,我会通过提供我的特定方案来寻求帮助。

笔记本电脑或其他设备通过无线路由器连接。

我试过了:

  • 在防火墙上启用端口80。什么都没有发生。
  • 运行pingipconfig并在那里尝试IPv4地址,拒绝访问或将我带到verizon(我的ISP)路由器配置页面。
  • 尝试配置Apache,一团糟,从来没有在众多文章中获得所有授权设置,并尝试了有希望的文章之一,这使我的WAMP崩溃了,必须解决所有麻烦并重新安装。

我真正想要实现的目标实际上就是让所有连接到该无线路由器的用户都能够访问Win8托管的WAMP站点。

我想知道是否有任何具体步骤可以使它真正起作用?

Win8.1上的WAMP 2.4。笔记本电脑托管本地站点。

Answers:


250

有关如何在WAMPServer 3中执行此操作的信息,请参阅本文末尾

对于WampServer 2.5和更低版本

WAMPServer被设计为一个单一座位的开发人员工具。因此,默认情况下,Apache被配置为仅允许从运行服务器的PC(即localhost或127.0.0.1或:: 1)进行访问

但是,由于它是Apache的完整版本,因此您所需要的只是对所使用服务器的一点了解。

简单的方法(用锤子敲开螺母)是使用“在线放置” wampmanager菜单选项。

left click wampmanager icon -> Put Online

但是,这告诉Apache它可以接受来自Universe中任何IP地址的连接。只要您没有在路由器上端口转发端口80,否则就不会有问题,或者以后再也不会尝试。

更明智的方法是编辑httpd.conf文件(再次使用wampmanager菜单的)并手动更改Apache访问安全性。

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

这将在记事本中启动httpd.conf文件。

查找此文件的这一部分

<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>

现在假设您的本地网络子网使用的地址范围为192.168.0。

之后添加此行 Allow from localhost

Allow from 192.168.0

这将告诉Apache,允许从该子网上的任何IP地址访问它。当然,您将需要检查路由器是否设置为使用192.168.0范围。

只需在命令窗口中输入此命令ipconfig并查看标记为IPv4 Address.您的行,然后使用您在其中看到的地址的前3个部分,即可完成此操作。

例如,如果您的样子如下:-

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

你会用

Allow from 192.168.2

Apache 2.4用户的更新

当然,如果您使用的是Apache 2.4,则其语法已更改。

您应该替换本节的所有内容:

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

这样,使用新的Apache 2.4语法

Require local
Require ip 192.168.0

您不应该只是将httpd.conf其添加到其中,而必须将其替换。

对于WAMPServer 3及更高版本

在WAMPServer 3中,默认情况下定义了一个虚拟主机。因此,以上建议不起作用。您不再需要对该httpd.conf文件进行任何修改。您应该完全按照找到的方式放置它。

相反,请保留服务器,OFFLINE因为该功能已失效且不再起作用,这就是Online/Offline菜单变为可选菜单并默认关闭的原因。

现在,您应该编辑\wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf文件。在WAMPServer3.0.6及更高版本中,实际上有一个菜单可以在编辑器中打开此文件。

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

就像一直存在的可编辑httpd.conf文件一样。

如果您尚未添加任何自己的虚拟主机,则它应该看起来像这样

#
# Virtual Hosts
#

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

现在只需更改Require参数即可满足您的需求

如果您想允许从任何地方访问,请替换Require local

Require all granted

如果您想更加具体和安全,并且只允许子网内的IP地址添加访问权限,则可以这样允许子网中的任何PC

Require local
Require ip 192.168.1

或更具体地说

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101

1
一个问题。我有多个本地站点(即192.168.1.1/mysite1),但是一旦尝试使用手机访问该网站,由于某种原因,它似乎不完整。它是一个WordPress站点。您知道发生这种情况的原因吗?
Ezeewei 2014年

1
哦,我发现了问题,因为在数据库中,链接基于本地主机!一切都现在工作完美:D
Ezeewei 2014年

那么,如何在运行wamp服务器的情况下让网络中的所有用户访问设备?如何在该配置中写入IP地址?我正在使用DHCP。
2015年

如果您是指子网中的任何IP地址,那么就像我在上述问题中所说的那样,请使用该IP地址的第3个四分位数
RiggsFolly,2015年

4
@RiggsFolly我已经做到了,但是仍然行不通。403禁止。
gegobyte

66

您必须具有通过防火墙允许的Apache进程(httpd.exe)(推荐)。

或禁用LAN上的防火墙(仅用于测试,不建议使用)。

Wamp示例(已激活Apache):

  1. 检查Wamp是否在本地发布,继续;
  2. 门禁控制面板
  3. 点击“防火墙”
  4. 点击“允许应用通过防火墙”
  5. 点击“允许一些应用”
  6. 查找并选择C:/wamp64/bin/apache2/bin/httpd.exe
  7. 重新启动Wamp

现在,在网络的另一个主机中打开浏览器,并通过IP(例如192.168.0.5)访问Apache服务器。您可以通过ipconfig在命令提示符下键入来发现本地主机IP 。

有用


确保您的Wamp服务器正在运行,并且已经通过“在线放置”将其设置为可用
Matteus Barbosa

清除浏览器缓存也可能会解决一些问题
Matteus Barbosa

3
防火墙部分帮助我安装了Windows10。谢谢!
酷极了

我已经禁用了Windows防火墙,所以我认为这不会起作用-但是添加Apache作为例外确实对我有用。谢谢!
Pawel

@Pawel没有意义,因为禁用的防火墙会忽略异常表并允许所有操作。确保您的防病毒软件已禁用,或者其防火墙层也已禁用以执行干净测试。
Matteus Barbosa

13
go to... 
C:\wamp\alias

在别名文件夹中,您会看到一些文件,例如phpmyadmin,phpsysinfo等。

打开每个文件,您可以看到内部文件中有一些注释的指令可以从外部访问,例如可以从外部访问phpmyadmin替换行

Require local

by

Require all granted

4

最终对我有用的是我在这里找到的东西:

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

总结一下:

  • 设置收听httpd.conf

    Listen 192.168.1.154:8081

  • 将全部允许添加到此部分:

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

  • 设置入站端口规则。我认为这对我来说是至关重要的缺失部分:

大!下一步是打开服务器的端口(8081),以便每个人都可以访问您的服务器。这取决于您使用的操作系统。就像使用Windows Vista一样,请按照以下步骤操作。

打开控制面板>>系统和安全>> Windows防火墙,然后单击“高级设置”,然后从左侧面板中选择“入站规则”,然后单击“添加规则…”。从列表中选择“端口”作为选项,然后在下一个屏幕中选择“ TCP”协议,并在“特定本地端口”下输入端口号“ 8081”,然后单击“下一步”按钮并选择“允许连接”,然后然后为该端口提供通用名称和描述,然后单击“完成”。

现在您已经完成了PORT的打开。

接下来是WAMP的“重新启动所有服务”并在LAN或WAN中访问您的计算机。


192.168.1.154代表什么?
Charlesliam 2015年

1
@Charlesliam另一台计算机的IP地址
CodyBugstein

1

因为我刚刚经历了这个-我想给出我的解决方案,即使它有点旧。

我在家用路由器上有几台计算机,并且一直在为自己从事一些项目。好吧,我想看看我的美孚设备上的样子。但是WAMP已经设置好,所以我只能从开发系统开始。因此,我开始四处看看,并发现了这篇文章以及其他一些文章。问题是-他们都没有为我工作。因此,我不得不自己解决这个问题。

我的解决方案:

首先,在HTTPD.CONF文件中,您需要在允许哪些设备访问WAMP服务器的列表的末尾添加一行。所以代替:

#    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

做了:

#    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

上面说的是路由器上的任何设备(“ 78”只是为此解决方案选择的任意数字。它应该是路由器所设置的任何设备。因此它可能是192.168.1或192.168.0甚至是192.168.254-您必须在路由器上查找它。)现在可以访问服务器了。

以上对我没有任何帮助-首先。您还需要做更多的事情。但是首先-您不需​​要做什么。您无需将WAMP设置从离线更改为在线。对我来说-更改该设置不会执行任何操作。未知原因-事实并非如此。因此,可以根据需要进行更改-但我认为不需要更改它。

那么还需要更改什么?您必须一直返回到httpd.conf文件的开头,以进行下一个更改,这确实很简单。您必须在

Listen Localhost:80

Listen 192.168.78.###:80

“ ###”是您的服务器所在的IP。假设您的服务器的IP地址为234。那么上述命令将变为

Listen localhost:80
Listen 192.168.78.234:80

同样,“ 78”只是我选择的任意数字。要获取您的真实IP地址,您必须打开命令窗口并输入

ipconfig/all

命令。查找您的TCP / IPv4号码是什么,并将其设置为该号码,如果您已拥有全部,则将其设置为TCP / IPv6(尽管在内部路由器集上,您通常具有一个IPv4号码)。

注意:如果您不知道如何调出命令窗口-单击“开始”,选择“运行”选项,然后在对话框中没有引号的情况下键入“ cmd.exe”。在较新的系统上(因为它们不断更改所有内容),可能是白色的Windows图标或圆圈或Bill Gates上下跳跃。无论是什么-单击它。

完成上述操作后-重新启动所有服务,一切都会正常进行。

最后-为什么?为什么必须更改“监听”命令?它与本地主机有关。默认情况下,“ localhost”设置为127.0.0.1,而不是您的IP地址。可以在您的主机文件中找到此文件,该文件通常在Windows下的system32文件夹中找到,但可能已被Microsoft移至其他位置。在线查找它的位置,然后看看它。如果您在localhost主机文件中看到很多色情,色情等网站-您需要摆脱它们(除非那是您的事)。我建议您使用RogueKiller(位于AdLice.com)来查看您的系统,因为它可以为您重置主机文件。

如果您的主机文件是正常的-它应该只包含一个条目,并且该条目是将localhost设置为127.0.0.1。这就是为什么在httpd.conf文件中使用localhost可以做到这一点的原因,因此您只能处理所有内容并从服务器计算机上查看所有内容。

因此,如果您喜欢冒险,请更改主机文件并保留“监听”命令,或者仅更改“监听”命令以监听服务器上的端口80。

新功能 (我忘了填写此部分)

您可能必须更改您的TCP / IP地址。(我的已经设置好了,所以我不需要这样做。)您将需要为您的OS查找如何到达定义TCP / IP地址的位置。在Windows XP中,这是控制面板->网络连接。在以后的操作系统中,这种情况已经改变,因此您必须查找如何到达那里。无论如何,一旦到达那里,您将看到您的无线网络连接或本地连接(Windows)。基本上是WIFI或以太网电缆。选择一个活动的和正在使用的。然后在Windows下,右键单击并选择“属性”。将会弹出一个对话框,您应该看到旁边带有复选框的复选框列表。查找用于TCP / IP的协议。应该有一个说TCP / IP v4的。选择它。(如果没有,则应谨慎操作。)单击“属性”按钮,您将获得另一个对话框。该屏幕显示“选择自动获取IP地址”或“使用以下IP地址”。如果是第一个,则必须将其更改为第二个。但在执行此操作之前-弹出命令窗口并键入ipcongfig / all命令,以便在您面前的默认网关中找到默认网关。然后将其从“获取...”更改为“使用...”。在您要始终使用的IP地址中输入“ IP地址”的地方。这是您在上面的“侦听”命令中输入的IP地址。第二行(子网掩码)通常为255.255.255.0,这意味着仅最后一个数字(即:0)会发生变化。然后,回顾默认网关中的命令窗口。最后但并非最不重要的一点是,当您从“获取...”更改为“使用...”时,DNS设置可能已更改。如果处理DNS设置的部分已更改为“使用...”,并且为空白,则答案很简单。只需查看该ipconfig /所有输出,在此处找到DNS设置,然后将其放入提供的字段即可。完成后,单击确定按钮,然后单击第二个确定按钮。对话框关闭后,您可能必须重新引导系统才能使更改生效。前往Google或Stack Overflow尝试一下。如果您仍然可以去地方-则无需重新启动。否则,请重新启动。记得!如果之后您无法上网,则只需将所有内容重置为“获取...”选项即可。进行更改后,最有可能导致您无法上网的原因是,您选择使用的TCP / IP地址已被路由器使用。TCP / IP地址也使用“只能有一个”的说法。这就是为什么我总是选择一个高一百个数字或一个低两个百个数字的原因。因为大多数DHCP设置使用的数字少于五十。这样,您就不会与其他人的TCP / IP号码发生冲突。

这就是我解决问题的方式。


您在哪个文件中执行此操作?
CodyBugstein 2015年

在Apache httpd.conf文件中,进行了大多数更改,并在Windows / System32目录(在XP中)中找到了主机文件。需要对上述内容进行更新。实际上,您在httpd.conf文件中可以有多个LISTEN命令。因此,您实际上可以拥有:依次接听localhost:80和192.168.192.168..234:80。
Mark Manning

我决定更新有关TCP / IP更改的答案。
Mark Manning

1

在WAMPServer 3中,您不要在 httpd.conf

而是编辑\wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.conf并对为以下内容定义的虚拟主机进行相同的更改localhost

WAMPServer 3带有为以下目的预先定义的虚拟主机 localhost


0

我在Wamp 3.0和Apache 2.4中有一些经验。

完成所有工作后,请执行以下步骤:

1-禁用nod32。

2-添加以下行以<VirtualHost *:80>阻止httpd-vhosts.conf文件中的内容:

Require ip 192.168.100 #client ip, allow 192.168.100.### ip's access

0

如果您使用Windows,并且在上面进行了所有注释,

您可以检查网络和共享中心。

网络和共享中心->高级共享设置->更改家庭或工作资料

谢谢您的辛勤工作!


-1

这很简单,对我来说真的很有效。

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

然后以管理员身份打开您的cmd,并输入此命令字

ipconfig => and press enter

然后出现很多地址,那么您只需要拍摄第一个地址,就像这个例子:Adresse IPv4. . . . . . . . . . . . . .: 192.168.67.190 做得好!,这就是地址,您将使用它来本地连接到您的wampserver。


-2

使您的Wamp服务器联机在此处输入图片说明

然后转到控制面板 > 系统和安全性 > Windows防火墙并关闭Windows防火墙

现在您可以通过安装了Wamp服务器的计算机的网络IP通过本地网络从另一台计算机通过本地网络访问Wamp服务器,例如http://192.168.2.34/mysite

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.