本文記錄在 Linux 環境下,從原始碼編譯安裝 MySQL 3.23.52、Apache 1.3.26、PHP 4.2.3 的完整步驟,包含 RPM 與原始碼兩種 MySQL 安裝方式、Apache DSO 模組支援、PHP 模組化安裝與最終整合配置。
| 元件 | 版本 | 下載來源 |
|---|---|---|
| MySQL Server | 3.23.52 | mysql.com (RPM) |
| MySQL Client | 3.23.52 | mysql.com (RPM) |
| Apache | 1.3.26 | apache.org (原始碼) |
| PHP | 4.2.3 | php.net (原始碼) |
所有檔案存放於 /home/tmp。
cd /home/tmp
rpm -ivh MySQL-3.23.52-1.i386.rpm # Server
rpm -ivh MySQL-client-3.23.52-1.i386.rpm # Client
/usr/bin/safe_mysqld & # 啟動
# 開放 root 遠端連線 (僅供測試環境)
mysql
USE mysql;
UPDATE user SET host = '%' WHERE user = 'root' AND host <> 'localhost';
FLUSH PRIVILEGES;
QUIT
cd /home/tmp
tar -zxvf apache_1.3.26.tar.gz
mv apache_1.3.26 apache
cd apache
./configure --prefix=/usr/local/apache --enable-module=so
make
make install
--enable-module=so:啟用動態共享物件支援,PHP 安裝需用到 apxs。cd /home/tmp
tar -zxvf php-4.2.3.tar.gz
mv php-4.2.3 php
cd php
./configure --prefix=/usr/local/php \
--with-apxs=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/lib \
--enable-track-vars \
--with-xml \
--with-mysql
make
make install
cp php.ini-dist /usr/local/lib/php.ini
--with-apxs:指定 Apache 的 apxs 路徑,編譯為 Apache 模組。--with-config-file-path:PHP 4.2.3 預設尋找 php.ini 路徑改變,需明確指定。編輯 /usr/local/apache/conf/httpd.conf:
# 管理員信箱
ServerAdmin admin@yourdomain.com
# 網頁根目錄
DocumentRoot "/home/httpd/html"
# 安全性:移除 Indexes 避免目錄列表
Options FollowSymLinks MultiViews
# 預設首頁順序
DirectoryIndex index.php index.phtml index.php3 index.html index.htm
# PHP 副檔名對應
AddType application/x-httpd-php .php .phtml .php3 .inc
AddType application/x-httpd-php-source .phps
編輯 /usr/local/lib/php.ini:
register_globals = On # 舊版相容,新版建議 Off
/usr/local/apache/bin/apachectl start
瀏覽器訪問 https://localhost/ 應顯示 Apache 預設頁;建立 phpinfo.php 驗證 PHP 模組載入與 MySQL 支援。
HARD_SERVER_LIMIT 256,需修改 src/include/httpd.h 重新編譯才能提高。LoadModule php4_module 在 AddType 之前。