pache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache,Apache官网www.apache.org
由于httpd2.2和httpd2.4所所使用的Apr库不同,而且centos7系统自带的Apr与之不匹配,所以需要使用yum安装Apr库文件。
[root@dl-001 src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.29.tar.gz //2.4源码包
[root@dl-001 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz //apr-1.6.3r包
[root@dl-001 src]# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz //apr-util-1.6.1包
说明:下载并解压,以下操作需要进入。
1,安装apr包
[root@dl-001 src]# cd apr-1.6.3
配置:
[root@dl-001 apr-1.6.3]# ./configure --prefix=/usr/local/apr
报错:
configure: error: in `/usr/local/src/apr-1.6.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
//说明:缺少C语言相关的编译器。
解决办法:
[root@dl-001 apr-1.6.3]# yum install -y gcc* //安装gcc编译器。
[root@dl-001 apr-1.6.3]# ./configure --prefix=/usr/local/apr
// 配置成功!
编译和安装:
[root@dl-001 apr-1.6.3]# make
报错:
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
#include <expat.h>
^
编译中断。
make[1]: *** [xml/apr_xml.lo] 错误 1
make[1]: 离开目录“/usr/local/src/apr-util-1.6.0”
make: *** [all-recursive] 错误 1
解决办法:
[root@dl-001 apr-1.6.3]# yum -y install expat-devel
[root@dl-001 apr-1.6.3]# make && make install
[root@dl-001 apr-1.6.3]# echo $?
0
注意: APR 1.6.2版本有变更,进行了加密设置,进行编译时需要使用如下命令(否则在安装Apache是无法调用该库文件):
[root@dl-001 httpd-2.4.29]# CC="gcc -m64" ./configure --prefix=/usr/local/apr
2,安装Apr-util包
[root@dl-001 src]# cd apr-util-1.6.1
[root@dl-001 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@dl-001 apr-util-1.6.1]# echo $?
0
编译和安装:
[root@dl-001 apr-util-1.6.1]# make && make install