当前位置:Linux教程 - Apache - APACHE無法顯示USER的網頁的解决方法

APACHE無法顯示USER的網頁的解决方法

比方您的 id 是 kiker,那您的使用者家是在 /home/kiker 目錄內。
而您的 apache 設定檔案內是把 UserDir 設定 public_html 好了。

當您瀏覽時出現了:
You don''t have permission to access /~kiker/ on this server.

首先來了解一下,為何會出現上面的錯誤訊息?
由 permission 的情況來看,也就是權限不足所以無法瀏覽。
而為何為 permission 不夠呢?那是因為當 httpd 程式工作時,
預設是使用 nobody 這個 user 與 group 身份在工作,所以可以知道
是 httpd 程式無法透過這個 nobody 身份讀取你的檔案網頁資料。

那就先由使用者 home 來看,/home/kiker 這個目錄是否有開放
access 進入的權限? 要讓 nobody 使用者可以 access 進入,那
勢必要開放 other (其他人) 進入的權限,所以需要修正 :
chmod o+x /home/kiker

那接下來,你在 smr.conf 內設定 UserDir 目錄是 public_html,
那 kiker 這位使用者的網頁目錄就是放在 /home/kiker/public_html 內。
同上為了可以讓 nobody 使用者的權限可以進入這個目錄,所以也要
執行 chmod o+x /home/kiker/public_html 打開進入這個目錄的權限。

都沒有問題後,最後確定一下你的網頁檔案是不是也有開放 other
的讀取權限. 比方 chmod o+r index.html . 當然,其他的網頁檔案也都
要開放 r 的 permission 才可以讓使用者瀏覽.

另外說到,注意一下您的 apache 設定檔案內的 ServerName 是否設定
正確。

總結:

chmod o+x /home/userid
chmod o+x /home/userid/public_html

另外遇到問題時,請先看一下 /var/log/httpd 目錄內相關的 log
檔案看看 apache 列出什麼錯誤訊息。把相關 log 檔案看過一下,
就可以很清楚的知道問題是出在哪裡。