以前都是拿别人的代码自己改一下来用,这次从原始配置自己动手做一边发现问题还挺多.
首先编辑httpd.conf,
查找 Include conf/extra/httpd-vhosts.conf,把前面注释符号“#”删掉,
查找 ServerName 所在行,用#注释掉,
查找 DocumentRoot 所在行,用#注释掉,
这样就开启了httpd-vhosts虚拟主机文件.网上说这时候重启wamp环境,无法打开localhost,我试了一下,是可以访问的.
然后编辑httpd-vhosts.conf,
参照httpd-vhosts文件中实例,修改成如下:
首先配置localhost:
NameVirtualHost *:80
ServerAdmin [email protected] #localhost管理员的邮箱
DocumentRoot “X:/wamp/www/” #localhost的根目录(本地wamp环境下的www)
ServerName localhost #localhost的域名
ServerAlias localhost #localhost的其他域名
ErrorLog “logs/dummy-host.localhost-error.log” #localhost的错误日志
CustomLog “logs/dummy-host.localhost-access.log” common #localhost的访问日志
然后添加其他虚拟主机:
ServerAdmin [email protected] #本虚拟主机管理员的邮箱
DocumentRoot “X:/wamp/www/xx” #本虚拟主机的根目录
ServerName www.xx.com #本虚拟主机的域名
ServerAlias *.xx.com #本虚拟主机的其他域名
ErrorLog “logs/dummy-host.localhost-error.log” #本虚拟主机的错误日志
CustomLog “logs/dummy-host.localhost-access.log” common #本虚拟主机的访问日志
这个时候应该就可以访问了,可以在本机hosts文件中重新定向域名来测试,
如果出现403错误,出现权限问题,应考虑系统和配置文件两方面,
系统:
win的NTFS文件格式是有一些权限设置的,需要设置,这里没有研究,直接设为everyone完全控制,
linux的权限建议设为755,
配置:
在httpd.conf中增加所使用目录的权限设置,一般加在和(如果有的话)的下面:
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all #注意这里
另外,在win中貌似是支持目录用”\”的,不过还是建议与linux统一使用”/”,
引用:
“”
说明一下,NameVirtualHost *:80和中 的*为当前服务器IP,如果有固定IP可以用IP把*替换掉,我这里使用的是动态IP,所以用*,我看apache帮助文档的时候,一直认为这里的*为对 应的域名,这个想法应该是错误的,因为我填上域名的时候一直没有设置成功。ServerName这个填域名,DocumentRoot填 ServerName上域名对应的根目录。
“”