Apache2.4源码编译安装的依赖问题

apache2.4版本需要依赖apr以及apr-util、pcre,首先下载并解压apr及apr-util、pcre

wget -P /home/downloads/ https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.6.2.tar.gz
wget -P /home/downloads/ https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.0.tar.gz
wget -P /home/downloads/ https://sourceforge.net/projects/pcre/files/pcre/8.41/pcre-8.41.tar.gz
tar -zxvf apr-1.6.2.tar.gz
tar -zxvf apr-util-1.6.0.tar.gz
tar -zxvf pcre-8.41.tar.gz

进入apr目录编译并安装apr

./configure --prefix=/usr/local/apr
make && make install

进入apr-util目录编译安装apr-util,注意./configure配置时要使用-with-指定apr的路径

./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
make && make install

若make报错:xml/apr_xml.c:35:19: 错误:expat.h:没有那个文件或目录,执行yum -y install expat-devel安装expat即可

进入pcre目录编译安装pcre,若提示You need a C++ compiler for C++ support,则需要先安装gcc-c++

yum -y install gcc-c++
./configure -prefix=/usr/local/pcre
make && make install

最后编译安装apache

./configure --prefix=/usr/local/httpd2 -with-apr=/usr/local/apr/ -with-apr-util=/usr/local/apr-util/ -with-pcre=/usr/local/pcre/
make && make install

若make出现以下错误

collect2: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: Leaving directory `/home/downloads/httpd-2.4.27/support'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/downloads/httpd-2.4.27/support'
make: *** [all-recursive] 错误 1

按网上说法应该如下操作,但我操作之后仍旧报错,后yum安装了apache之后再源码安装才成功

mv /usr/lib/libm.a /usr/lib/libm.a.bak
mv /usr/lib/libm.so /usr/lib/libm.so.bak
mv /usr/lib/libexpat.so /usr/lib/libexpat.so.bak
ln -s /usr/lib64/libm.a /usr/lib/libm.a
ln -s /usr/lib64/libm.so /usr/lib/libm.so
ln -s /usr/lib64/libexpat.so /usr/lib/libexpat.so

猜你喜欢

转载自blog.csdn.net/jewely/article/details/76975283