关于我们 广告服务 社区论坛
设为首页 加入收藏

行业新闻
服 务 器
模版下载
建站指南
冲浪宝典
办公软件
网站运营
操作系统
QQ 专题
网页制作
安全防御
视频教程
网络编程
SEO专区
软件下载
图像设计
Cisco
网页特效
Wap 技术
联盟赚钱
网页素材
 首页 | 企业建站 | 网页制作 | 网站运营 | 网络编程 | 图像设计 | 冲浪宝典 | 操作系统 | SEO专区 | 联盟赚钱 | Cisco

欢迎来到e天下网络首页>>网络编程>>PHP>>正文|Httpd 2.2.0虚拟主机目录权限设置问题

Httpd 2.2.0虚拟主机目录权限设置问题

[ 来路:21kn.com    时间:2007-7-8 14:52:38    点击: ]

 

 因为手里可用服务器资源有限,只能用apache虚拟机来完成更多的工作任务。当前的apache版本是2.2.4,与以前的版本相比,有很多地方做了改进,最大的一个差别是在主配置文件中以包含文件的方式把虚拟机单独做成一个文件,当然差别还有很多,这里只关注虚拟机。

系统solaris 10
Apache版本httpd-2.2.0
网络接口地址192.168.27.201
Apache的安装路径/usr/local/apache2/
虚拟机的方式端口8088

  修改主配置文件/usr/local/apache2/conf/httpd.conf。用编辑器(vi等)打开主配置文件httpd.conf,把Include conf/extra/httpd-vhosts.conf这行(大概在395行的位置)前面的注释取消,使其包含功能生效。再在主配置文件加入虚拟机的监听“Listen 192.168.27.201:8088”(第一个字母‘L’是大写的)。修改加入的内容如下所示:

Listen 192.168.27.201:8088…………..(省略若干,不用修改的地方)Include conf/extra/httpd-vhosts.conf  //虚拟机配置单独用一个文件,//这种方式是主配置文件变小了,更易于维护。

修改虚拟机配置文件。它的目录在主配置文件httpd.conf中以包含的方式(Include)指出了路径是 /usr/local/apache2/conf/extra/httpd-vhosts.conf,如果打算用其他的文件,可以在主配置文件中重新指定。这个虚拟机配置文件是一个模版,给出了2个apache虚拟机的事例,把它们全部注释掉!注:如果是基于域名的虚拟机机制,NameVirtualHost *.80这行是必须的,因为我这里是基于端口(确切的说是基于IP地址)的虚拟机制,所以要把它注释掉。先照着模版加入下面的块到httpd-vhosts.conf:

< VIRTUALHOST 192.168.27.201:8088>DocumentRoot "/www/docs"    //虚拟机根文档目录ServerName 192.168.27.201:8088< /VIRTUALHOST>

然后回到apache的安装目录执行命令 bin/apachectl –t检查主配置文件语法是否正确,无误后再执行bin/apachectl –S 检查虚拟机的语法是否正确。接下来在虚拟机的根文档目录创建一个测试文档test.html,启动apache服务 bin/apachectl start&,用浏览器访问http://192.168.27.201,显示apache的默认页面,表明主配置文件是正常的;再访问http://192.168.27.201:8088/test.html.返还代码 403(禁止访问),页面内容为“你无法查看该网页…”,同样的问题已经有2个人遭遇过了,他们都一致认为,以前在apache1.3等老版本上就是这样设置的,应该不会这样呀!并且语法检查也通过了,是什么问题呢?打开主配置文件conf/httpd.conf,发现如下的块:

< DIRECTORY />Options FollowSymLinksAllowOverride NoneOrder deny,allow     //先拒绝后允许Deny from all        //拒绝所有的访问< /DIRECTORY>

这一个块就是对目录进行访问控制的,而且设置得非常严格,因此,我们必须手动加入虚拟机目录的权限控制块,才可以让用户正常访问虚拟机的目录及页面文件。有两个地方可以加入虚拟目录访问权限控制块:主配置文件httpd.conf和虚拟机配置文件httpd-vhost.conf,加在那一个地方更合适呢?当然选虚拟机配置文件,最重要的理由是维护起来更方便,可能也涉及安全方面的问题(这个我没有做个测试)。接下来就把目录访问控制块插入到虚拟机配置文件,其形式如下:

< VIRTUALHOST 192.168.27.201:8088>DocumentRoot "/www/docs"    ServerName 192.168.27.201:8088< DIRECTORY docs? www ?>     //插入开始处Options -Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all< /DIRECTORY>               //插入结束处< /VIRTUALHOST>

完成文件,检查语法,重启apache服务,再用浏览器访问虚拟机地址,这下应该正常了。

::::站长友情提示:多花一分钟学点什么都好::::

 

上一篇:应用技巧:用PHP简易实现中文分词  下一篇:实例:用PHP技术解决网站URL格式过长的问题

 ::热点信息::

 

= = 免责声明 = =

① 欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com

::推荐文章::

 

ASP教程:详细学习ASP的内置对象

::图像设计::

 

动态图片搜索家——GIF RUNN
软件搜索利器——FileFerret
实例说明构图要讲规律
Character Builder让你尽展靓
全景图速成者Cool360
三维模型速成工具——Canoma
剪贴专家SmartBoard 32
新世纪的图像处理利器——Ph
更多内容..

 

 

关于我们 广告服务 友情链接 合作伙伴 社区论坛 免责声明

Copyright © 2007   21kn.com Inc. All rights reserved.e天下网络工作室

网站白天客服QQ:26875416 (非24小时)  合作QQ:597004688    粤ICP备06026423号