Wamp 服务器上线不工作
Wamp server Put Online is not working
我按照以下步骤设置了 Wamp,但无法从网络中的不同机器访问服务器。我做错了什么?
- 已安装 Wamp 64 位版本 3.0.4,它随 Apache 版本 2.4.18 一起提供
- 启动Wamp服务器,右击系统托盘图标,选择
Wamp settings
下的Menu item : Online / Offline
- 单击(左键单击)系统托盘图标并选择
Put Online
- 当我尝试从网络中的另一台机器访问服务器时,服务器 return 一个带有错误消息
You don't have permission to access / on this server
的错误页面
我直接编辑httpd-vhosts.conf文件,重启所有服务,还是报同样的错误。下面是httpd-vhosts.conf文件的内容和我的系统IP
httpd-vhosts.conf
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot C:/Users/dinesh/Softwares/Wamp64/www
<Directory "C:/Users/dinesh/Softwares/Wamp64/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 100.97.67
</Directory>
</VirtualHost>
系统IP
mintty> ipconfig | grep IPv4
IPv4 Address. . . . . . . . . . . : 100.97.67.11
mintty>
Put Online/ Offline
菜单项已设为可选,默认情况下不可见,因为它在 WAMPServer 3 中基本上不再起作用。
在 WAMPServer 3 中,现在有一个为 localhost
定义的虚拟主机,它控制着 httpd.conf
文件中定义的本地主机。
如果您查看新的菜单结构,Apache 菜单中有一个名为 httpd-vhosts.conf
的新菜单项,请参见下文
这会将 Apache 虚拟主机定义文件加载到您的默认编辑器中。它应该看起来像这样:
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
要允许从您网络上的特定计算机访问,请添加例如
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
</Directory>
</VirtualHost>
或者要允许网络中的所有 PC 访问,只需将 4 个四分位数中的前 3 个添加到 require
,该子网内的任何 ip 都将被允许
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 192.168.1
</Directory>
</VirtualHost>
If you do not see this menus then you will need to upgrade to WAMPServer 3.0.5 from here https://sourceforge.net/projects/wampserver/files/WampServer%203/WampServer%203.0.0/Updates/wampserver3_x86_x64_update3.0.5.exe/download
It is a simple upgrade over WAMPServer 3.0.4
或者,直接编辑 \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf
文件。
Dont forget to restart Apache after changing this file.
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
#
替换为
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
#Require local
</Directory>
</VirtualHost>
#
如果您已完成其他答案建议的所有操作,但仍然无法正常工作,请确保您的端口 80 未被其他应用程序使用。
快速查看 运行 命令提示符中的 netstat -a -b 命令。
在我的例子中,Skype 使用的是端口 80,我可以通过进入 Skype 的高级设置来停止。
我有一个恼人的问题。 Windows 防火墙有让 apache 通过的规则,但它是 apache 的旧版本,因此不适用于新版本。必须更新规则中的 apache 版本并将其添加到专用部分。 Windows10.
我按照以下步骤设置了 Wamp,但无法从网络中的不同机器访问服务器。我做错了什么?
- 已安装 Wamp 64 位版本 3.0.4,它随 Apache 版本 2.4.18 一起提供
- 启动Wamp服务器,右击系统托盘图标,选择
Wamp settings
下的Menu item : Online / Offline
- 单击(左键单击)系统托盘图标并选择
Put Online
- 当我尝试从网络中的另一台机器访问服务器时,服务器 return 一个带有错误消息
You don't have permission to access / on this server
的错误页面
我直接编辑httpd-vhosts.conf文件,重启所有服务,还是报同样的错误。下面是httpd-vhosts.conf文件的内容和我的系统IP
httpd-vhosts.conf
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot C:/Users/dinesh/Softwares/Wamp64/www
<Directory "C:/Users/dinesh/Softwares/Wamp64/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 100.97.67
</Directory>
</VirtualHost>
系统IP
mintty> ipconfig | grep IPv4
IPv4 Address. . . . . . . . . . . : 100.97.67.11
mintty>
Put Online/ Offline
菜单项已设为可选,默认情况下不可见,因为它在 WAMPServer 3 中基本上不再起作用。
在 WAMPServer 3 中,现在有一个为 localhost
定义的虚拟主机,它控制着 httpd.conf
文件中定义的本地主机。
如果您查看新的菜单结构,Apache 菜单中有一个名为 httpd-vhosts.conf
的新菜单项,请参见下文
这会将 Apache 虚拟主机定义文件加载到您的默认编辑器中。它应该看起来像这样:
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
要允许从您网络上的特定计算机访问,请添加例如
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 192.168.1.100
Require ip 192.168.1.101
</Directory>
</VirtualHost>
或者要允许网络中的所有 PC 访问,只需将 4 个四分位数中的前 3 个添加到 require
,该子网内的任何 ip 都将被允许
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require ip 192.168.1
</Directory>
</VirtualHost>
If you do not see this menus then you will need to upgrade to WAMPServer 3.0.5 from here https://sourceforge.net/projects/wampserver/files/WampServer%203/WampServer%203.0.0/Updates/wampserver3_x86_x64_update3.0.5.exe/download It is a simple upgrade over WAMPServer 3.0.4
或者,直接编辑 \wamp\bin\apache\apache{version}\conf\extra\httpd-vhosts.conf
文件。
Dont forget to restart Apache after changing this file.
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
#
替换为
#
# Virtual Hosts
#
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
#Require local
</Directory>
</VirtualHost>
#
如果您已完成其他答案建议的所有操作,但仍然无法正常工作,请确保您的端口 80 未被其他应用程序使用。
快速查看 运行 命令提示符中的 netstat -a -b 命令。
在我的例子中,Skype 使用的是端口 80,我可以通过进入 Skype 的高级设置来停止。
我有一个恼人的问题。 Windows 防火墙有让 apache 通过的规则,但它是 apache 的旧版本,因此不适用于新版本。必须更新规则中的 apache 版本并将其添加到专用部分。 Windows10.