cd /home/wj
tar -zxvf httpd-2.0.54.tar.gz
mv httpd-2.0.54 apache2
cd apache2
./configure --prefix=/usr/local/apache2 --enable-module=so
make
make install
關鍵參數: --enable-module=so 啟用 DSO 動態模組支援,PHP 安裝時需用 apxs。
cd /home/wj
tar -zxvf php-5.0.4.tar.gz
mv php-5.0.4 php5
cd php5
./configure --prefix=/usr/local/php5 \
--with-apxs2=/usr/local/apache2/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-apxs2:指定 Apache apxs 路徑,編譯為 Apache 模組--with-mysql:內建 MySQL 原生驅動--with-xml:XML 支援--enable-track-vars:啟用 $HTTP_GET_VARS 等舊式變數(PHP 5 預設開啟)vi /usr/local/apache2/conf/httpd.conf
# 1. 管理員信箱
ServerAdmin admin@yourdomain.com
# 2. 文件根目錄
DocumentRoot "/home/httpd/html"
# 3. 安全性:移除 Indexes 避免目錄列表
Options FollowSymLinks MultiViews
# 4. 預設首頁順序
DirectoryIndex index.php index.phtml index.php3 index.html index.htm
# 5. PHP 型別對應
AddType application/x-httpd-php .php .phtml .php3 .inc
AddType application/x-httpd-php-source .phps
vi /usr/local/lib/php.ini
register_globals = Off # 強烈建議關閉,安全性考量
/usr/local/apache2/bin/apachectl start
# 建立測試頁
echo '<?php phpinfo(); ?>' > /home/httpd/html/info.php
# 瀏覽 https://yourserver/info.php
# 建立啟動腳本 /etc/rc.d/init.d/apache2d
#!/bin/bash
/usr/local/apache2/bin/apachectl start
chmod +x /etc/rc.d/init.d/apache2d
ln -s /etc/rc.d/init.d/apache2d /etc/rc3.d/S90apache2 # 運行層級 3 啟動
ln -s /etc/rc.d/init.d/apache2d /etc/rc0.d/K20apache2 # 關機停止
yum/dnf/apt 安裝穩定版,或 Docker 容器化部署