承接前文準備工作,本文詳細記錄 Apache HTTP Server 從源碼編譯安裝的完整流程,重點解析 configure 關鍵參數含義與選型策略。
# 1. 解壓源碼
tar -zxvf httpd-2.0.64.tar.gz
cd httpd-2.0.64
# 2. 配置編譯參數
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite \
--enable-deflate=shared \
--enable-module=so \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-cache \
--enable-file-cache \
--enable-mem-cache \
--enable-disk-cache \
--enable-static-support \
--enable-static-htpasswd \
--enable-static-htdigest \
--enable-static-rotatelogs \
--enable-static-logresolve \
--enable-static-htdbm \
--enable-static-ab \
--enable-static-checkgid \
--disable-cgid \
--disable-cgi \
--disable-userdir \
--with-mpm=worker \
--enable-authn-dbm=shared
# 3. 編譯安裝
make && make install
| 參數 | 功能說明 |
|---|---|
--prefix | 安裝根目錄 |
--enable-so | 啟用 DSO 動態共享物件支援(載入模組必備) |
--enable-rewrite | 啟用 URL 重寫模組(mod_rewrite) |
--enable-deflate | 網頁壓縮傳輸支援 |
--enable-expires | HTTP 快取控制支援 |
--enable-cache / mem-cache / disk-cache | 多層級快取機制 |
--with-mpm=worker | 採用 Worker MPM(多執行緒+多進程混合模式) |
--disable-cgi | 禁用 CGI 模式(PHP 採用 FastCGI 或 mod_php) |
--enable-mods-shared 的補充官方文檔指出 --enable-mods-shared=all 並不會啟用所有額外模組。若需完整安裝,建議顯式指定:
--enable-mods-shared="all ssl ldap cache proxy authn_alias mem_cache"
編譯完成後,Apache 將安裝至 /usr/local/apache2,下一步將進行 PHP 與 MySQL 的編譯整合。