2009年11月22日

Aapche Server(2) -- 使用者目錄與基本認證

在Apache底下有個預設的目錄為DocumentRoot,基本上是該台機器連上80 port之後回傳資料的基本目錄,如果使用者要擁有自己的目錄則是必須啟動UserDir的功能,Apache允許使用者在自己的目錄底下建立自己的網頁,每個使用者必須在自己的$HOME底下建立一個特殊目錄(依照apache的設定,可能為www或者public_html),並且讓$HOME目錄為權限744(可讀取),而www/public_html包含底下的檔案建議為755(可讀取跟執行,如果要使用類似php),網頁的URL格式為http://IP/~user_ID/
要注意,在user_ID之前要有蚯蚓的符號喔~~~
UserDir設定
fedora修改/etc/httpd/conf/httpd.conf
可以找到UserDir disabled,將它加上註解符號變成#UserDir disabled,表示啟動
接著在稍微後面的地方加上UserDir www,表示要用www,接著重新啟動apache

ubuntu則是使用指令a2enmod userdir,接著修改該檔案/etc/apache2/mods-enabled/userdir.conf
把UserDir後面修改成自己的想要的名稱,如www,跟者要修改Directory
記得重新啟動apache

網頁認證
一般不需要複雜權限管理的系統,或者是不會寫程式,可以考慮直接使用apache內建的功能
fedora依樣修改/etc/httpd/conf/httpd.conf
在裡面加上
Directory後面接著要限制的目錄,要進入該目錄底下時,瀏覽器都會跳出一個詢問視窗,要求輸入帳號密碼,/opt/passwords則是紀錄帳號密碼的檔案位置,可以自由輸入,只要記得該路徑就好,跟系統的passwd檔案室差不多的功能,require user後面為允許使用該目錄的使用者,且同時在要存在/opt/passwords裡面才可以,要進入該目錄兩者缺一不可
接著可以用htpasswd -c /opt/passwords User1來幫建立帳號密碼,-c表示如果該檔案不存在則建立一個,如果存在則刪除重新建立,如果檔案已經存在,記得不要加上-c

沒有留言: