apache 2.0.47 安装笔记
cloud/2003.10.23
mail:flashc@21cn.com
欢迎转载,转载请保留以上信息,谢谢
个人水平有限,文中难有遗漏错误的地方,欢迎指出。笔记系后期整理,不能保证完全可用,主要是apache的conf文件,不知道是否有遗漏,请大家见谅。
解压软件
# tar zxvf httpd-2.0.47.tar.gz -C /setup
mod_limitipconn是一个限制同一IP连接次数的模块
# tar zxvf mod_limitipconn-0.22.tar.gz -C /setup
# cd /setup/httpd-2.0.47
给apache打补丁,支持同一ip连接的代理跟踪
# patch -p1 < ../mod_limitipconn/apachesrc.diff
# ./configure --prefix=/web/httpd \ 安装目录
--datadir=/www \ 发布网页目录
--enable-so \ 启用共享模块功能,安装php.mod_perl必需
--enable-deflate \ 启用压缩支持
--with-mpm=worker \ 启用线程和进程混合的多道处理模块worker,默认是prefock,即1.3里面的纯进程工作模式,注意,这里如果选择worker的话,那么后面编译PHP的时候是不能选择MM(使用内存来保存会话信息)的支持的!ZendPerformanceSuite只能工作在prefock工作模式!!!
--with-module=aaa:../mod_limitipconn-0.22/mod_limitipconn.c \ 静态编译mod_limitipconn模块到httpd内部(如果你想动态加载安装那就自己去看看README好了,很简单的)
--enable-forward 激活同一ip的代理连接跟踪,打的补丁也是针对这个的
# make
# make install
# cd /web/httpd
# bin/httpd -l
查看编译的模块,注意一下是否有mod_limitipconn的输出。
# tar zxvf mm-1.3.0.tar.gz -C /setup
# tar jxvf php-4.3.3.tar.bz -C /setup
# tar zxvf gd-2.0.15.tar.gz -C /setup
# tar zxvf jpeg-v6b.tar.gz -C /setup
# tar zxvf libpng-1.2.5.tar.gz -C /setup
# tar zxvf zlib-1.1.4.tar.gz -C /setup
# tar jxvf freetype-2.1.5.tar.bz2 -C /setup
# cd /setup/mm-1.3.0
# ./configure --prefix=/web/mm
# make && make install
# echo "/web/mm/lib" >> /etc/ld.so.conf
# ldconfig
# ldconfig -p | grep mm
查找mm库的输出
# cd ../libpng-1.2.5
# cp scripts/makefile.gcmmx makefile (makefile.gcmmx是针对MMX指令集优化的,具体看INSTALL文件)
# cd ../jpeg-6b
# mkdir /usr/local/man/man1
# make && make install && make install-lib
# cd ../gd-2.0.15
# ./configure
配置完成后,注意输出的信息是否如下:
Xpm库我总是安装不成功,不管它了,也很少用,一般PNG/JPEG/FREETYPE三个库打开支持就行了
** Configuration summary for gd 2.0.15:
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Xpm library: no
# make && make install
# cp gd.h /usr/local/lib \\编译PHP的时候会缺少这个文件出错
# cd ../zlib-1.1.4
# ./configure --shared \\shared生成zlib的共享库文件
# make && make install
# cd ../freetype-2.1.5.tar.bz2 -C /setup
# ./configure
# make && make install
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
# cd ../php-4.3.3
# # ./configure --with-apxs2=/web/httpd/bin/apxs
--enable-track-vars (打开变量跟踪功能)
--with-zlib-dir=/usr/local/lib
--with-gd=/usr/local/lib
--with-mm=/web/mm (如果你编译apache选择了worker的mpm模块,那么就不要加上mm的支持,mm是不支持线程工作的,否则编译的时候会出错的)
--enable-sysvmsg
--enable-sockets
--enable-sysvshm
--enable-sysvsem
--enable-gd-native-ttf
--with-ttf=/usr/lib
--disable-debug
--with-tiff-dir=/usr/lib
--with-jpeg-dir=/usr/local/lib
--with-png-dir=/usr/local/lib