|
本帖最後由 cremaker 於 2011-4-9 09:05 AM 編輯
最近 Wish 老大更新了痞酷的版本, 使用幾天覺得功能很不錯, 也想架個來試試, 一來可看看這個程式是怎麼寫的, 二來在 Wish 有需要幫忙時, 也可略盡棉薄之力.. 並和大家交流一下..
先說明一下工作環境:
1. 使用 UBUNTU Desktop 10.04 來架
2. 使用的 HTTPD Server(網頁伺服軟体)是 Lighttpd, 為何不用 Apache2 呢? 主要是 Apache2 設定較麻煩, 而且說句實話, 幾年下來了, 一直沒什麼進步..
Lighttpd 較為輕巧, 速度很優, 設定上更是簡單.. 如我沒記錯, 像 Youtube 也是用 Lighttpd 架的..
3. 個人是拿來測試及寫程式之用及為了安全考量, 所以並不對外開放, 因此使用的 IP 是 127.0.1.2, 同時為了能夠同時測試幾個程式, 也使用 Virtual Host 功能, 也就是在 127.0.1.2 這個 IP 上可綁定多個網頁
4. 架設的重點在 lighttpd、PHP5, 使用的資料庫是 MySQL
由於篇幅較長, 分為幾次編寫, 首先來安裝 lighttpd 及加上對 PHP5 的支援..
在 UBUNTU 下安裝件很方便, 我是使用 synaptic 來安裝..
首先打開 synaptic, 請看附圖1, 我安裝了 lighttpd 及 lighttpd-mod-magnet 這兩個套件, 使用 synaptic(UBUNTU 的套件管理程式)很方便吧..
另外, 用指令操作的介紹部份, 請大家自行打開終端機..
▼附圖1
安裝 lightppd 對 PHP5 的支援, 其實嚴格來說 lighttpd 對 PHP 的支援是利用 FAST-CGI 的方式.. 另外 GD 這個東東, Discuz! 中及其它很多 PHP 程式都用得到, 所以我們再利用 synaptic 來安裝:
1. php5-cgi
2. php5-gd
如附圖2 紅點, 其它是我多裝的, 不必安裝..
▼附圖2
接著, 安裝 lighttpd 後, 有兩個重要的目錄, 一是網頁是放在 /var/www/ 這個目錄之下, 另一個相關的設定檔都是在 /etc/lighttpd/ 這個目錄下..
也就是將來要調整不同的網頁可在 /var/www/ 下做加減的動作; 若要改變 lighttpd 功能, 就可到 /etc/lighttpd/ 目錄下更改..
先來看 /etc/lighttpd/ 下的內容, 請參考附圖3.. 做一下說明:
1. conf-available/ 這個目錄是 lighttpd 貼心的將一些常用的設定放在此供你使用 ^_^
2. conf-enabled/ 這個目錄和 conf-available/ 有極大關係, 我們可將想要的功能在 conf-available/ 連結到此, 就可使用了(待會會做細說明)
3. lighttpd.conf 這個檔案是 lighttpd.conf 的設定檔.. 首先要有個觀念 "後令壓前令", 也就是後來的設定會更改先前的設定.. lighttpd 啟動時, 會先載入這個設定檔, 再載入 conf-enable/ 下的設定, 若在 conf-enabled/ 目錄中的設定有較新的設定時, 會以 conf-enabled/ 中的設定優先.. 這也意謂著我們根本不用更改 lighttpd.conf 這個檔案..
▼附圖3
由於我們要使用 php5-cgi 及 Virtual Host 功能, 這在 conf-available/ 中有兩個設定檔我們可用到, 參考附圖4..
其中一個是 10-fastcgi.conf 這個設定檔中有 lighttpd 對 php5-cgi 的相關設定, 另一個是 10-simple-vhost.conf, 這就是有關 Virtual Host 的相關設定..
另一個 README 檔, 有不同設定檔的用途, 可自行參考一下..
▼附圖4
為了方便設定及在不改原始設定檔情況之下, 我們可設定一個自己的設定檔..
$ cd /etc/lighttpd/conf-available/
$ sudo cp 10-fastcgi.conf 10-my-fastcgi.conf(這個檔名可自取, 不過為了辨識, 我用這個檔名, 後綴一定要是 .conf)
有人或許會對在 GNU/LINUX 一些目錄中的 script 檔前面用數字感到困惑, 其實很簡單, 數字愈小的由於排在前面, 在執行這個目錄中的 script 檔時, 會先被執行..
這個檔案的內容, 可自行用指令看一下..
不過這樣只有支援 fast-cgi, Virtual Host 功能並沒加進去, 所以我們還要設另一個檔..
$ cd /etc/lighttpd/conf-available/
$ sudo cp 10-simple-vhost.conf 10-my-simple-vhost.conf
眼尖的人, 應該看出這兩個檔案前綴是 10-my, 這樣日後就很容易辨視出這些檔案是自己的設定檔了.. ^_^
由於每個人的 Virtual Host 不同, 所以這個檔案一定要改..
我目前有幾個工作在進行, 所以我在 /var/www/ 設了幾個工作目錄, 大家不要照著抄哦.. 視需要更改..
$ cd /var/www/
$ sudo mkdir discuz15 ecshop gtservice opencart
接著下來, 設定 10-my-simple-vhost.conf
$ cd /etc/lighttpd/conf-available/
$ sudo gedit 10-my-simple-vhost.conf
把內容改成如附圖5..
相關的說明請參考各紅點, 另外紅色框就是 Virtual Host 的設定, 總共有 4 組.. 很簡單吧..
▼附圖5
前面說過, 在 /etc/lighttpd/conf-available/ 目錄中的設定只是參考, lighttpd 啟動時並不會載入, 為了要讓 lighttpd 載入, 我們把相關的檔案放在 /etc/lighttpd/conf-enabled/ 之中..
為了方便維護, 我們使用連結(link)的方式..
$ cd /etc/lighttpd/conf-enabled/
$ sudo ln -s /etc/lighttpd/conf-available/10-my-fastcgi.conf 00-my-fastcgi.conf
$ sudo ln -s /etc/lighttpd/conf-available/10-my-simple-vhost.conf 01-my-simple-vhost.conf
現在在 /etc/lighttpd/conf-enabled/ 目錄下的檔案看起來應該是如附圖6..
▼附圖6
在前面說過, 我們是要用 127.0.1.2 這個 loopback IP 來安裝 Virtual Host, 要如何做呢? 其實很簡單, 在搜尋主機名稱時, 相關軟体(如瀏覽器)都會先參照 /etc/hosts 這個檔案, 我們只要把這個檔案改成如附圖7, 紅點處那一行就是我們需加上的..
▼附圖7
在前面我們已在 /var/www/ 建立了 discuz15 ecshop gtservice opencart 這幾個目錄, 現在 /var/www/ 看起來像附圖8..
其中的 index.html 及 index-lighttpd.html 是用來在瀏覽器上測試的網頁, 待會會用這兩個程來測一下..
▼附圖8
為了測試, 我們不妨將 index.html 及 index-lighttpd.hrml COPY 到各個子目錄下:
$ cd /var/www
$ sudo cp index* opencart/
$ sudo cp index* discuz15/
$ sudo cp index* ecshop/
$ sudo cp index* gtservice/
呼, 終於到了測試階段, 等等, 我們改了設定, 還未重新啟動 lighttpd, 以使用新的設定值..
$ sudo /etc/init.d/lighttpd restart
然後使用瀏器在網址列輸入 http://discuz/index.html
應該會看到如附圖9 的畫面..
▼附圖9
再試試另一個 index.lighttpd.html
在瀏覽器的網址內輸入 http://discuz/index.lighttpd.html
同樣的, 你也應該看到如附圖10 的執行畫面..
▼附圖10
接下來測試外部是否連得進來, 同樣的在瀏覽器的網址列入所使用電腦的 IP, 應該會看到附圖11 的畫面..
▼附圖11
我們已安裝 php5-cgi, 看看能不能正常使用, 首先在 /var/www/discuz15/ 這個目錄下主一個 php_test.php, 內容如下:
<?php
phpinfo();
?>
接著在瀏覽器網址列輸入 http://discuz/php_test.php
也應該會看到附圖12 的畫面..
▼附圖12
--------
其實這個方式, 用 firewall 來做也是可以的(把外來要求 PORT:80 擋掉), 不過設定上比較麻煩.. 因此提供了另一種方式..
在此篇先介紹 lighttpd(Web Server) 及 php5-cgi 的設定, 下篇中再來介紹 MySQL 及如何安裝 Discuz X1.5..
感謝收看.. 若有問題可提出你的看法及討論..
^_^
|
評分
-
5
查看全部評分
-
|