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

时间:2014-06-03 01:36:52

标签: apache localhost wamp wampserver lan

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

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

我试过了:

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

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

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

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

11 个答案:

答案 0 :(得分:220)

有关如何在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端口,或者将来永远不会尝试端口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参数即可满足您的需求EG

如果您想允许从任何地方进行访问,请使用

替换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 :(得分:33)

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

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

Wamp示例(启用了Apache):

  1. 检查Wamp是否在本地发布,如果是,则继续;
  2. 访问控制面板
  3. 点击&#34;防火墙&#34;
  4. 点击&#34;允许应用通过防火墙&#34;
  5. 点击&#34;允许一些应用&#34;
  6. 查找并选择C:/wamp64/bin/apache2/bin/httpd.exe
  7. 重新启动Wamp
  8. 现在在网络的另一个主机中打开浏览器并通过IP访问您的Apache服务器(例如192.168.0.5)。

    它有效

答案 2 :(得分:13)

go to... 
C:\wamp\alias

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

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

Require local

by

Require all granted

答案 3 :(得分: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,请按照以下步骤操作   步骤。

     

打开控制面板&gt;&gt;系统和安全&gt;&gt;然后是Windows防火墙   单击“高级设置”,然后从中选择“入站规则”   左侧面板,然后单击“添加规则...”。选择“PORT”作为选项   从列表中然后在下一个屏幕中选择“TCP”协议和   在“特定本地端口”下输入端口号“8081”,然后单击   “下一步”按钮并选择“允许连接”,然后给出   此端口的常规名称和说明,然后单击“完成”。

     

现在你已经完成了PORT的开放。

     

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

答案 4 :(得分: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

上面说的是路由器上的任何设备(&#39; 78&#39;只是为此解决方案挑选的任意数字。它应该是您的路由器设置的任何设备。所以它可能是192.168 .1或192.168.0甚至192.168.254 - 您必须在路由器上查找它。)现在可以访问您的服务器。

上面没有为我做任何事 - 起初。你还需要做更多的事情。但首先 - 你不需要做什么。您无需将WAMP设置从“离线”更改为“在线”。对我来说 - 改变那个设置并没有做任何事情。未知原因 - 它只是没有。如果你愿意,可以改变它 - 但我认为不需要改变它。

那么还需要改变什么呢?您必须一直回到httpd.conf文件的开头才能进行下一次更改,这非常简单。您必须在

之后添加新行
Listen Localhost:80

添加

Listen 192.168.78.###:80

&#34; ###&#34;是您的服务器所在的IP。所以,让我们说你的服务器是在IP号码234上。然后上面的命令将成为

Listen localhost:80
Listen 192.168.78.234:80

再次 - &#39; 78&#39;只是我选择的任意数字。要获得真实的IP号,您必须打开命令窗口并输入

ipconfig/all

命令。查找您的TCP / IPv4号码并将其设置为该号码或TCP / IPv6(如果这就是您所拥有的号码)(尽管在内部路由器设置上您通常具有IPv4号码)。

注意:如果你不知道如何打开一个命令窗口 - 你点击开始,选择&#34;运行&#34;选项,然后键入&#34; cmd.exe&#34;在没有引号的对话框中。在较新的系统上(因为它们不断改变一切)可能是白色的窗户图标或圆圈或比尔盖茨上下跳跃。无论是什么 - 点击它。

完成上述操作后 - 重新启动所有服务,一切都会好起来。

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

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

因此,如果您觉得有冒险精神 - 更改主机文件并单独保留Listen命令,或者只需更改Listen命令以侦听服务器上的端口80.

NEW (我忘了加入这一部分)

您可能需要更改TCP / IP地址。 (已经设置好了,所以我不需要这样做。)您需要查找操作系统如何到达定义TCP / IP地址的位置。在Windows XP下,这是控制面板 - &gt;网络连接。这在以后的操作系统中发生了变化,因此您必须查找如何到达那里。无论如何,在那里,您将看到您的无线网络连接或本地连接(Windows)。基本上是WIFI或以太网电缆。选择活动且正在使用的那个。在Windows下,然后右键单击并选择“属性”。应弹出一个对话框,您应该看到一个复选框列表,其中包含它们的一部分。寻找适合TCP / IP的那个。应该有一个说TCP / IP v4 。选择它。 (如果没有 - 您应该谨慎行事。)单击“属性”按钮,您将看到另一个对话框。这个显示&#34;自动获得IP地址&#34;或&#34;使用以下IP地址&#34;选择。如果它是第一个,那么你必须将它改为第二个。但是在你这样做之前 - 打开一个命令窗口并输入ipcongfig / all命令,这样就可以在你面前找到你的默认网关。然后从&#34;获取...&#34;到&#34;使用...&#34;。它所说的&#34; IP地址&#34;放入您想要使用的IP地址。这是您在上面的Listen命令中输入的IP地址。第二行(子网掩码)通常为255.255.255.0,这意味着只有最后一个数字(即:0)发生变化。然后,回顾一下放在默认网关中的命令窗口。最后,但并非最不重要的,当你从&#34;获得......&#34;到&#34;使用...&#34; DNS设置可能已更改。如果处理DNS设置的部分已更改为&#34;使用...&#34;它是空白的 - 答案很简单。只需查看ipconfig / all输出,找到那里的DNS设置并将它们放入提供的字段中。完成后,单击“确定”按钮,然后单击第二个“确定”按钮。对话框关闭后,您可能必须重新启动系统才能使更改生效。通过访问Google或Stack Overflow尝试一下。如果你仍然可以去地方 - 那么就不需要重启。否则,重启。记得!如果你之后无法上网,那么你所做的就是回去并重置所有内容到&#34;获取......&#34;选项。在进行更改后,您无法再上网的最可能原因是,您选择使用的TCP / IP地址已被路由器使用。谚语&#34;只有一个&#34;也适用于TCP / IP地址。这就是为什么我总是挑选一百个数字或两百个数字的原因。因为大多数DHCP设置使用小于50的数字。因此,这样您就不会与其他人的TCP / IP号冲突。

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

答案 5 :(得分:1)

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

中这样做

而是编辑\wamp\bin\apache\apache{version}\conf\extra\httpd-vhost.conf并为localhost

定义的虚拟主机执行相同的chnage

WAMPServer 3附带了为localhost

预先定义的虚拟主机

答案 6 :(得分: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

答案 7 :(得分:0)

如果你使用Windows,如果你在上面做了所有评论,

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

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

感谢好工作!

答案 8 :(得分:0)

多年来,我一直将 WAMP 与多个虚拟主机一起使用,并且在 WAMP 机器上一切正常。

几天前,我需要测试 LAN 上其他计算机上的站点之一,然后再将其发布到网上。

这是我的设置,主要基于这篇文章中的答案/评论:

  • 托管在 WAMP 服务器中的所有站点都有一个“域”.local (mydomain*.com => mydomain*.local)
  • 对于所有站点,http 流量都被重定向到 https

需要进行以下更改才能使其适用于所有 LAN 计算机

  1. httpd.conf - 没有变化,也没有必要把 WAMP Online
  2. 对于 httpd-vhosts.conf 目录部分中的所有虚拟主机(以及启用 https 的站点的 httpd-ssl.conf)
<块引用>
#Require local
#Require all granted # also works
#Allow from all # works for all LAN
Allow from 192.168.55.*
  1. 在 Windows 防火墙中启用 httpd.exe
  2. 为 LAN 中每台计算机上的 hosts 文件中的每个 mydomain*.local 设置 DNS 记录
<块引用>

192.168.55.221 mydomain*.local

192.168.55.221 是 WAMP 服务器的地址。如果你有像我一样的本地 DNS 服务器(Pi-hole),你可以在那里做。

更新 如果局域网中的任何设备使用 VPN,并且在路由器上设置了 DNS 服务器地址,则 DNS 服务器方法将不适用于这些设备。您必须在主机文件中设置 DNS 记录!

此设置适用于 VMWare 上的每台 Win PC、平板电脑/手机和 Win VM。奇怪的是,它不适用于 Ubuntu 20.04(在 VMWare 和 Raspberry PI4B 上)。我想我必须学习如何在 Ubuntu 上设置 DNS!

答案 9 :(得分:-1)

将您的wamp服务器联机enter image description here

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

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

答案 10 :(得分:-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的内容。