{Linux 架站三雄}Apache + MySQL + PHP 安裝備忘錄

在 Linux 系統下,無論你安裝各種類型的應用系統,如 XOOPS、Blog、Wiki、Open-Source Project …等,幾乎不脫離最主要的三種基礎建設平台 ~ Apache + MySQL + PHP。

我個人所使用 Linux 版本為 Fedora Core 3。應該算是最普及、最容易安裝的 Linux 版本了。
安裝完後,上述三種基礎平台也跟著完裝完畢。不過,因為是以 RPM 的方式來安裝與升級系統,有利有弊,安裝與設定容易,但客製化的程度會比較沒有彈性,而且往往尚未提供最新的版本。

我也決定讓我的基礎平台可以支援 UTF-8 的環境,所以 MySQL 需升級為 4.1.X 的版本,而 PHP 也必須由內建 3.2.X Library 改為可以連結 MySQL 4.1.X 的 Library。同時,也為了更有彈性讓 Apache 支援 PHP,所以,我把 Apache 與 PHP 由 RPM 安裝的方式,將之移除,並下載最新版本(Apache 為 2.0.53;PHP 下載 4.3.10)手動編譯。
不使用 PHP 5.X 的原因是擔心應用系統如 XOOPS 或 Blog 會產生相容性不符的情況,所以仍使用 PHP 4.X 的版本。
至於 MySQL,因為官方網站即提供最新有支援 RPM 安裝的版本,所以在安裝上甚為方便。

如何安裝,最好是參考 Apache and PHP 官方網站的文件。在此僅是個人的安裝備忘紀錄,並不是完整而詳細的安裝步驟。

  1. 下載 MySQL 4.1.10 RPM版本,利用 RPM 方式升級 MySQL 系統。
  2. 移除 Apache and PHP 的 RPM 版本。
  3. 下載 Apache 2.0.53 and PHP 4.3.10 的原始碼版本。
  4. Compile Apache(底下指令為連續的一行):
    • ./configure –prefix=/usr/local/apache2 –enable-mods-shared=most –ena
      ble-rewrite –enable-so
    • make
    • make install
  5. Compile PHP(底下指令為連續的一行):
    • ./configure –prefix=/usr/local/php4 –with-apxs2=/usr/local/apache2/bin/apxs –wi
      th-mysql=/usr –with-mysqli=/usr/bin/mysql_config –with-mysql-sock=/var/lib/mysql/mysql.sock –enable-mbstri
      ng
    • make
    • make install
  6. 確定安裝與編譯過程沒有發生錯誤,如此即可完成基礎平台的安裝

再來,就是要做一些設定,如,設定 Apache 的 Virtual Host、設定 php.ini 等。最好能做一些測試以及相關資訊的檢查。
我是利用 phpmyadmin,若可以正確設定好 phpmyadmin,同時就可以知道 apache 的設定是否正確,並且也同時藉由連結 MySQL 資料庫以檢查 MySQL 的設定與 PHP 版本等相關資訊。

我的 blog 系統,是採用 b2evolution 0.9.0.11 並由 Jimmy 所提供的中文語系所安裝而成的,它本身即支援 utf-8 編碼,所以我從 Windows-based 的環境,只要將其目錄透過 Samba copy 至 Linux 的目錄下(我是 copy 至 /home/cvxvgjca/public_html/www.kenming.idv.tw/blogs),幾乎不用任何設定即可完成 blog 平台的移轉。
至於如何匯入(import)原先所備份的資料?我發現到,使用 phpmyadmin 並不保險,因為有容量上的限制與編碼的問題,很容易會轉成亂碼的情況發生。我是在 Linux 命令列模式下來執行匯入的動作:

    mysql –user=db_user_name –password=db_user_password db_name < ur_import_data.sql

至於 XOOPS,原先我在 windows-based 是安裝 big5 版本。因為很容易有衝碼情況問題產生(許功蓋的問題),加上 MySQL 4.1.x 以上總算有支援 utf-8 的編碼,所以我是下載在 XOOPS 正體中文延伸計畫所提供的 utf-8 的最新版本:2.0.9.2 utf-8 正體中文版。

注意的是,因為有許多外掛模組是使用 big5 所編碼而成的版本,若要能在 utf-8 XOOPS 系統下正常執行、沒有亂碼,需先轉換為 utf-8 的版本。
我是利用 ConvertZ 來自行手動將 big5 模組轉碼為 utf-8 版本。
ConvertZ 的作者可真不錯,提供如此優質又免費的轉碼工具!

安裝的過程,必須熟悉 Linux 系統操作。這點我幾乎是完全陌生,除了邊做邊看文件,最好能有高手協助你。

我很幸運,認識 william,他透過 telnet 模式(正確地說是利用 ssh client) 連線進來我的系統幫我做設定、編譯等等。同時又透過 msn 回答我許多對於設定及原理不瞭解的問題。
真的很感謝他!! 我欠他兩客西堤牛排。

還有,Linux 很好玩,真的很有趣。
一切都是免費,又能提供這麼多免費的好咚咚。
我已經認真在思考 Linux + OpenSource + Enterprise Service 的整合方案。看來對企業的應用系統等在成本與穩定性、實用性等的考量與應用會有很大的經濟價值。