您的位置:首页 > 运维架构 > Apache

apache2.4配置虚拟目录和虚拟主机

2016-10-14 12:41 351 查看
刚开始学习,跟着韩顺平老师的视频课件学习ing~

这是自己在配置虚拟目录时遇到的问题以及解决办法,记录下来~

---------------------------分割线君-------------------------------

我的apache安装目录为E:\apache\Apache24

想要配置的目录为D:\myblog 中的网页文件
step1 添加虚拟目录节点

找到E:\apache\Apache24\conf 中的httpd.conf文件,增加下图红框中代码



step2 注释documentroot路径



 step3 测试(先重启apache)
http://localhost:8080/myblog 
按照韩老师的教程,理论上这样是可以成功的了。但是我测试时出错了,此时意识到可能是版本不同的问题,我的是2.4版,韩老师是2.2版~

接下来找错~

--------------------------------分割线君-----------------------------------------------------------------------------------------------------------
此时重启apache出错,如下图



检查错误原因,因为我只是修改了httpd.conf文件,所以一定是该文件问题,所以查找具体哪句代码问题。

方法:进入cmd 然后进入 Apache安装目录(具体为你自己的安装目录)\bin>

输入 httpd.exe -w -n "Apache2.4" -k start

(引号中的Apache2.4修改为你的Apache服务名,我的是2.4.20版,服务名就是Apache2.4,可以到计算机服务里找,如下图)



提示288行有问题时(提示:Syntax error on line 288 of ...........Invalid command 'Order'......),如下图



为什么'Order' 有问题呢——版本问题

在Apache2.4版本中,提供了由mod_authz_host支持的新的访问控制配置语法。

而2.2版本中的Order、Allow等命令在新版本中也可以得到兼容,实现这个兼容功能的模块就是mod_access_compat。

所以Load这个模块后,apache2.4就能识别这些语句了。



此时apache重启成功,所以开心地去测试了,但是。。。



从字面意思理解,这应该是访问权限问题,注释掉Require all denied,如下



重启apache,测试成功



转载地址:http://www.cnblogs.com/seaBiscuit0922/p/5551371.html

下面的是配置虚拟主机

step1 启用 httpd-vhosts.conf

找到E:/apache/Apache24/conf 中httpd.conf 文件,取消注释下面这句话



step2 在 httpd-vhosts.conf 文件中做配置
找到E:/apache/Apache24/conf/extra 中httpd-vhosts.conf 文件,在文件末尾加如下代码



step3 修改hosts文件
找到C:/Windows/System32/drivers/etc 中hosts文件,增加如下代码



step4 测试
重启apache,输入 www.kailisi.com 进行测试,结果没反应,什么都不显示,如下图



但是输入 www.kailisi.com:8080 ,就能成功,如下图



转载路径:http://www.cnblogs.com/seaBiscuit0922/p/5557647.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: