項(xiàng)目部署到Apache Http Server上面,通過(guò)apachectl -t 檢測(cè)配置文件也沒(méi)有問(wèn)題??墒峭ㄟ^(guò)瀏覽器訪問(wèn),卻出現(xiàn)了“you don't have permission to access / on this server”.
1、首先,查看conf.d/python.conf文件
<Directory "項(xiàng)目路徑">
Options Indexes FollowSymLinks +Includes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
上面標(biāo)紅部分,表示允許任何人訪問(wèn)目錄
2、其次,既然配置文件沒(méi)有問(wèn)題,那就需要考慮http.conf文件中指定的用戶和組的訪問(wèn)權(quán)限。在Apache的wiki上有關(guān)于PermissionDenied的解決方法,鏈接是http://www.tjdsmy.cn/httpd/13PermissionDenied,譯文如下:
Error 13 指的是文件系統(tǒng)的訪問(wèn)權(quán)限錯(cuò)誤。也就是由于錯(cuò)誤的權(quán)限,apache被拒絕訪問(wèn)。一般的來(lái)說(shuō),這并不意味著是Apache配置文件存在錯(cuò)誤。
為了給文件提供服務(wù),Apache必須有適當(dāng)?shù)臋?quán)限去訪問(wèn)那些文件,這些權(quán)限是由操作系統(tǒng)授予的。特別是在httpd.conf文件中指定User或者Group必須能夠讀取所有被服務(wù)的文件,以及查找包含那些文件的目錄和所有的父目錄直至文件系統(tǒng)的根。
一個(gè)類(lèi)unix操作系統(tǒng)上不屬于httpd.conf文件中指定的User或Group的資源的典型訪問(wèn)權(quán)限,對(duì)于普通的文件是644 -rw-r--r--,對(duì)于文件夾或者CGI腳本是755 drwxr-x-r-x。你也可能需要去查看操作系統(tǒng)所支持的擴(kuò)展的訪問(wèn)權(quán)限(例如SELinux訪問(wèn)權(quán)限).
例子
當(dāng)訪問(wèn)類(lèi)unix操作系統(tǒng)上的/usr/local/apache2/htdocs/foo/bar.htm文件時(shí),你收到了Permission Denied的錯(cuò)誤。
首先,查看文件的訪問(wèn)權(quán)限:
$ cd /usr/local/apache2/htdocs/foo
$ ls -l bar.htm
如果須要的話,就修復(fù)它們:
$ chmod 644 bar.html
對(duì)文件夾以及每個(gè)父文件夾做相同的操作(/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
在一些系統(tǒng)上,可使用工具namei來(lái)列出各個(gè)路徑上的不同組件的訪問(wèn)權(quán)限,然后去發(fā)現(xiàn)是否有權(quán)限問(wèn)題:
$ namei -m /usr/local/apache2/htdocs/foo/bar.html
3、最后,如果還是沒(méi)有解決問(wèn)題,那么需要查看擴(kuò)展的訪問(wèn)權(quán)限。
使用setenforce 0關(guān)閉SELinux,看是否解決問(wèn)題。