zoukankan      html  css  js  c++  java
  • apache2.2升级2.4 及编译时常见问题

    1. 漏洞信息 

     2. 升级版本

    yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs

    当前版本

    [root@VM_0_15_centos ~]# rpm -qa|grep httpd
    httpd-tools-2.2.15-69.el6.centos.x86_64
    httpd-2.2.15-69.el6.centos.x86_64

    apache官网下载最新版本

    编译apache时出错:

    #./configure --prefix……检查编辑环境时出现:

    checking for APR... no
    configure: error: APR not found .  Please read the documentation

    下载所需依赖包

    [root@VM_0_15_centos opt]# wget http://archive.apache.org/dist/apr/apr-1.6.5.tar.gz
    [root@VM_0_15_centos opt]# wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
    [root@VM_0_15_centos opt]# wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz

    a:解决apr not found问题>>>>>>

      tar -zxf apr-1.4.5.tar.gz  

      cd  apr-1.4.5  

      ./configure --prefix=/usr/local/apr  

      make && make install 

    注意:在执行configure可能会出现

    rm: cannot remove `libtoolT': No such file or directory错误信息。提示编辑configure这个文件,

    将 $RM “$cfgfile” 那行注释掉 ,然后重新编译即可。

    b:解决APR-util not found问题>>>>

      tar -zxf apr-util-1.3.12.tar.gz  

      cd apr-util-1.3.12  

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

      make && make install 

    注意:在执行make可能会出现错误信息

    make[1]: *** [xml/apr_xml.lo] Error 1
    make: *** [all-recursive] Error 1

    原因是缺少expat库

    yum install expat-devel

    c:解决pcre问题>>>>>>>>>

      unzip -o pcre-8.10.zip  

      cd pcre-8.10  

      ./configure --prefix=/usr/local/pcre  

      make && make install 

    或者 yum  install pcre-devel  ( 编译httpd参数  --with-pcre )

    注意: 执行./configure可能报错 configure: error: Invalid C++ compiler or C++ compiler flags

    yum install -y gcc gcc-c++

    最后编译Apache时加上:

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

    [root@VM_0_15_centos httpd-2.4.37]# ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre --enable-mods-shared=most --enable-so --with-mpm=prefork --with-included-apr
    
    [root@VM_0_15_centos httpd
    -2.4.37]# make [root@VM_0_15_centos httpd-2.4.37]# make install

    执行configure报错

    configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

    解决方法

    cp -r /opt/apr-1.6.5 /opt/httpd-2.4.37/srclib/apr
    cp -r /opt/apr-util-1.6.0 /opt/httpd-2.4.37/srclib/apr-util

    启动服务  ( 默认去找的是apache2目录, 指定启动配置文件. 若编译在apache2目录就不用指定配置文件)

    /usr/local/apache2437/bin/httpd -f /usr/local/apache2437/conf/httpd.conf -k start    

    查看编译参数

    [root@VM_0_15_centos httpd-2.4.37]# cat /usr/local/apache2437/build/config.nice 
    #! /bin/sh
    #
    # Created by configure
    
    "./configure" 
    "--prefix=/usr/local/apache2437" 
    "--with-apr=/usr/local/apr" 
    "--with-apr-util=/usr/local/apr-util/" 
    "--with-pcre=/usr/local/pcre" 
    "--enable-mods-shared=most" 
    "--enable-so" 
    "--with-included-apr" 
    "$@"

     查看模块

    [root@VM_0_15_centos bin]# ./apachectl -l
    Compiled in modules:
      core.c
      mod_so.c
      http_core.c
      event.c

    附加

    1、nginx编译参数:

    nginx -V(大写)
    #注意:需保证nginx在环境变量中,或者使用这样的形式:/user/local/nginx/sbin/nginx -V

    2、apache编译参数

    cat your_apache_dir/build/config.nice

    3、php编译参数:

    php -i |grep configure
    #或者 /user/local/php/bin/php -i |grep configure

    4、mysql编译参数:

    cat /user/local/mysql/bin/mysqlbug |grep configure
    自用博文.不限传播.欢迎留言.共同进步.
  • 相关阅读:
    《JavaWeb从入门到改行》JSP+EL+JSTL大杂烩汤
    Linux下进程线程,Nignx与php-fpm的进程线程方式
    solr全文检索实现原理
    LSM树以及在hbase中的应用
    MySQL的MyISAM与InnoDB的索引方式
    MySQL的innoDB存储引擎的运作方式,数据结构等
    Redis作缓存
    Redis的几点积累
    Redis数据库各种数据结构的内部实现。
    正则表达式!!!
  • 原文地址:https://www.cnblogs.com/mingetty/p/10289315.html
Copyright © 2011-2022 走看看