若你的主機是開啟給很多使用者時用,同時之間也希望使用者可以有自己的網頁空間,那麼使用 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/。
保謢使用者的資料吧,不要讓 Apache 太自動!
系統管理者應該要注意,如果使用者的 www 目錄下沒有首頁(index.html)的話 ,也不應該把目錄的檔案全都列表出來,就像下圖這樣:
你應該在設定所有使用者的 www 目錄裡,把 AutoIndex 的功能關閉才對,這樣才不會讓有心人士窺視到所有檔案,當然了,除非你就是要大家都看得到。
root # vi /etc/httpd/conf/httpd.conf ------------------------------------ # 在 Option 選項裡,加入一個 "-Indexes"Options -Indexes ------------------------------------ root #
設定完成之後,重新啟動 Apache。
root # service httpd restart root #
好了,現在再來看一次,會出現什麼情況:
更多相關安全的議題,在 Apache 安全設定 (new window) 一文中有講到。
6/9/2006