腳本特色
- 支援 Apache 1.3(靜態編譯 PHP)與 Apache 2.0(DSO 模式)
- 變數化路徑與版本,易於維護升級
- 包含 MySQL、PHP、Apache 完整建置流程
版本一:Apache 1.3 靜態編譯模式
#!/bin/bash
export FilePath=/usr/local
export MySQLName=mysql-3.23.52
export PHPName=php-4.2.2
export ApacheName=apache_1.3.26
cd $FilePath
tar -zxvf $MySQLName.tar.gz
cd $MySQLName
./configure --prefix=$FilePath/mysql
make && make install
cd $FilePath/$MySQLName/bin
./mysql_install_db
# PHP + Apache 靜態編譯
cd $FilePath
tar -zxvf $PHPName.tar.gz
tar -zxvf $ApacheName.tar.gz
cd $FilePath/$ApacheName
./configure --prefix=$FilePath/apache
cd $FilePath/$PHPName
./configure --with-mysql=$FilePath/mysql --with-apache=$FilePath/$ApacheName --enable-track-vars --prefix=$FilePath/php
make && make install
cd $FilePath/$ApacheName
./configure --prefix=$FilePath/apache --activate-module=src/modules/php4/libphp4.a
make && make install
echo "ok!ok!ok!"
版本二:Apache 2.0 DSO 模式(推薦生產環境)
#!/bin/bash
export FilePath=/usr/local/myferly
export MySQLName=mysql-4.0.10-gamma
export PHPName=php-4.3.1
export ApacheName=httpd-2.0.44
cd $FilePath
tar -zxvf $MySQLName.tar.gz
cd $MySQLName
./configure --prefix=$FilePath/mysql
make && make install
cd $FilePath/mysql/bin
./mysql_install_db
# Apache 2.0 編譯(豐富模組)
cd $FilePath
tar -zxvf $PHPName.tar.gz
tar -zxvf $ApacheName.tar.gz
cd $FilePath/$ApacheName
./configure --prefix=$FilePath/apache \
--enable-auth-anon --enable-auth-dbm --enable-file-cache --enable-cache \
--enable-disk-cache --enable-mem-cache --enable-ext-filter --enable-proxy \
--enable-proxy-connect --enable-proxy-http --enable-http --enable-dav \
--enable-rewrite --enable-so
make && make install
# PHP 編譯(apxs2 模式)
cd $FilePath/$PHPName
./configure --with-mysql=$FilePath/mysql --with-apxs2=$FilePath/apache/bin/apxs --enable-track-vars --prefix=$FilePath/php
make && make install
echo "ok!ok!ok!"
使用建議
- 依實際版本修改變數區
- 生產環境建議加入
--enable-mbstring、--with-gd、--with-zlib 等常用擴展
- Apache 2.0 模組過多可能增加記憶體佔用,按需啟用
- 腳本執行前確認
gcc、make、libxml2-devel 等建置工具已安裝