2011-02-06 50 views
1

我試圖設置一個Apache站點來使用我的主文件夾中的文件夾沒有任何成功。我完全按照在此頁面的步驟:Apache不接受我的主文件夾中的路徑

https://help.ubuntu.com/community/ApacheMySQLPHP

但我沒有成功;我一直收到錯誤403,表示服務器沒有權限訪問請求的頁面。我搜索了論壇,許多人建議更改文件夾的權限。我馬上去了,並將權限設置爲777,但這並沒有解決問題。

我做了另一個搜索,有人給我一個線索,這可能是因爲我的家庭文件夾是加密的。我相信這可能是問題,但:

  1. 加密和Apache之間的關係是什麼?我想Apache服務器正在向系統請求文件,而不是試圖訪問文件字節!

  2. 有沒有辦法解決這個問題?我不想將文件夾移動到/ var/www上,因爲我正在使用這個Apache進行測試,所以我希望我做出的任何更改立即反映出來,而不必複製容易出錯的文件。

回答

0

加密和Apache之間的關係是什麼?我想Apache服務器正在向系統請求文件,而不是試圖訪問文件字節!

是的,但它可能會這樣做是一個不同的用戶比你(我認爲Apache在大多數發行版上有自己的用戶)。該用戶可能無法訪問您的主文件夾。

最好的辦法是將htdocs文件夾放在加密文件夾之外,或者以某種方式使Apache服務像您一樣運行。不過,這更像是一個serverfault.com或askubuntu.com問題。

0

聽起來好像您的服務器已啓用安全增強型Linux(SELinux)。如果是這樣,你的Apache可能被配置爲只能訪問特殊標記的目錄。

要檢查SELinux的是否是活動的,可以嘗試下面的命令:

cat /etc/sysconfig/selinux 

或者:

sestatus 

更新:

如果你沒有啓用SELinux的,那麼它可能是一個簡單的權限問題。僅將目錄的權限設置爲777是不夠的,Apache用戶還必須對從根目錄到主目錄的每個目錄具有(執行)權限。此外,您要訪問的文件還必須具有Apache的(讀取)權限。

的命令,你必須執行的有:

chmod o+x /home 
chmod o+rx /home/someuser 
chmod o+r /home/someuser/* 

(假設你的主目錄是/ home/SomeUser的)。

如果你有子目錄,那麼你也必須重複這些。

我不認爲這是一個加密問題。那麼你寧願得到亂碼數據而不是權限錯誤。如果您使用的是加密,那麼您的主目錄中可能有一個名爲私有的目錄。無論如何,Apache無法訪問加密數據。您需要關閉加密。

+0

這兩個都不適用於我,所以看起來像SELinux沒有啓用。 – Rafid 2011-02-06 16:24:45

相關問題