2012-08-27 22 views
0

我只是Apache的新手。我在我的家庭辦公室的FreeBSD盒子上安裝了apache 2.2。關於FreeBSD文檔的說明是我可以更改DocumentRoot指令以便使用自定義的目錄數據。因此,我取代...更改DocumentRoot後,Apache總是獲得403次使用

/usr/local/www/apache22/data 

/usr/home/some_user/public_html 

但事情是不對的。目錄中有index.html文件,但似乎apache無法讀取目錄/文件。

Forbidden 
You don't have permission to access/on this server. 

public_html 

權限是

drwxr-xr-x 

我不知道什麼可能是錯在這裏。另外,就我而言,我不打算爲這個FreeBSD盒子託管多個網站,所以我根本沒有考慮使用VirtualHost。這只是改變DirectoryRoot指令的一個好習慣嗎?

+0

apache錯誤日誌裏有什麼?這通常是非常詳細的。也有可能你需要在你的主目錄上提供'o + r''。 –

+0

對擁有httpd進程的用戶(通常爲'apache')嘗試並執行'su'命令 - 你可以使用cat/usr/home/some_user/public_html/index.html嗎? –

+0

@Jonas檢查錯誤日誌,它說... 客戶端被服務器配置拒絕:/ usr/home/webmaster/public_html /' – Kann

回答

3

某處在Apache的配置是這樣一行:

# This should be changed to whatever you set DocumentRoot to. 
# 
<Directory "/usr/local/www/apache22/data"> 

您必須更改這個路徑,以使其發揮作用。該指令包含例如:

Order allow,deny 
Allow from all 

哪些給予初始用戶訪問目錄。

+0

非常感謝!這工作完美。我認爲配置足以移動數據目錄。顯然,我還需要檢查。 – Kann

0

想到的一個可能性是SELinux阻止Web進程訪問該文件夾。如果是這種情況,你會在selinux日誌中看到它。你將不得不檢查上下文原來的Web根有:

ls -Zl 

,然後將其應用到新的Web文件夾:

chcon whatevercontextyousaw public_html 

或者,相反,如果它不是一個生產服務器,需要安全性(就像防火牆後面的開發機器),您可能只想關閉selinux。

只是一個想法。可能是其他許多事情。

+0

FreeBSD實際上是否有SELinux? –

+0

好吧,沒有使用freebsd很長一段時間,我自己是一個fedora用戶。因爲它來自內核,我認爲它會。 –

+0

@Tungcay 我剛剛檢查了原始webroot的上下文,並得到了... drwxr-XR-×6根輪 - 1024 08月27日16時24分數據 ,這是的public_html drwxr-XR-×6站長網管 - 1024 08月27日16點27分的public_html 我沒有看到任何這裏的差異... – Kann