WAMP 2.5(Apache 2.4.9)支持从LAN上的所有计算机进行访问

时间:2015-12-18 22:00:42

标签: apache wampserver

我使用WAMP在本地构建了2个网站,我想让任何人或本地网络都可以访问它。

我在 httpd-vhosts.conf 中设置了2个具有以下配置的虚拟主机:

#Vistage
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/wamp/www/vistagebusinessexpo.com"
    ServerName vistagebusinessexpo.local
    ServerAlias www.vistagebusinessexpo.local
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
    <Directory  "C:/wamp/www/vistagebusinessexpo.com">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
    </Directory>
</VirtualHost>

#CaterCon
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "c:/wamp/www/catercon.com"
    ServerName catercon.local
    ServerAlias www.catercon.local
    ErrorLog "logs/dummy-host2.example.com-error.log
    CustomLog "logs/dummy-host2.example.com-access.log" common
    <Directory  "C:/wamp/www/catercon.com">
        AllowOverride All
        Options Indexes FollowSymLinks
        Allow from 127.0.0.0/8 localhost ::1 10.1.1
    </Directory>
</VirtualHost>

我的 Windows / System32 / drivers / etc / hosts 文件配置如下:

127.0.0.1       localhost
127.0.0.1       vistagebusinessexpo.local
::1             vistagebusinessexpo.local
127.0.0.1       catercon.local
::1             catercon.local

问题是,每次我尝试从网络中的任何其他计算机连接时,我都会收到“错误403拒绝访问/禁止访问”

到目前为止,我尝试了多项建议:

  • 点击“放置在线”按钮,然后尝试使用IPAdress / website.local
  • 访问网站
  • 修改 httpd.conf 文件以允许访问本地网络上的所有IP
  • httpd.conf 文件修改为“允许来自允许”

目前我的解决方案已经用完了

3 个答案:

答案 0 :(得分:2)

好的,

第1点:配置自己的虚拟主机后,Put Online and Put Offline菜单的使用就变得无关紧要了,因为Apache会忽略httpd.conf文件中配置的本地主机,这是使用这些菜单修改的唯一内容。

第2点:您应该将localhost配置为虚拟主机以及其他站点。它应该是定义文件中的第一个VH,因此将其作为默认站点,如果有人使用您服务器的IP地址,只要您将其配置为Require local,就会获得“不允许访问”。 / p>

第3点:出于某种原因,您在一个VH中使用Apache 2.2访问语法,而在另一个VH中使用2.4。在使用Apache 2.4时,请坚持使用2.4语法。如果你在Apache中激活了mod_access_compat.so,那么2.2语法就可以了,但为什么要打扰

Point5:您的每个VHOST现在都可以单独配置,但必须手动完成(编辑并重启Apache)

我可以建议您将此作为httpd-vhosts.conf文件

#localhost
# Always have this as the first VHOST
# Never have access set to anything other than 'require local'
# The any access using ip address of your server will get sent here
## and get a Not Allowed Error
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot c:/wamp/www
    <Directory  "c:/wamp/www/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

#Vistage
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/vistagebusinessexpo.com"
    ServerName vistagebusinessexpo.local
    ServerAlias www.vistagebusinessexpo.local
    ErrorLog "logs/vistagebusinessexpo-error.log"
    CustomLog "logs/vistagebusinessexpo-access.log" common
    <Directory  "C:/wamp/www/vistagebusinessexpo.com">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
        Require ip 10.1.1
    </Directory>
</VirtualHost>

#CaterCon
<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/catercon.com"
    ServerName catercon.local
    ServerAlias www.catercon.local
    ErrorLog "logs/catercon-error.log
    CustomLog "logs/catercon-access.log" common
    <Directory  "C:/wamp/www/catercon.com">
        AllowOverride All
        Options Indexes FollowSymLinks
        Require local
        Require ip 10.1.1
    </Directory>
</VirtualHost>

答案 1 :(得分:1)

我这样做了,它有效! 我知道在httpd.conf中创建虚拟主机并不是一个好习惯,但是经过很多麻烦之后它才起作用,并且同一网络中的PC也可以访问我的网站:

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

这是针对localhost的。

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www/mysite/"
    DirectoryIndex index.php
    ServerName mysite.com
    <Directory "c:/wamp/www/mysite/">
            AllowOverride All
        Options Indexes FollowSymLinks
        Require all granted     
    </Directory>
    </VirtualHost>

这对于网站来说。与RiggsFolly的答案非常相似。

同样在同一文件中将<Directory />修改为:

<Directory />
AllowOverride All
Require all denied
</Directory>

最后在C:\ Windows \ System32 \ drivers \ etc \ host中,添加127.0.0.1 mysite.com

对于其他PC,只需添加其主机文件即可访问您的网站:

your-ip    mysite.com

问候。

答案 2 :(得分:0)

在apache 2.4中,更改所有Require local by Require all for the files:

C:/-> wamp64 -> bin -> apache 2.4.X -> config -> httpd.conf
C:/-> wamp64 -> bin -> apache 2.4.X -> config -> extra -> httpd-vhost.conf