linux apr文件解压失败,编译httpd2.4.10踩坑记

作者【Jev Tse】【版权所有】  系统环境:centos6.8

【本文概览】

零、httpd2.4.10编译总结

1、基础环境

2、依赖包组

1、第一个坑:APR not found (ARP-Ulit not fount)

2、第二个坑:pcre-config for libpcre not found.

3、第三个坑:g++: command not found

4、第四个坑:make[1]: *** [libpcrecpp.la] Error 1

5、第五个坑:httpd报错AH00557 AH00558

零、httpd2.4.10编译总结

1、基础环境:

安装"Development Tools"包组

安装升级gcc、gcc-g++组件

2、依赖包组:

apr、apr-ulit、pcre

包组来源:

wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.20/pcre-8.20.zip

一、安装前准备

1、系统环境:centos6.8

2、安装开发软件包组以及GCC:

[root@6 Jev Tse testdir]#yum groupinstall "Development Tools"

[root@6 Jev Tse testdir]#yum install gcc

3、解压httpd-2.4.10.tar.bz2

[root@6 Jev Tse testdir]#tar xvf httpd-2.4.10.tar.bz2

[root@6 Jev Tse testdir]#cd httpd-2.4.10

二、编译踩坑

1、第一个坑:APR not found  (ARP-Ulit not fount)

鉴于我在centos7安装httpd-2.2.29的经验,直接./configure

[root@6 Jev Tse httpd-2.4.10]#./configure  --prefix=/usr/local/Jev-apache2

checking for APR... no

configure: error: APR not found .  Please read the documentation

查看安装相关文件

[root@6 Jev Tse testdir]#cat  README  INSTALL

*  *  *  *  *  *

Consider if you want to use a previously installed APR and APR-Util (such as those provided with many OSes) or if you need to use the APR and APR-Util from the apr.apache.org project. If the latter, download the latest versions and unpack them to ./srclib/apr and ./srclib/apr-util (no version numbers in the directory names) and use./configure's --with-included-apr option.

*  *  *  *  *  *

从INSTALL 得出:

安装环境需要安装apr 以及apr-ulit,并使用--with-included-apr的选项

# 安装apr-1.5.2组件

[root@6 Jev Tse httpd-2.4.10]#reset    #清理环境,排除其他干扰

[root@6 Jev Tse testdir]#wget  \

http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

[root@6 Jev Tse testdir]#tar vxf apr-1.5.2.tar.gz

[root@6 Jev Tse testdir]#cd apr-1.5.2

[root@6 Jev Tse apr-1.5.2]# cat README

[root@6 Jev Tse apr-1.5.2]# ./configure --prefix=/usr/local/apr

[root@6 Jev Tse apr-1.5.2]#make && make install

[root@6 Jev Tse apr-1.5.2]#echo $?   #查看返回值,确定操作无误

# 安装apr-util-1.5.2组件

[root@6 Jev Tse testdir]#wget \

http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz

[root@6 Jev Tse testdir]# tar vxf apr-util-1.5.2.tar.gz

[root@6 Jev Tse testdir]#cd apr-util-1.5.2

[root@6 Jev Tse apr-util-1.5.2]#./configure --prefix=/usr/local/apr-util \

--with-apr=/usr/local/apr

#安装环境需要安装apr 需使用--with-included-apr的选项

[root@6 Jev Tse apr-util-1.5.2]#make && make install

[root@6 Jev Tse apr-util-1.5.2]#echo $? #查看返回值,确定操作无误

2、第二个坑:pcre-config for libpcre not found.

#重新编译安装apache

[root@6 Jev Tse testdir]#cd /testdir/httpd-2.4.10

[root@6 Jev Tse Tse httpd-2.4.10]#./configure \

--prefix=/usr/local/Jev-apache2  \

--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

checking for pcre-config... false

configure: error: pcre-config for libpcre not found....

# 安装pcre-8.20组件

[root@6 Jev Tse testdir]#reset         #清理环境,排除其他干扰

[root@6 Jev Tse testdir]#wget \

http://jaist.dl.sourceforge.net/project/pcre/pcre/8.20/pcre-8.20.zip

