顯示具有 apache 標籤的文章。 顯示所有文章
顯示具有 apache 標籤的文章。 顯示所有文章

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

2009年11月21日

Apache Server(1) -- 安裝

世界上最知名的http service使用的軟體大概就是apache了,在fedora跟ubuntu的安裝都是蠻簡單的,只是名稱不大一樣orz
apt-get install apache2
yum install httpd

安裝完畢之後,輸入http://localhost/就可以看到一個首頁,其實這是個error page而非正常的index page
在設定檔的部分,兩者也有不同,我已經不知道是誰修改了apache(雖然說基本原則一樣),設定的方式還有些差別
以fedora來說,所有的設定幾乎集中在一個檔案/etc/httpd/conf/httpd.conf下面,其他的設定檔案放在/etc/httpd/conf.d/這目錄底下
ubuntu則是把httpd.conf這個精簡化到幾乎只有ServerName,其他一般設定放置在/etc/apache2/apache2.conf內,再把一些模組的設定分散到各個目錄內,全部都在路徑/etc/apache2下
  • mods-available
  • mods-enabled
  • sites-available
  • sites-enabled
這四個目錄,分別放置可用的module跟啟動的module,還有可用的site功能(如virtual host)跟啟用的site功能,其中modes-enabled跟sites-enabled裡面其實只是link到另外兩個目錄的檔案,如果要啟用功能使用a2enmod/a2ensite就可以
另外script使用的方式是
#fedora
/etc/init.d/httpd start|stop|restart
#ubuntu
/etc/init.d/apache2 start|stop|restart
經過以上的說明,相信大家大概都知道,為何同樣的東西,我說在fedora跟ubuntu用起來不大一樣了吧

2007年11月18日

安裝apache2

已經很久沒有接觸apache了,上次使用apache約在1.3左右,雖然說apache當時已經出來,不過基於為穩定的狀況,沒有使用
現在apache2基本上應該已經很穩定了,用ubuntu裝apache2, php, myssql向來都不是很困難的事情,不過麻煩的是後續設定
果然~apache2大搬風,設定檔的架構大改,不再是過去單一個設定檔,或幾個設定檔案include過來include過去

先改使用者目錄,我一直不喜歡public_html這樣的名字,喜歡用www
vim /etc/apache2/mods-enabled/userdir.conf
在這下面可以找到

apache2也多了不少設定跟增加的指令,對於虛擬主機的管理也是加強不少,應該是順應潮流吧,一堆東西也模組化
若要增加 virtual host
則要在 /etc/apache2/sites-avaible 下新增設定檔
用 a2ensite / a2dissite 啟動/關閉設定檔

修改完畢apache2之後開始對mysql動手腳,反正現在開始推utf8,當然要順應潮流囉,不要搞得"萬碼奔騰"
vim /etc/mysql/my.cnf
在 [client] 下增加
default-character-set=utf8
在 [mysqld] 下增加
default-character-set=utf8
default-collation=utf8_general_c
大致上來說是這樣,待會在看看有沒有必要裝PEAR,我真的離這東西太遠了,之前還在PHP4,轉眼已經到了PHP5,然後大家開始用PEAR
想來PEAR是學習perl作法吧,反正我沒有太多語言情節,好的作法大家就是要倣傚,然後流傳下去,程式語言過個十幾年換新的很正常