Heim >php教程 >php手册 >在Linux防火墙上编译Apache+PHP4+Mysql(转)

在Linux防火墙上编译Apache+PHP4+Mysql(转)

WBOY
WBOYOriginal
2016-06-21 09:07:381008Durchsuche

apache|mysql|编译|防火墙

目的: 一台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行,

把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
记录



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn