注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

FY

Johnson 's Blog

 
 
 

日志

 
 

Linux下安装httpd,apr,apr-util,pcre错误解决  

2012-04-22 16:17:41|  分类: Web 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

LINK

LINK

编译httpd-2.2.22/srclib/apr-util错误的解决方法,本文版权所有风信网 http://www.ithov.com 实测方法。

今天在编译apache时,出现如下问题:

make[3]: Entering directory `/tmp/httpd-2.2.22/srclib/apr-util/xml/expat'
/bin/sh ./conftools/mkinstalldirs /usr/local/apache2/lib /usr/local/apache2/include
/bin/sh ./libtool  --mode=install /usr/bin/install -c libexpat.la /usr/local/apache2/lib/libexpat.la
/usr/bin/install -c .libs/libexpat.so.0.5.0 /usr/local/apache2/lib/libexpat.so.0.5.0
(cd /usr/local/apache2/lib && { ln -s -f libexpat.so.0.5.0 libexpat.so.0 || { rm -f libexpat.so.0 && ln -s libexpat.so.0.5.0 libexpat.so.0; }; })
(cd /usr/local/apache2/lib && { ln -s -f libexpat.so.0.5.0 libexpat.so || { rm -f libexpat.so && ln -s libexpat.so.0.5.0 libexpat.so; }; })
/usr/bin/install -c .libs/libexpat.lai /usr/local/apache2/lib/libexpat.la
/usr/bin/install -c .libs/libexpat.a /usr/local/apache2/lib/libexpat.a
chmod 644 /usr/local/apache2/lib/libexpat.a
ranlib /usr/local/apache2/lib/libexpat.a
libtool: install: warning: remember to run `libtool --finish /usr/local/apache2--sysconfdir=/etc/httpd/lib'
/usr/bin/install -c -m 644 ./lib/expat.h /usr/local/apache2/include
make[3]: Leaving directory `/tmp/httpd-2.2.22/srclib/apr-util/xml/expat'
/bin/sh /tmp/httpd-2.2.22/srclib/apr/libtool --mode=install /usr/bin/install -c -m 755 libaprutil-1.la /usr/local/apache2/lib
libtool: install: error: cannot install `libaprutil-1.la' to a directory not ending in /usr/local/apache2--sysconfdir=/etc/httpd/lib
make[2]: *** [install] 错误 1
make[2]: Leaving directory `/tmp/httpd-2.2.22/srclib/apr-util'
make[1]: *** [install-recursive] 错误 1
make[1]: Leaving directory `/tmp/httpd-2.2.22/srclib'
make: *** [install-recursive] 错误 1

卡在这里编译不过去了,分析原因,原来是缺少 apr & apr-util,下面我们就来解决该问题。

需要下载以下两个包:

APR 1.4.5:http://mirror.bjtu.edu.cn/apache//apr/apr-1.4.5.tar.gz
APR-util 1.4.1:http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.4.1.tar.gz

执行以下命令:

    >wget http://mirror.bjtu.edu.cn/apache//apr/apr-1.4.5.tar.gz
  >tar zxvf apr-1.4.5-tar.gz
  >cd apr-1.4.5
  >./configure --prefix=/usr/local/apr-httpd/
  >make
    >make install

    >wget http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.4.1.tar.gz
  >tar zxvf apr-util-1.4.1-tar.gz
  >cd apr-util-1.4.1
  >./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
  >make
    >make install

  回到apache编译目录

  >./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-z=/usr/local/zlib --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd  --disable-userdir --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
  >make
  >make install

    启动apache服务

    >/usr/local/apache2/bin/apachectl start

现在可以了,输入http://loaclhost/访问试试!


##########################################################################

Fedora12安装之后,默认就有了httpd,如果没有,需要到http://httpd.apache.org/手动下载,编译。

为了本次演示,我专门卸载了原有的httpd,重新下载并安装apache。卸载方法:yum -e httpd.

1:到apache官方网站 http://httpd.apache.org/download.cgi 下载最新版本的apache,然后解压,执行如下命令:

./configure –prefix=/root/soft/apache

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

2:提示缺少apr,下载http://apache.freelamp.com/apr/编译安装完成apr之后,继续编译apache.

3:编译( ./configure --prefix=/root/soft/apr-util –with-apr=/root/soft/apr)

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

4:缺少apr-util,下载编译apr-util之后,继续编译apache

/configure --prefix=/root/soft/apache  --with-apr=/root/soft/apr/

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

5:再次提示缺少pcre,下载之http://sourceforge.net/projects/pcre/ 编译 安装(我这里均安装在/root/soft目录里,例如./configure --prefix=/root/soft/pcre)

./configure --prefix=/root/soft/apache --with-apr=/root/soft/apr/ --with-apr-util=/root/soft/apr-util/

6:然后就可以编译通过了。

7:照例make ,make install,然后到/root/soft/apache/bin目录里,执 行./apachectl start,启动httpd服务,在浏览器中输入127.0.0.1进行测试,可 以出来网页,但是提示403 Forbidden,因为我的www目录默认在/root/soft/apache/htdocs目录,该目录是root权限的目录,web用户是无权限 访问的,修改apache/conf/httpd.conf。把DocumentRoot 修改为 /var/www/html (可以在var下面新建这些目录) ,同时还需要修改<Directory "/root/soft/apache/htdocs">至<Directory "/var/www/html/">,保存,执行apachectl restart,即可

8:apache在linux默认是支持ipv4/ipv6的,在浏览器中输入[::1],期待已久的网页出现啦...

Enjoy It!

 

附:

1:在configure的时候,如果遇到缺少其他软件,可以先看一下help,例如本次安装过程中如果提示缺少apr,那么

./configure –help|grep apr

2:我的apache的编译命令:

./configure --prefix=/root/soft/apache --withpr=/root/soft/apr --with-apr-util=/root/soft/apr-util/ --with-pcre=/root/soft/pcre/ --enable-so

  评论这张
 
阅读(840)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018