將Apache+php+PostgreSQL Portable作法紀錄
>> 2010年10月14日 星期四
自由軟體中的資料庫,以MySQL與PostgreSQL(以下簡稱pgSQL)最為普遍,
MySQL在少數Clinet的狀況下,效能比pgSQL來得要好,但是使用連線超5個以上,效能則會明顯降低。
pgSQL雖然效能不及MySQL高,但較為穩定,再多數連線的狀況下,可以保持同樣的效能展現,較不受連線數增加而影響。
此外,最重要的,pgsql具有交易鎖定(Transaction Lock)的設計,可以避免同時間修改資料庫造成資料重複或闕漏的問題。這是MySQL遲遲沒有的部份,也是一個商業及資料庫所基本必備的功能。
由於自己的使用習慣,常常需要換不同的電腦進行作業,因此尋找著一套如同xampp這樣,包含了Apache server、php與PostgreSQL(以下簡稱app,在windows平台下運作則簡稱wapp),能夠裝在隨身碟中,到處帶著走得工作環境,但是網路上一直搜尋不到理想可用的套件,也許是因為pgSQL的使用不如mysql來得普遍的緣故吧。
終於,找到了一個已經打包好的wapp套件:Bitnami wappstack。這個套件原本是安裝檔案,觀察一下安裝過程,是可以抽離成為Portable的,因此就著手進行抽離打包的工作。
一、下載 Bitnami wappstack
http://bitnami.org/stack/wappstack 提供了windows版本的app下載,上面還有其他作業系統的版本也可以下載。
二、進行安裝
將下載之後的bitnami-wappstack-1.2-3-windows-installer.exe檔檔案進行安裝,安裝路敬請選擇放在D磁碟或隨身碟中。安裝之後不要啟動。最好將目錄安裝在磁碟的根目錄底下,資料夾名稱不要有空白,可以自訂。例如:D:\WAPPStack
三、移除開始工具列的目錄
安裝之後,系統會做兩件事情:1.在開始工具列中建立捷徑,2.將apache與pgsql設定在啟動服務中。工具列可以直接移除,啟動服務在重新開機後就不會成為啟動服務了,除非有特別定義。
三、修改設定檔案
- 需要修改的,計有\WAPPStack\apache2\conf中的httpd.conf與所有與這個檔案有相關連的設定檔。
- 將裡面的 D:\WAPPStack\apache2路徑,都改成\WAPPStack\apache2即可。(去掉前面的磁碟代號)
- 接下來也需要修改 \WAPPStack\php中的php.ini與pear.ini檔案,修改重點與上一點相同。
- 修改\WAPPStack\apps\phppgadmin\conf中的phppgadmin.conf檔案,依樣將磁碟代號拿掉。
-
先移除\WAPPStack\apache2與\WAPPStack\postgresql及\WAPPStack中的scripts資料夾。(也可以不用移除,只是用不到而已。) - 在\WAPPStack\apache2目錄中加入servicerun.bat批次檔案,主要功用在於,將apache安裝成為啟動程式,之後啟動他。批次檔內容如下:也可以在這裡下載。
@echo off
rem START or STOP Apache Service
rem --------------------------------------------------------
rem Check if argument is STOP or START
if not ""%1"" == ""START"" goto stop
%2:\WAPPStack\apache2\bin\httpd.exe -k install -n apache
net start apache
goto end
:stop
net stop apache
%2:\WAPPStack\apache2\bin\httpd.exe -k uninstall -n apache
:end - 在 \WAPPStack\postgresql目錄中加入servicerun.bat批次檔案,主要功用在於,將postgresql安裝成為啟動程式,之後啟動他。批次檔內容如下:也可以在這裡下載。
@echo off
rem START or STOP Apache Service
rem --------------------------------------------------------
rem Check if argument is STOP or START
if not ""%1"" == ""START"" goto stop
%2:\WAPPStack\postgresql\bin\pg_ctl.exe register -N PostgreSQL -D "%2:\WAPPStack\postgresql\data"
net start PostgreSQL
goto end
:stop
net stop PostgreSQL
%2:\WAPPStack\postgresql\bin\pg_ctl.exe unregister -N PostgreSQL -D "%2:\WAPPStack\postgresql\data"
:end - 最後,在\WAPPStack目錄下放入Start Service.bat與Stop Service.bat即可
下載之後,請解壓縮在磁碟的根目錄中,進入網頁管理介面的帳號/密碼為:administrator/123456,進入資料庫的帳號/密碼為:postgres/123456
目前已經知道的問題是Win7執行時會有找不到路徑的問題,繼續解決中。
程式版本:
Bitnami wappstack 1.2-3
Apache 2.2.16
PHP 5.2.14
PostgreSQL 9.0.0
phppgadmin 4.2.2
wappstack Portable1.2-3 下載點1(學術骨幹下載,速度較快) 下載點2(國外下載點)