在Linux防火墻上編譯Apache+PHP4+Mysql(轉(zhuǎn))
2024-08-27 18:28:48
供稿:網(wǎng)友
,歡迎訪問網(wǎng)頁設(shè)計愛好者web開發(fā)。目的: 一臺redhat linux 6.2 用為防火墻,專線連結(jié)chinanet,對內(nèi)連結(jié)
局域網(wǎng)段192.168.11.0/24,需要enable php4和mysql數(shù)據(jù)庫,且局域網(wǎng)
上有另一臺apache服務(wù)器192.168.11.2,需要對外部用戶提供服務(wù),利用
防火墻上編譯的apache反向代理和名字虛擬主機的功能來實現(xiàn)
地址: 防火墻外部地址為a.b.c.210,且別名第二個地址為a.b.c.211,內(nèi)部網(wǎng)卡
地址為192.168.11.5,內(nèi)部lan上的apache服務(wù)器為192.168.11.2
實現(xiàn):
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模塊 和大多數(shù)共享模塊庫
./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行,
把mod_proxy_add_forward放在mod_proxy之前。
9. 在/usr/local/apache/conf/httpd.conf的末尾增加下面的行
namevirtualhost 202.96.240.210
servername host.yourdomain.com
errorlog /var/log/httpd/shopu/error_log
transferlog /var/log/httpd/shopu/access_log
rewriteengine on
rewriterule ^(/.*)$ http://192.168.11.2/$1 [p,l]
#rewritelog /var/log/httpd/shopu/rewrite_log
#rewriteloglevel 9
proxyrequests off
其中rewritelog and rewriteloglevel兩行如果去掉注釋則幫助查找rewriterule
記錄