首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Linux 經典 LAMP 環境手把手部署:MySQL + Apache + PHP 從原始碼編譯到整合驗證

     編輯:PHP 相關知識

部署目標與版本說明

本指南示範在 Linux 系統上從原始碼編譯安裝經典 LAMP 棧,採用的版本為:

  • MySQL 3.23.52 (RPM 包)
  • Apache 1.3.26 (原始碼,支援 DSO)
  • PHP 4.2.3 (原始碼,DSO 模式整合 Apache)

注意: 版本較老,僅供教學與遺留系統維護參考。生產環境請使用現代版本 (MySQL 8.0、Apache 2.4、PHP 8.x) 並透過套件管理器安裝。

一、MySQL 安裝與基礎安全配置

# 下載 RPM 包至 /home/tmp
cd /home/tmp
rpm -ivh mysql-3.23.52-1.i386.rpm        # 伺服器端
rpm -ivh mysql-client-3.23.52-1.i386.rpm # 客戶端

# 啟動服務並測試
/usr/bin/safe_mysqld &
mysql -u root
# 進入 MySQL 授權 root 遠程訪僅供開發測試
USE mysql;
UPDATE user SET host='%' WHERE user='root' AND host!='localhost';
FLUSH PRIVILEGES;
QUIT;

二、Apache 編譯安裝 (關鍵:啟用 mod_so)

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 工具
  • 安裝路徑:/usr/local/apache

三、PHP 編譯安裝與 Apache 整合

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 路徑,自動修改 httpd.conf 載入 libphp4.so
  • --with-config-file-path:指定 php.ini 搜尋路徑,避免配置檔不生效
  • --enable-track-vars:啟用 $HTTP_*_VARS 陣列 (PHP 4.0.3+ 預設開啟)

四、核心配置文件修改

1. Apache httpd.conf

# 管理員郵箱
ServerAdmin admin@example.com

# 文件根目錄
DocumentRoot "/home/httpd/html"

# 安全性:移除 Indexes 禁止目錄瀏覽
Options FollowSymLinks MultiViews

# 預設首頁順序
DirectoryIndex default.php default.phtml default.php3 default.html default.htm

# PHP 型別關聯
AddType application/x-httpd-php .php .phtml .php3 .inc
AddType application/x-httpd-php-source .phps

2. PHP php.ini

register_globals = On   # 僅供舊代碼相容,新代碼請關閉並使用超全域陣列

五、啟動驗證與常見問題

啟動 Apache

/usr/local/apache/bin/apachectl start

在 DocumentRoot 建立 test.php:

瀏覽器訪問 https://server-ip/test.php 確認 PHP 模組載入正常。

常見編譯陷阱與對策

問題現象原因解決方案
PHP 編譯找不到 apxsApache 未啟用 mod_so重新編譯 Apache 加上 --enable-module=so
php.ini 不生效PHP 4.2.3 預設配置路徑變更編譯時指定 --with-config-file-path=/usr/local/lib
Apache 進程數受限 256硬編碼限制 HARD_SERVER_LIMIT編譯前修改 src/include/httpd.h 將 256 改為 2048

六、軟體下載彙總

  • PHP: https://www.php.net/get_download.php?df=php-4.2.3.tar.gz
  • Apache: https://www.apache.org/dist/httpd/apache_1.3.26.tar.gz
  • MySQL Server: https://www.mysql.com/downloads/...
  • MySQL Client: https://www.mysql.com/downloads/...

本文步驟針對特定版本驗證,不保證適用於其他版本。現代部署請優先使用發布套件管理器 (yum/apt) 或容器化方案 (Docker)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved