將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設定在啟動服務中。工具列可以直接移除,啟動服務在重新開機後就不會成為啟動服務了,除非有特別定義。
三、修改設定檔案

  1.  需要修改的,計有\WAPPStack\apache2\conf中的httpd.conf與所有與這個檔案有相關連的設定檔。
  2. 將裡面的 D:\WAPPStack\apache2路徑,都改成\WAPPStack\apache2即可。(去掉前面的磁碟代號)
  3. 接下來也需要修改 \WAPPStack\php中的php.ini與pear.ini檔案,修改重點與上一點相同。
  4. 修改\WAPPStack\apps\phppgadmin\conf中的phppgadmin.conf檔案,依樣將磁碟代號拿掉。
四、重新撰寫批次檔案
  1.  先移除\WAPPStack\apache2與\WAPPStack\postgresql及\WAPPStack中的scripts資料夾。(也可以不用移除,只是用不到而已。)
  2.  在\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
  3. 在 \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
  4. 最後,在\WAPPStack目錄下放入Start Service.batStop Service.bat即可
把已經打包好的Portable放在這邊,有需要的可以拿去用。
下載之後,請解壓縮在磁碟的根目錄中,進入網頁管理介面的帳號/密碼為: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(國外下載點)

About This Blog

程式碼標示

  © Free Blogger Templates Joy by Ourblogtemplates.com 2008

Back to TOP