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

Eze*_*wei 105 apache lan wamp localhost wampserver

首先,我阅读了至少20篇关于这个主题的文章,其中没有一篇文章可以匹配这个场景,我多次搞砸了这个过程.因此,如果有任何帮助,我会通过提供我的具体方案来提供帮助.

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

我试过了:

  • 在防火墙上启用端口80.没啥事儿.
  • 运行ping,ipconfig并在那里尝试IPv4地址,拒绝访问或带我到verizon(我的ISP),路由器配置页面.
  • 尝试配置Apache,是一个烂摊子,从来没有得到许多帖子中的所有授权设置,并尝试了一个有希望的,崩溃我的WAMP,必须经历所有的麻烦,并重新安装.

我真正想要实现的只是让所有连接到该无线路由器的用户能够访问我的Win8托管WAMP站点.

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

Win8.1上的WAMP 2.4.笔记本主机本地站点.

Rig*_*lly 233

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

适用于WampServer 2.5及以前的版本

WAMPServer旨在成为单一席位开发人员工具.因此,Apache默认配置为仅允许从运行服务器的PC(即localhost或127.0.0.1或:: 1)进行访问

但是因为它是Apache的完整版本,所以您需要的是对您正在使用的服务器的一点了解.

简单(锤击破解螺母)方式是使用'Put Online'wampmanager菜单选项.

left click wampmanager icon -> Put Online
Run Code Online (Sandbox Code Playgroud)

然而,这告诉Apache它可以接受来自Universe中任何ip地址的连接.只要您没有在路由器上端口转发端口80,或者从未尝试过将来,这不是问题.

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

left click wampmanager icon -> Apache -> httpd.conf
Run Code Online (Sandbox Code Playgroud)

这将在记事本中启动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>
Run Code Online (Sandbox Code Playgroud)

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

之后添加此行 Allow from localhost

Allow from 192.168.0
Run Code Online (Sandbox Code Playgroud)

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

这可以通过从命令窗口输入此命令ipconfig并查看标记为IPv4 Address.您的行来完成,然后使用您在那里看到的地址的前3个部分.

例如,如果你的看起来像这样: -

IPv4 Address. . . . . . . . . . . : 192.168.2.11
Run Code Online (Sandbox Code Playgroud)

你会用的

Allow from 192.168.2
Run Code Online (Sandbox Code Playgroud)

Apache 2.4用户的更新

当然,如果您使用的是Apache 2.4,则其语法已发生变化.

您应该替换此部分的所有内容:

Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
Run Code Online (Sandbox Code Playgroud)

有了这个,使用新的Apache 2.4语法

Require local
Require ip 192.168.0
Run Code Online (Sandbox Code Playgroud)

你不应该只是添加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
Run Code Online (Sandbox Code Playgroud)

就像编辑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>
Run Code Online (Sandbox Code Playgroud)

现在只需更改Require参数以满足您的需求EG

如果你想允许进入随时随地更换Require local

Require all granted
Run Code Online (Sandbox Code Playgroud)

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

Require local
Require ip 192.168.1
Run Code Online (Sandbox Code Playgroud)

或者更具体

Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
Run Code Online (Sandbox Code Playgroud)

  • @RiggsFolly我已经做到了,但它仍然不起作用.403禁止. (4认同)
  • 一个问题。我有各种本地站点(即 192.168.1.1/mysite1),但是一旦我尝试用手机访问该网站,由于某种原因它似乎不完整。它是一个 wordpress 网站。你知道它发生的原因吗? (2认同)
  • 哦,我发现了这个问题,因为在 DB 中,链接是基于 localhost 的!现在一切正常:D (2认同)

Mat*_*osa 46

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

或者在LAN上禁用防火墙(仅用于测试,不推荐).

Wamp示例(激活Apache):

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

现在在网络的另一个主机中打开浏览器并通过IP访问您的Apache服务器(例如192.168.0.5).

有用

  • 防火墙部分帮助我使用 Windows 10。谢谢! (4认同)
  • 帮助我在Windows 10上,谢谢 (2认同)

Sai*_*Ram 13

go to... 
C:\wamp\alias
Run Code Online (Sandbox Code Playgroud)

在别名文件夹中,您将看到一些文件,如phpmyadmin,phpsysinfo等...

打开每个文件,你可以看到里面的文件中有一些注释指令是从外面访问的,比如从外面访问phpmyadmin替换行

Require local

by

Require all granted
Run Code Online (Sandbox Code Playgroud)


Cod*_*ein 5

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

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

总结一下:

  • 设置收听httpd.conf

    Listen 192.168.1.154:8081

  • 将 Allow from all 添加到此部分:

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

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

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

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

现在您也完成了 PORT 打开。

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