这几天使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的环境虚拟主机,于是总结一下Apaceh配置httpd-vhosts虚拟主机使用方法和步骤,便于查找和使用。
开发环境:WAMP
网址:http://www.wampserver.com/en/
--------------------------------------------------------------------
打开httpd文件,找到如下语句
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
- </Directory>
-------------------------------------------------------------------
1,用记事本打开apache目录下httpd文件(如:D:/wamp/bin/apache/apache2.2.8/conf),找到如下模块
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
去掉前面的#,这样就开启了httpd-vhosts虚拟主机文件。这时候重启wamp环境,无法打开localhost,需要在httpd-vhosts.conf配置一下。
2,用记事本打开httpd-vhosts文件,配置好localhost虚拟主机,参照httpd-vhosts文件中实例,修改成如下:
- <VirtualHost *:80>
- ServerAdmin webmaster@localhost
- DocumentRoot “D:/wamp/www/”
- ServerName localhost
- ServerAlias localhost
- ErrorLog “logs/dummy-host.localhost-error.log”
- CustomLog “logs/dummy-host.localhost-access.log” common
- </VirtualHost>
修改配置如下:
DocumentRoot 修改为本地wamp环境下的www目录(如:D:/wamp/www)
ServerName改为localhost
3,重启Apache,发现localhost可以正常打开,配置localhost比较简单。
实例二,Apaceh配置www.host.com虚拟主机步骤
1,方法同上,复制配置代码修改如下:
- <VirtualHost *:80>
- ServerAdmin webmaster@www.host.com
- DocumentRoot E:/Web/Root/biuuu
- ServerName www.host.com
- ErrorLog “logs/dummy-host2.localhost-error.log”
- CustomLog “logs/dummy-host2.localhost-access.log” common
- </VirtualHost>
2,打开host文件(C:/WINDOWS/system32/drivers/etc/hosts),增加一行代码
- 127.0.0.1 www.host.com
3,在浏览器中打开www.host.com,发现如下错误403 Forbidden错误(这是我今天遇到的问题)
Forbidden
You don’t have permission to access / on this server.
下面是我在网上搜索到的答案一 开始
分析:这主要是目录访问权限没有设置,需要设置对目录的访问权!
4,打开httpd文件,找到如下语句
- <Directory />
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
- </Directory>
复制以上代码,并进行目录修改,把/替换为E:/Web/Root/biuuu,修改virtualHost代码如下
- <VirtualHost *:80>
- ServerAdmin test@biuuu.com
- DocumentRoot E:/Web/Root/biuuu
- ServerName test.biuuu.com
- ErrorLog “logs/dummy-host2.localhost-error.log”
- CustomLog “logs/dummy-host2.localhost-access.log” common
- <Directory E:/Web/Root/biuuu>
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
- </Directory>
- </VirtualHost>
在浏览器中测试发现还是打不开,提示如上403 Forbidden错误,修改其中的Deny from all为allow from all
5,重启Apache,虚拟主机配置成功!
上面是我在网上搜索到的答案一 结束
我网上寻找了很多,都是说一些防火墙或者杀毒软件造成的。
后台我看到上面的答案之后,发现Deny from all。刚开始我没有注意到,我还在后面加上了 Allow from 192.168.101.213。
发现这个之后我才知道的错误在哪里。文中加粗的地方就是我的解决方法 Deny from all 修改为 allow from all
- <VirtualHost *:80>
- ServerAdmin webmaster@www.host.com
- DocumentRoot “D:/wamp/www/”
- ServerName www.host.com
- ErrorLog “logs/www.host.com-error.log”
- CustomLog “logs/www.host.com-access.log” common
- </VirtualHost>
我的配置是这样写的。我也是一名新手,你每多配置一个本地的虚拟目录如果你填写的域名没有注册那就需要在host里添加一个
每配置一个就添加一个以此类推。你懂我懂大家都懂
注意事项
- 目录路径,如E:WebRootbiuuu
- 访问权限,如上Deny from all修改为allow from all
- host文件,配置虚拟域名host指向
- httpd文件,打开Include conf/extra/httpd-vhosts.conf模块
- httpd-vhosts文件,配置虚拟主机
使用Apaceh配置httpd-vhosts虚拟主机对于开发人员来说比较简单,但却非常重要,仅供参考!
参考资料:
- http://httpd.apache.org/docs/2.2/vhosts/
- http://httpd.apache.org/docs/2.0/vhosts/examples.html
网络搜寻到如发生Fatal error: Allowed memory size of 8388608 bytes exhausted错误