apache

apache userdir的使用[原创]

昨天有人在qq群里问了个问题,当他用apache开启了userdir_mod后,总是出现Permission denied的错误日志,为此我也亲自用vmvare测试了一下,我就把我的解决办法写出来
我的apache版本是2.2.9
首先编辑httpd.conf,找到

# Language settings
#Include conf/extra/httpd-languages.conf

# User home directories
Include conf/extra/httpd-userdir.conf        #找到这行,并去掉前面的“#”符号

# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf

conf/extra/httpd-userdir.conf这个文件可以默认不用修改,然后添加用户

useradd test
su - test
mkdir public_html
echo "test">public_html/index.html

然后启动apache,如果没有报错,就可以使用http://yourip/~test/
就应该可以看到“test”这个内容了
不过遗憾的告诉大家,经过我这样做,结果errorlog中还是有

[Tue Aug 26 18:07:09 2008] [error] [client 192.168.213.1] (13)Permission denied: access to /~test/ denied
[Tue Aug 26 18:07:10 2008] [error] [client 192.168.213.1] (13)Permission denied: access to /~test/ denied
[Tue Aug 26 18:08:11 2008] [error] [client 192.168.213.1] (13)Permission denied: access to /~test/ denied

后来群里那哥们说他把selinux关了之后就搞定,既然兄弟这样说,那我就做吧,先检查了一下目前我的selinux的状态,发现我的selinux本身就是关的,那看来问题不在此处,继续在网上翻阅,最后在一个论坛中发现,如果想访问各个用户,用户目录必须对apache来说有X的权限,所以赶紧试了一下

chmod -R +x /home/test/

这次再访问http://yourip/~test/,久违的test内容果然出现了至此问题解决

总结:1,关闭selinux 
   2,用户目录对apache需要有x的权限

参考文章:http://www.linuxquestions.org/questions/linux-server-73/user-directories-permission-problem-571332/

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *