啟動使用者的個人網頁空間

若你的主機是開啟給很多使用者時用,同時之間也希望使用者可以有自己的網頁空間,那麼使用 Apache 是可以很容易辦到的,只要做一點小小的設定就可以了。

設定之前,你應該要仔細想看看使用者的網頁資料到底應該放到那個資料夾裡,這樣的話 Apache 才可以根據你的設定去找使用者目錄的網頁目錄,在以下範例,我是示範使用者要把網頁資料放到 www 目錄之下。

最基本的設定

修改 UserDir 指令

你應該要先編輯 httpd.conf 這個相關設定檔,再重新啟動 Apache 就可以了。

root # vi /etc/httpd/conf/httpd.conf
------------------------------------
#找到 UserDir 並把前面的 "#" 去掉修
#改,在此我改為 www #預設為 public_html
UserDir www
------------------------------------
root #

設定好之後,再來重新啟動 apache

root # service httpd restart
root #

接著,在使用者目錄下建立一個 www 資料夾,並把首頁命名為 index.html 就可以看到了

test $ cd ~; mkdir www
test $ echo 'Hello world!' > ./www/index.html

好了,現在最後一步,就是要 test 這個帳號的家目錄,別人是否具有“可執行”的權限,若沒有,就加上去就可以了。

test $ chmod o+x ~
test $ 

好了,現在一切大功告成,只要你在 Browser 上面輸入 http://your.web.site/~test/ 就可以看到 test 的首頁了,下面我示範 http://www.l-penguin.idv.tw/~test/。

UserDir

保謢使用者的資料吧,不要讓 Apache 太自動!

系統管理者應該要注意,如果使用者的 www 目錄下沒有首頁(index.html)的話 ,也不應該把目錄的檔案全都列表出來,就像下圖這樣:

AutoIndex

你應該在設定所有使用者的 www 目錄裡,把 AutoIndex 的功能關閉才對,這樣才不會讓有心人士窺視到所有檔案,當然了,除非你就是要大家都看得到。

root # vi /etc/httpd/conf/httpd.conf
------------------------------------
# 在 Option 選項裡,加入一個 "-Indexes"

    Options  -Indexes

------------------------------------
root #

設定完成之後,重新啟動 Apache。

root # service httpd restart
root #

好了,現在再來看一次,會出現什麼情況:

Disable AutoIndex

更多相關安全的議題,在 Apache 安全設定 (new window) 一文中有講到。

6/9/2006

首頁