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

标签 apache localhost wamp wampserver lan

首先,我读了至少 20 篇关于这个主题的文章,但没有一篇能符合这个场景,我多次搞砸了这个过程。因此,如果有任何帮助,我会通过提供我的具体场景来提供帮助。

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

我已经尝试过:

  • 在防火墙上启用端口 80。什么也没发生。
  • 运行 pingipconfig 并在那里尝试 IPv4 地址,拒绝访问或将我带到 verizon(我的 ISP)、路由器配置页面。
  • 尝试过配置 Apache,结果一团糟,在很多帖子中都没有获得所有授权设置,并尝试了其中一个有前途的设置,这导致我的 WAMP 崩溃,必须经历所有麻烦并重新安装。

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

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

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

最佳答案

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

适用于 WampServer 2.5 及之前版本

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

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

最简单(用锤子敲开坚果)的方法是使用“Put Online”wampmanager 菜单选项。

left click wampmanager icon -> Put Online

然而,这告诉 Apache 它可以接受来自宇宙中任何 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 192.168.0

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

只需从命令窗口 ipconfig 输入此命令并查看标记为 IPv4 地址 的行即可完成此操作。然后,您可以使用您所设置的地址的前 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 文件进行任何修改。您应该将其保持原样。

相反,请让服务器离线,因为此功能已失效并且不再起作用,这就是为什么在线/离线菜单已成为可选并默认关闭的原因。

现在您应该编辑 \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 参数即可满足您的需求 EG

如果您想允许从任何地方访问,请将 需要本地 替换为

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

关于apache - 如何让本地网络用户访问我的WAMP站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24005828/

相关文章:

postgresql - Postgres 无法在 Azure 中的 Windows Server 2016 上启动

php - move_uploaded_file() 在我的情况下不起作用

php - 为什么 DOMDocument 不能与 WAMP 服务器一起使用?

apache - 需要在.htaccess中为Magento网站创建RewriteRule

javascript - 关于开始node.js的一些问题

localhost - 访问由另一台虚拟机托管在一台虚拟机上的本地主机

php - fatal error : Class 'Imagick' not found

php - 将图像重定向到php页面

web-services - 使用 mod_jk 将请求从 apache 映射到 tomcat

html - “background-image” 样式在 IE 11 中不起作用