萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

整合 Linux、Apache、PHP4、FastCGI、Oracle 與 MySQL 環境完整指南

前言

建置一個整合了 Linux、Apache、PHP4、FastCGI、Oracle 以及 MySQL 的開發環境,是早期企業級 Web 應用常見的架構選擇。本文將詳細記錄從軟體套件準備、資料庫客戶端安裝、Perl 模組部署,到 Apache、PHP 與 FastCGI 編譯整合的完整步驟,供需要維護舊系統或研究經典架構的工程師參考。

一、軟體套件準備

開始前,請確認已下載以下版本的原始碼或安裝包:

  • Perl 資料庫介面: DBI-1.13.tar.gz、DBD-Oracle-1.03.tar.gz、Msql-Mysql-modules-1.2209.tar.gz
  • Oracle 8iR2 (8.1.6) for Linux: oracle8161.tar.gz
  • MySQL 3.22.32 系列 RPM 包: 伺服器、客戶端、開發套件、共享庫
  • Apache 1.3.12 原始碼: apache_1.3.12.tar.gz
  • PHP 4.0.0 原始碼: php-4.0.0.tar.gz
  • FastCGI 模組: mod_fastcgi_2.2.4.tar.gz、FCGI-0.53.tar.gz (Perl 運行模組)

二、安裝 Oracle 客戶端

1. 環境變數設定

編輯 /etc/profile,加入以下變數(請依實際安裝路徑調整):

export ORACLE_HOME=/opt/oracle8i/u01
export ORACLE_BASE=/opt/oracle8i
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export ORACLE_TERM=ansi
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

2. 建立使用者與目錄

groupadd dba
useradd -g dba oracle
passwd oracle
mkdir -p /opt/oracle8i/u01
chown -R oracle.dba /opt

3. 執行圖形化安裝

以 oracle 用戶登入,解壓縮安裝包並啟動 X Window:

tar zxvf oracle8161.tar.gz
startx
cd Oracle8iR2
./runInstaller

安裝類型選擇 Client/Application User(若資料庫伺服器在別機)。安裝完成後配置 SQL*Net8 並測試遠端連線。

三、安裝 MySQL 伺服器與客戶端

以 root 身份依序安裝 RPM 包:

rpm -ivh MySQL-3.22.32-1.i386.rpm
rpm -ivh MySQL-client-3.22.32-1.i386.rpm
rpm -ivh MySQL-devel-3.22.32-1.i386.rpm
rpm -ivh MySQL-shared-3.22.32-1.i386.rpm

四、安裝 Perl 資料庫介面模組

依序編譯安裝 DBI、DBD-Oracle、MySQL 模組:

# DBI
tar zxvf DBI-1.13.tar.gz && cd DBI-1.13
perl Makefile.PL && make && make test && make install
cd .. && rm -rf DBI-1.13

# DBD-Oracle
tar zxvf DBD-Oracle-1.03.tar.gz && cd DBD-Oracle-1.03
perl Makefile.PL && make && make test && make install
cd .. && rm -rf DBD-Oracle-1.03

# MySQL 模組
tar zxvf Msql-Mysql-modules-1.2209.tar.gz && cd Msql-Mysql-modules-1.2209
perl Makefile.PL  # 選擇 1 (MySQL) 和 y (支援 Mysql.pm)
make && make test && make install

五、編譯整合 Apache + PHP + FastCGI

1. 解壓縮原始碼

tar zxvf apache_1.3.12.tar.gz
tar zxvf php-4.0.0.tar.gz
tar zxvf mod_fastcgi_2.2.4.tar.gz

2. 配置並編譯 PHP 4

cd apache_1.3.12
./configure --prefix=/usr/local/apache
cd ../php-4.0.0
./configure --with-apache=../apache_1.3.12 \
            --with-mysql \
            --with-oracle=$ORACLE_HOME \
            --with-oci8=$ORACLE_HOME \
            --enable-track-vars
make && make install
cp php.ini-dist /usr/local/lib/php.ini

3. 加入 FastCGI 模組至 Apache 原始碼樹

mv mod_fastcgi_2.2.4 apache_1.3.12/src/modules/fastcgi

4. 編譯安裝 Apache(靜態編譯 PHP 4 與 FastCGI)

cd apache_1.3.12
./configure --prefix=/usr/local/apache \
            --activate-module=src/modules/php4/libphp4.a \
            --activate-module=src/modules/fastcgi/libfastcgi.a
make && make install

5. 停用系統預設 Apache

/etc/rc.d/init.d/httpd stop

6. Apache 核心參數配置 (/usr/local/apache/conf/httpd.conf)

ServerName host.mydomain.name
DocumentRoot "/home/httpd/html"
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride None
Order allow,deny
Allow from all
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
DirectoryIndex index.html index.phtml index.php index.htm index.shtml index.fcgi

更新啟動腳本連結:

cd /etc/rc.d/init.d
ln -fs /usr/local/apache/bin/apachectl httpd

7. PHP 參數配置

在 httpd.conf 加入:

AddType application/x-httpd-php .php .phtml .php3

修改 /usr/local/apache/bin/apachectl,於 start) 區塊加入 Oracle 環境變數:

export ORACLE_HOME=/opt/oracle8i/u01
export ORACLE_BASE=/opt/oracle8i
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

修改 srm.conf 傳遞環境變數給 CGI:

PassEnv ORACLE_HOME ORACLE_BASE LD_LIBRARY_PATH NLS_LANG ORACLE_SID PATH

8. FastCGI 執行環境配置

在 httpd.conf 加入:

AddHandler fastcgi-script .fcg .fcgi .fpl
<Directory /home/httpd/html/fcgi>
    SetHandler fastcgi-script
    Options ExecCGI Indexes Includes
    Order allow,deny
    Allow from all
</Directory>

建立 FastCGI 目錄並安裝 Perl FCGI 模組:

mkdir /home/httpd/html/fcgi
tar zxvf FCGI-0.53.tar.gz && cd FCGI-0.53
perl Makefile.PL && make && make install

六、啟動與測試

  1. 啟動 Apache:/etc/rc.d/init.d/httpd start
  2. 撰寫 PHP 測試腳本驗證 Oracle、MySQL 連線與中文輸出
  3. 撰寫 FastCGI 測試腳本 /home/httpd/html/fcgi/test.fcgi(Perl + DBI 連線 Oracle)

若所有測試通過,即完成整合環境建置。

copyright © 萬盛學電腦網 all rights reserved