Apache访问home目录错误的解决办法
一些废话。。。
最近把台式机的系统由XP换成了Fedora,想看看它跟Ubuntu有哪里不一样。
大致看下来,就是少数几个配置文件存放的地方不一样,比如Ubuntu/Debian里apache就叫apache,而在Fedora里叫httpd这个更通用的名字。
Ubuntu/Debian配置文件在/etc/apache/而Fedora在/etc/httpd里。
还有就是yum和apt-get的区别了。yum可真够慢的,而且有些依赖还解决不了,需要人肉解决。
安装Apache+PHP+MySQL也不麻烦,一个yum就搞定。
背景描述
因为我会开发一些web程序,这些程序都在/home/roger下,所以我需要将/var/www/html变成符号链接(Symbolic Link),这样切换项目的时候很方便,直接把需要的项目引用改名成html即可。
比如:
cgi-bin error html icons proj_a proj_b proj_c proj_d
SELinux关闭之前
但是我发现启动Apache的时候会报一个错误:意思是主目录不能是个链接目录。搜索了一下,发现是SELinux的问题,把SELinux关闭即可。可以google一下如何关闭。
SELinux关闭之后
现在Apache服务起来了,但是访问http://localhost会报403错误。Apache的error_log为: [Sun Mar 06 12:50:14 2011] [error] [client 127.0.0.1] Symbolic link not allowed or link target not accessible: /var/www/html
初步判断
一看是符号链接问题,我就开始尝试去掉符号链接,在/var/www/建立一个叫html的目录,发现错误消失了,感觉像是权限问题。但是我已经把需要apache访问的这些文件权限设置到777了,还是不行。
进一步尝试
接下来一步步做排除,首先把主目录设置到了用户目录下,还是报403错误,一查日志,发现错误描述变为: [Sun Mar 13 10:08:10 2011] [error] [client 127.0.0.1\] (13)Permission denied: access to /website/sina.php denied
错误号13表示文件系统的权限不正确,由于我对linux也是个半瓶醋,所以继续google。
转机
找到一个人说用namei -m /home/roger/website/sina.php查看每一级目录的权限。
dr-xr-xr-x /
drwxr-xr-x home
drwx------ roger
drwxrwxr-x website
-rw-r--r-- sina.php
哈哈,看到问题了吧,是roger这个目录对非owner都没权限,改一下这个目录的权限为711即可。
- ← Previous
给米小兔的信: 爸爸希望你能成为一个会独立思考的人 - Next →
家里升级了成了光纤接入(上海电信FTTH)