[root@6 Jev Tse testdir]#unzip -o pcre-8.20.zip

[root@6 Jev Tse testdir]#cd pcre-8.20

3、第三个坑:g++: command not found

[root@6 Jev pcre-8.20]#./configure --prefix=/usr/local/pcre

./libtool: line 990: g++: command not found

[root@6 Jev pcre-8.20]#reset

[root@6 Jev pcre-8.20]#yum install gcc-c++

4、第四个坑:make[1]: *** [libpcrecpp.la] Error 1

[root@6 Jev pcre-8.20]#./configure --prefix=/usr/local/pcre

make[1]: *** [libpcrecpp.la] Error 1

make[1]: Leaving directory `/testdir/test1/pcre-8.20'

make: *** [all] Error 2

从网上查资料得到,需加--disable-shared --with-pic 选项

[root@6 Jev pcre-8.20]#reset             #清理环境,排除其他干扰

[root@6 Jev pcre-8.20]#./configure  --prefix=/usr/local/pcre \

--disable-shared --with-pic

[root@6 Jev pcre-8.20]#make && make install

[root@6 Jev pcre-8.20]#echo $?          #查看返回值,确定操作无误

#再次编译安装apache

[root@6 Jev pcre-8.20#reset             #清理环境,排除其他干扰

[root@6 Jev pcre-8.20]# cd ../httpd-2.4.10

[root@6 Jev httpd-2.4.10]#./configure --prefix=/usr/local/Jev-apache2 \

--with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util/  \

--with-pcre=/usr/local/pcre

[root@6 Jev httpd-2.4.10]#make && make install

[root@6 Jev httpd-2.4.10]#echo $?        #查看返回值,确定操作无误

[root@6 Jev httpd-2.4.10]#cd ../

[root@6 Jev Tse testdir]#PATH=$PATH:/usr/local/ Jev-apache2/bin/  > \

/etc/profile.d/ Jev-apache2.sh                  #添加环境变量

[root@6 Jev Tse testdir]#source /etc/profile.d/ Jev-apache2.sh #加载环境变量

5、第五个坑:httpd报错AH00557 AH00558

[root@6 Jev Tse testdir]#apachectl start

AH00557: httpd: apr_sockaddr_info_get() failed for ...

AH00558: httpd:  ...

#经检测,这两个错误是apache主机名出错

#在httpd.conf 配置文件指定ServerName  host 即可

[root@6 Jev Tse testdir]# apachectl stop

[root@6 Jev Tse testdir]#vim  /usr/local/Jev-apache2/conf/httpd.conf

#在httpd.conf 配置文件加入“ServerName  172.16.250.69”

[root@6 Jev Tse testdir]# apachectl start

httpd (pid 58548) already running

三、测试服务

确认服务状态

[root@6 Jev Tse testdir]#netstat -ant |grep :80   #查看80端口是否正常

tcp       0     0 :::80       :::*     LISTEN

[root@6 Jev Tse testdir]#iptables –F          #清理防火墙

[root@6 Jev Tse testdir]#iptables –vnL        #确认防火墙状态

Chain INPUT (policy ACCEPT 11165 packets, 1052K bytes)

pkts bytes target    prot opt in   out   source  destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target    prot opt in   out   source  destination

hain OUTPUT (policy ACCEPT 156 packets, 16554 bytes)

pkts bytes target    prot opt in   out   source  destination

#编辑网页

[root@6.Jev Tse ~]#vim /usr/local/Jev-apache2/htdocs/index.html

3c8ce6380daa33c267ccb0e2e66a02de.png

经测试网页能正常访问,大功告成

3c8ce6380daa33c267ccb0e2e66a02de.png

四、踩坑总结

1、编译软件前需看清楚,软件编译环境需求,可以避免不必要的麻烦。

2、编译出错后,用reset清理系统环境,排除其他干扰,再继续操作。

3、碰到错误,先根据错误提示以及安装帮助文档排错。

4、确实解决不了才到社区查找相关资料。

作者【Jev Tse】【版权所有】

原创文章,作者:Jev Tse,如若转载,请注明出处:http://www.178linux.com/61405

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值