youdonthavepermissiontoaccessonthisserver解决
时间:2014-10-13 17:34来源:有何不可作者:有何不可点击:56151次
项⽬部署到Apache Http Server上⾯,通过apachectl -t 检测配置⽂件也没有问题。可是通过浏览器访问,却出现了“you don't have permission to access / on this server”.
项⽬部署到Apache Http Server上⾯,通过apachectl -t 检测配置⽂件也没有问题。可是通过浏览器访问,却出现了“you don't have permission to access / on this server”.
1、⾸先,查看conf.f⽂件
<Directory "项⽬路径">
Options Indexes FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
上⾯标红部分,表⽰允许任何⼈访问⽬录
Error 13 指的是⽂件系统的访问权限错误。也就是由于错误的权限,apache被拒绝访问。⼀般的来说,这并不意味着是Apache配置⽂件存在错误。
为了给⽂件提供服务,Apache必须有适当的权限去访问那些⽂件,这些权限是由操作系统授予的。特别是在f⽂件中指定User或者Group必须能够读取所有被服务的⽂件,以及查包含那些⽂件的⽬录和所有的⽗⽬录直⾄⽂件系统的根。
⼀个类unix操作系统上不属于f⽂件中指定的User或Group的资源的典型访问权限,对于普通的⽂件是644 -rw-r--r--,对于⽂件夹或者CGI脚本是755 drwxr-x-r-x。你也可能需要去查看操作系统所⽀持的扩展的访问权限(例如SELinux访问权限).
例⼦
当访问类unix操作系统上的/usr/local/apache2/htdocs/foo/bar.htm⽂件时,你收到了Permission Denied的错误。
⾸先,查看⽂件的访问权限:
$ cd /usr/local/apache2/htdocs/foo
$ ls -l bar.htm
文件访问被拒绝如果须要的话,就修复它们:
$ chmod 644 bar.html
对⽂件夹以及每个⽗⽂件夹做相同的操作(/usr/local/apache2/htdocs/foo,/usr/local/apache2/htdocs,/usr/local/apache2,/usr/local/,/usr):
$ ls -la
$ chmod +x
$ cd ..
$ #repeat up to the root
在⼀些系统上,可使⽤⼯具namei来列出各个路径上的不同组件的访问权限,然后去发现是否有权限问题:
$ namei -m /usr/local/apache2/htdocs/foo/bar.html
3、最后,如果还是没有解决问题,那么需要查看扩展的访问权限。
使⽤setenforce 0关闭SELinux,看是否解决问题。
我遇到的问题是f⽂件中所指定的⽤户没有访问项⽬所在⽬录的权限。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论