手動編譯的好處在於你可以擁有較佳的執行效能,不使用預設的模組,僅安裝自己所需要的模組,這對於需要更快的網頁回應速度,或是使用較差的硬體設備來架站的朋友來說是非常重要的。這也是為甚麼大家使用 Linux 作業系統的原因…

這篇文章是在 RedHat 剛出 7.3 版以後所寫的,但也適用於其它平台的 Linux 版本。

** 舊文重貼,此文件亦適用 RedHat 8/9

Apache + PHP with RedHat 7.3 安裝

安裝筆記 by James Lin ([email protected])
轉載前請先獲得授權

## 安裝前準備 ##

mySQL
Apache
PHP
Zend Optimizer

[下載程式]

先下載欲安裝程式的原始檔:

apache_1.3.26.tar.gz
mysql-3.23.51.tar.gz
php-4.2.1.tar.gz
ZendOptimizer-1.3.1-Linux_glibc21-i386.tar.gz

[先移除已安裝的 Apache RPM]

下面的安裝說明是以原始檔安裝的方式 (Source Install),

以 rpm -e ????????.rpm 移掉所有原先安裝的 apache rpm 模組如果要知道需要先移除哪一些 RPM,可以先以 rpm -qa |grep “apache” 指令看看先前安裝的是哪一個版本的 apache, 以 rpm -e xxxxxxxx.rpm 移除,如果有相依的 rpm 檔的話,rpm 程式會出現警告訊息,先移除所有的相依 rpm 再移除 xxxxxxxx.rpm 即可。

## 安裝 Apache ##

cd /usr/local
tar zxvf /home/james/apache_1.3.26.tar.gz
cd apache_1.3.26/
./configure –with-layout=Apache –prefix=/usr/local/apache –enable-module=headers –enable-shared=headers –enable-module=info –enable-shared=info –enable-module=rewrite –enable-shared=rewrite –enable-module=speling –enable-shared=speling
make
make install

## 安裝 mySQL ##

cd /usr/local
tar zxvf /home/james/mysql-3.23.51.tar.gz
cd mysql-3.23.51/
groupadd mysql
useradd -g mysql mysql
./configure –with-charset=big5
make
make install
cd scripts/
./mysql_install_db
cd ..
cd support-files/
chmod 755 mysql.server
cp mysql.server /etc/rc.d/init.d/
cp my-medium.cnf /etc/my.cnf
chown -R mysql.mysql /usr/local/var
chown -R mysql /usr/local/var

## 安裝 PHP ##

此安裝模式安裝為 Apache Loadble Module

cd /usr/local
tar zxvf /home/james/php-4.2.1.tar.gz
cd php-4.2.1/
./configure –with-apxs=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php4/conf/ –with-mysql –enable-ftp –disable-debug
make
make install
mkdir /usr/local/php4
mkdir /usr/local/php4/conf
cp php.ini-dist /usr/local/php4/conf/php.ini

cd /usr/local/apache/conf

[編輯 httpd.conf]

加入下面兩行

AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps

[修改目錄索引]

改為

DirectoryIndex index.html index.htm index.php index.phtml

## 安裝 Zend Optimizer ##

cd /tmp
tar zxvf /home/james/ZendOptimizer-1.3.1-Linux_glibc21-i386.tar.gz
cd ZendOptimizer-1.3.1-Linux_glibc21-i386/
./install.sh
/usr/local/apache/bin/apachectl restart

補充文件: Apache Modules Install

mod_protection.c
對於把 Server 當作 NT Box 在掃描漏洞的人進行干擾,並重導到特定頁面。

<IfModule mod_protection.c>
BlockTime 15
Menace /home/www/blockscanner.htm
# WarnHost 192.168.2.23 60080
Include /usr/local/apache/conf/mod_protection.rules
</IfModule>

mod_limitipconn.c
限制一個 IP 可以在本機透過 HTTP 同時下載連線數。

<IfModule mod_limitipconn.c>
<Location /home/www/hack>
MaxConnPerIP 3
NoIPLimit image/*
</Location>
<Location /home/www/hack/hackfiles>
MaxConnPerIP 1
NoIPLimit image/*
#OnlyIPLimit audio/mpeg video
</Location>
</IfModule>


AWAY TECHNOLOGY GROUP. TAIWAN. http://www.awaytech.com/

Fun Stuff
最後修改日期: 2003-12-06