yum -y install pcre pcre-devel
在CentOS系统中编译安装httpd2.4时,出现错误:”util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)“
解决方法:出现这个错误的原因是因为系统的的PCRE库版本太低了,需要下载安装较高版本的PCRE。
PCRE源码下载:http://www.pcre.org/
配置路径:./configure --prefix=/usr/local/pcre (pcre-8.37)
2) 编译安装apr (apr-1.5.2)make && make install
4) 编译httpd (httpd-2.4.18)
tar
cd
./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
make && make install
./configure --prefix=/usr/local/httpd24 设定httpd的安装目录
--sysconfdir=/etc/httpd24 设定httpd的配置文件目录
--enable-so 支持共享模块,如果没有这个PHP模块无法加入
--enable--ssl 支持ssl
--enable-cgi 支持cgi
--enable-rewrite 支持url重写
--with-zlib 支持zlib压缩,传输层的压缩(不指定具体的路径,默认在系统中搜索)
--with-pcre 支持正则化(不指定具体的路径,默认在系统中搜索)
--with-apr=/usr/local/apr 指定apr的路径
--with-apr-util=/usr/local/apr-util 指定apr-util的路径
--enable-modules=most 指定要编译的模块(most/all)
--enable-mpms-shared=all 指定要编译mpm
--with-mpm=event 指定httpd默认的MPM的工作方式
编译httpd2.4出现的错误:(http://forum.directadmin.com/showthread.php?t=52400)
prefer-non-pic -static -c ssl_engine_log.c && touch ssl_engine_log.lo
make[3]: *** [ssl_engine_io.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.18/modules/ssl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.18/modules/ssl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.18/modules'
make: *** [all-recursive] Error 1
解决方法:打开
httpd-2*/modules/ssl/ssl_engine_io.c的文件,在第220行的末尾添加上';'即可
vim /etc/ld.so.conf.d/httpd.conf
3 导出帮助文件
vim /etc/man.config
在该文件中添加一个: MANPATH /usr/loacal/httpd24/man
man -M /usr/local/httpd24/man httpd ,指定路径
4 修改环境变量
vim /etc/profile.d/httpd.sh
export PATH=/usr/local/httpd24/bin:$PATH
使用apachectl httpd 启动httpd即可。
5 切换MPM
cp httpd.conf{,.bak}
vim httpd.conf , 编辑loadmodule,注释掉已有的mpm,开启要切换的mpm