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

简介:


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

作者:田逸 ([email]sery@163.com[/email] 发表于 [url]http://os.51cto.com/art/200705/47658.htm[/url]
 
因为手里可用服务器资源有限,只能用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,如果打算用其他的文件,可以在主配置文件中重新指定。这个虚拟机配置文件是一个模版,给出了2apache虚拟机的事例,把它们全部注释掉!注:如果是基于域名的虚拟机机制,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&,用浏览器访问[url]http://192.168.27.201[/url],显示apache的默认页面,表明主配置文件是正常的;再访问[url]http://192.168.27.201:8088/test.html.[/url]返还代码 403(禁止访问),页面内容为“你无法查看该网页,同样的问题已经有2个人遭遇过了,他们都一致认为,以前在apache1.3等老版本上就是这样设置的,应该不会这样呀!并且语法检查也通过了,是什么问题呢?打开主配置文件conf/httpd.conf,发现如下的块:
<Directory />
Options FollowSymLinks
AllowOverride None
Order 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 "/www/docs">      // 插入开始处
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>                // 插入结束处
 
</VirtualHost>
完成文件,检查语法,重启apache服务,再用浏览器访问虚拟机地址,这下应该正常了。
















本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/27671 ,如需转载请自行联系原作者

相关文章
vsftp的默认目录那点事
   1、vsftpd 的默认根目录是/var/ftp/ 默认配置下,匿名用户登录vsftpd 服务后的根目录是/var/ftp/ 如图:的对应关系   2、系统用户登录  (vsftpd 服务后的根目录是系统用户的家目录。
3694 0
|
6月前
vsftpd winscp 获取不了远程目录
vsftpd winscp 获取不了远程目录
52 0
|
网络协议 前端开发 Apache
Apache配置虚拟主机
Apache配置虚拟主机
257 0
Apache配置虚拟主机
|
网络协议 安全 网络安全
centos7.6部署vsftpd服务实现一个用户一个访问目录
本文章分为2部分,分别是FTP的理论部分和实战部分 FTP原理以及相关理论 FTP文件传输协议,是典型的C/S结构的应用层协议,需要由服务端软件、客户端软件两部分共同实现文件传输功能。 FTP文件传输协议提供文件上传和下载,可以在局域网使用,也可以在互联网使用。 FTP属于应用层协议,同时也属于TCP,TCP的好处:安全、可靠、有连接、速度慢,通过ftp可以传输文件
259 0
centos7.6部署vsftpd服务实现一个用户一个访问目录
|
开发工具
vsftp为不同用户设置不同的ftp的根目录
需求要求ftp登录后的根目录是/var/test/,但是又不能影响其他用户的登录路径,因为有些程序是直接在根目录进行操作的,而没有目录切换的过程。操作过程新建用户useradd test1useradd test2passwd test1passwd test2vsftpd配置# 用户登录路径,lo...
2201 0
|
网络协议 Linux
|
Linux 数据安全/隐私保护