目的: 一台Redhat linux 6.2 用為防火牆,專線連結Chinanet,對內連結
局域網段192.168.11.0/24,需要enable PHP4和Mysql數據庫,且局域網
上有另一台Apache服務器192.168.11.2,需要對外部用戶提供服務,利用
防火牆上編譯的Apache反向代理和名字虛擬主機的功能來實現
地址: 防火牆外部地址為a.b.c.210,且別名第二個地址為a.b.c.211,內部網卡
地址為192.168.11.5,內部LAN上的Apache服務器為192.168.11.2
實現:
1.下載三個源文件到防火牆機器的/tmp下
apache_1.3.12.tar.gz
mysql-3.22.32.tar.gz
php-4.0.1pl2.tar.gz
2. 在/tmp下分別解開三個文件
# tar xvfz apache*gz
# tar xvfz mysql*gz
# tar xvfz php*gz
3. 進入/tmp/mysql*,編譯mysql
#./configure --prefix=/usr/local/mysql
#make
#make install
#scripts/mysql_install_db
#/usr/local/mysql/bin/safe_mysqld &
#/usr/local/mysql/bin/mysqladm -u root password newpassword
4. 進入/tmp/php*,編譯PHP4
#./configure --with-mysql --with-apache=../apche_1.3.12
--enable-track-vars
#make;make install
5. 下載反向代理X-forward-for模塊,地址是
http://perl.apache.org/guide/download.html#mod_proxy_add_forward
下載後放該文件mod_proxy_add_forward.c到/tmp/apache_1.3.12/src/modules/
extra/目錄下
5.編譯Apache,加入PHP4模塊 和大多數共享模塊庫
./configure --prefix=/usr/local/apache
--activate-module=src/modules/php4/libphp4.a
--activate-module=src/modules/extra/mod_proxy_add_forward.c
--enable-module=most --enable-shared=max
6. 拷貝php.ini-dist到其它目錄
# cd /tmp/php*
# cp php.ini-dist /usr/local/lib/php.ini
7.編輯/usr/local/apache/conf/httpd.conf中的AddType行
AddType application/x-httpd-php4 .php
8. 編輯/usr/local/apache/conf/httpd.conf中的AddModule行,