美文网首页我爱编程
centos6.9编译安装Apache httpd 2.4.27

centos6.9编译安装Apache httpd 2.4.27

作者: jie0112 | 来源:发表于2017-08-06 18:36 被阅读0次

    Apache httpd 2.4.27是Apache httpd 的最新一个版本,在centos6上通过yum安装的默认是httpd 2.2.15,相对来说相差了好几个大版本。为了使用一些新特性,下面我们在centos6.9上试着安装最新版 Apache httpd 2.4.27版本。

    一、检查安装环境

    1、centos6.9 、Apache httpd 2.4.27的源码包,apr相关软件包等,
    2、检查是否安装过httpd包。

    [root@centos6 ~]#rpm -qa httpd* 
    httpd-2.2.15-59.el6.centos.x86_64
    httpd-tools-2.2.15-59.el6.centos.x86_64
     注:这里显示已经装过httpd2.2.15的包了
    

    为了不影响编译安装 Apache httpd 2.4.27我们最好卸载掉已安装过的httpd的httpd-2.2.15相关包。

    [root@centos6 ~]#yum -y remove httpd*
    ....
    ===============================================================================================================================================================================================
     Package                                  Arch                           Version                                        Repository                                                        Size
    ===============================================================================================================================================================================================
    Removing:
     httpd                                    x86_64                         2.2.15-59.el6.centos                           @anaconda-CentOS-201703281317.x86_64/6.9                         3.0 M
     httpd-tools                              x86_64                         2.2.15-59.el6.centos                           @anaconda-CentOS-201703281317.x86_64/6.9                         138 k
    Removing for dependencies:
     gnome-user-share                         x86_64                         2.28.2-3.el6                                   @anaconda-CentOS-201703281317.x86_64/6.9                         1.1 M
    
    Transaction Summary
    ===============================================================================================================================================================================================
    ...
    Removed:
     httpd.x86_64 0:2.2.15-59.el6.centos                                                         
     httpd-tools.x86_64 0:2.2.15-59.el6.centos                                                        
    ...
    Complete!
    [root@centos6 ~]#rpm -qa httpd*
    [root@centos6 ~]#
    已成功卸载。
    

    二、安装开发包组、apr等相关包

    1、获取Apache httpd 2.4.27源码包。
    可到Apache官网下载最新版本http://www.apache.org/,如果一下没有找到安装包,可直接输入http://httpd.apache.org/可跳转到下载页面。


    上面两个可随便下载一个,这边下载的是httpd-2.4.27.tar.bz2版本。下载完导入到centos6.9中,或
    [root@centos6 ~]#wget http://apache.fayea.com//httpd/httpd-2.4.27.tar.bz2
    --2017-08-06 16:55:42--  http://apache.fayea.com//httpd/httpd-2.4.27.tar.bz2
    Resolving apache.fayea.com (apache.fayea.com)... 119.6.242.165, 119.6.242.164
    Connecting to apache.fayea.com (apache.fayea.com)|119.6.242.165|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 6527394 (6.2M) [application/x-bzip2]
    Saving to: ‘httpd-2.4.27.tar.bz2’
    
    100%[=====================================================================================================================================================>] 6,527,394    109KB/s   in 77s    
    
    2017-08-06 16:56:59 (83.0 KB/s) - ‘httpd-2.4.27.tar.bz2’ saved [6527394/6527394]
    

    2、安装开发包组

    [root@centos6 ~]#yum grouplist
     检查系统相关包组的安装,这里我们要安装的是 Development tools这个开发包组,如已安装则可略过。
    [root@centos6 ~]#yum -y groupinstall  "Development tools"
    ...
    Installed:
      autoconf.noarch 0:2.63-5.1.el6        automake.noarch 0:1.11.1-4.el6       bison.x86_64 0:2.4.1-5.el6     byacc.x86_64 0:1.9.20070509-7.el6                cscope.x86_64 0:15.6-7.el6        
      ctags.x86_64 0:5.8-2.el6              diffstat.x86_64 0:1.51-2.el6         doxygen.x86_64 1:1.6.1-6.el6   flex.x86_64 0:2.5.35-9.el6                       gcc.x86_64 0:4.4.7-18.el6         
      gcc-c++.x86_64 0:4.4.7-18.el6         gcc-gfortran.x86_64 0:4.4.7-18.el6   git.x86_64 0:1.7.1-8.el6       indent.x86_64 0:2.2.10-7.el6                     intltool.noarch 0:0.41.0-1.1.el6  
      libtool.x86_64 0:2.2.6-15.5.el6       patchutils.x86_64 0:0.3.1-3.1.el6    rcs.x86_64 0:5.7-37.el6        redhat-rpm-config.noarch 0:9.0.3-51.el6.centos   rpm-build.x86_64 0:4.8.0-55.el6   
      subversion.x86_64 0:1.6.11-15.el6_7   swig.x86_64 0:1.3.40-6.el6           systemtap.x86_64 0:2.9-7.el6  
    
    Dependency Installed:
      cloog-ppl.x86_64 0:0.15.7-1.2.el6               cpp.x86_64 0:4.4.7-18.el6                        gettext-devel.x86_64 0:0.17-18.el6           gettext-libs.x86_64 0:0.17-18.el6              
      kernel-devel.x86_64 0:2.6.32-696.el6            libgcj.x86_64 0:4.4.7-18.el6                     libgfortran.x86_64 0:4.4.7-18.el6            libstdc++-devel.x86_64 0:4.4.7-18.el6          
      mpfr.x86_64 0:2.4.1-6.el6                       perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6    perl-Compress-Zlib.x86_64 0:2.021-144.el6    perl-Error.noarch 1:0.17015-4.el6              
      perl-Git.noarch 0:1.7.1-8.el6                   perl-HTML-Parser.x86_64 0:3.64-2.el6             perl-HTML-Tagset.noarch 0:3.20-4.el6         perl-IO-Compress-Base.x86_64 0:2.021-144.el6   
      perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6    perl-URI.noarch 0:1.40-2.el6                     perl-XML-Parser.x86_64 0:2.36-7.el6          perl-libwww-perl.noarch 0:5.833-5.el6          
      ppl.x86_64 0:0.10.2-11.el6                      systemtap-client.x86_64 0:2.9-7.el6              systemtap-devel.x86_64 0:2.9-7.el6          
    
    Complete!
    这里安装的包较多请稍等片刻。
    

    3、还有Apache httpd 2.4.27,依赖于apr-1.4+, apr-util-1.4+,以上的包,不然安装时出错。(CentOS 6:默认:apr-1.3.9, apr-util-1.3.9)这里获取的是apr-1.5.2.tar.bz2与apr-util-1.5.4.tar.bz2
    4.解压安装相应包依赖包。

    [root@centos6 ~]#tar xvf httpd-2.4.27.tar.bz2
    [root@centos6 ~]#tar xvf apr-1.5.2.tar.bz2
    [root@centos6 ~]#tar xvf apr-util-1.5.4.tar.bz2
    [root@centos6 ~]#mv apr-1.5.2 httpd-2.4.27/srclib/apr
    [root@centos6 ~]#mv apr-util-1.5.4 httpd-2.4.27/srclib/apr-util
    注:把apr-1.5.2.tar.bz2与apr-util-1.5.4.tar.bz2解压出来的包移动到httpd-2.4.27/srclib/
    下是方便编译安装httpd-2.4.27时连apr与apr-util一块编译安装,这样就可以步骤繁琐,需同时编译安装apr与apr-util这两个包。
    如没有搞清当然也可以自己手动分别编译安装。
    [root@centos6 ~]#yum -y install pcre-devel openssl-devel
    注:提前安装http所依赖的开发程序包。如现在没有安装可在编译安装时根据提醒一步一步安装。
    

    4.补充(手动编译apr-1.5.2与apr-util-1.5.4)

    [root@centos6 ~]#tar xvf apr-1.5.2.tar.bz2
    [root@centos6 ~]#cd apr-1.5.2
    [root@centos6 apr-1.5.2]#./configure --prefix=/app/apr
    [root@centos6 apr-1.5.2]#make && make install
    [root@centos6 apr-1.5.2]#cd 
    [root@centos6 ~]#tar xvf apr-util-1.5.4.tar.bz2
    [root@centos6 ~]#cd apr-util-1.5.4
    [root@centos6 apr-util-1.5.4]#./configure --prefix=/app/apr-util
    [root@centos6 apr-util-1.5.4]#make && make install
    

    三、编译安装httpd-2.4.27

    1.进入解压的目录中

    [root@centos6 ~]# cd httpd-2.4.27
    

    2.编译安装,时间稍长请耐心等待。

    [root@centos6 httpd-2.4.27]#  ./configure --prefix=/app/httpd24 --enable-so --enable-ssl 
    --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr
     --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
    注:--prefix=/app/httpd24 安装路径
    --enable-so 允许运行时加载DSO模块
    --enable-ssl 如果不加载将无法使用使用https
    --enable-cgi 允许使用cgi脚本
    --enable-rewrite 支持URL重写机制
    --with-zlib 支持网络通用压缩库
    --with-pcre 支持pcre
    --with-included-apr  Use bundled copies of APR/APR-Util
    --enable-modules=most 启用大多数常用的模块
    --enable-mpms-shared=all 启用MPM所有支持的模式
    --with-mpm=prefork 默认使用prefork模式
    同时可以根据查询相关帮助自己自由添加选项
    [root@centos6 httpd-2.4.27]#./configure --help
    `configure' configures this package to adapt to many kinds of systems.
    Usage: ./configure [OPTION]... [VAR=VALUE]...
    ......
    [root@centos6 httpd-2.4.27]#make && make install
    

    如果是自己手动编译的apr-1.5.2与apr-util-1.5.4 ,则要添加相应路径

    [root@centos6 httpd-2.4.27]#  ./configure --prefix=/app/httpd24 
    --with-apr=/app/apr --with-apr-util=/app/apr-util  --enable-so --enable-ssl 
    --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr 
    --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
    [root@centos6 httpd-2.4.27]#make && make install
    

    这是差不多已经编译完成,后续进行相关设置。

    四、后续相关设置

    1.启动查看是否成功

    [root@centos6 ~]#cd /app/httpd24/bin/
    [root@centos6 bin]#./apachectl start 启动httpd
    [root@centos6 ~]#ss -ntl 产看端口:80是否打开 这里已经打开了。
    State       Recv-Q Send-Q                                                               Local Address:Port                                                                 Peer Address:Port 
    LISTEN      0      128                                                                              *:41219                                                                           *:*     
    LISTEN      0      128                                                                             :::35111                                                                          :::*     
    LISTEN      0      128                                                                             :::111                                                                            :::*     
    LISTEN      0      128                                                                              *:111                                                                             *:*     
    LISTEN      0      128                                                                             :::80                                                                             :::*     
    LISTEN      0      128                                                                             :::22                                                                             :::*     
    LISTEN      0      128                                                                              *:22                                                                              *:*     
    LISTEN      0      128                                                                      127.0.0.1:631                                                                             *:*     
    LISTEN      0      128                                                                            ::1:631                                                                            :::*     
    LISTEN      0      100                                                                            ::1:25                                                                             :::*     
    LISTEN      0      100                                                                      127.0.0.1:25                                                                              *:*  
    

    2.打开网页进行测试。

    [root@centos6 ~]#iptables -F  关闭防火墙
    [root@centos6 ~]#chkconfig iptables off  开机禁用防火墙
    

    修改主页试下

    [root@centos6 ~]#cd /app/httpd24/htdocs/ 安装时没有指定页面位置,默认安装在随主目录下的htdocs
    [root@centos6 htdocs]#ls
    index.html
    [root@centos6 htdocs]#vim index.html 
    [root@centos6 htdocs]#cat index.html 
    <html><body><h1>hello world!</h1></body></html>
    

    3.为httpd的相关控制脚本添加路径。

    [root@centos6 ~]#vim /etc/profile.d/app.sh  
    [root@centos6 ~]#cat !$
    cat /etc/profile.d/app.sh
    export PATH=/app/httpd24/bin:$PATH
    [root@centos6 ~]#. /etc/profile.d/app.sh  这样就可不用进入/app/httpd24/bin目录下启用某个程序,下次开机也可以使用。
    

    4.注册apache为系统服务

    [root@centos6 ~]#cp /app/httpd24/bin/apachectl  /etc/init.d/httpd24
    上面只是手动可启动,关闭,如需进行开机启动。
    我们还需要个开机启动的模板来进行设置。
    如下所示
    [root@centos6 ~]scp /etc/init.d/httpd 192.168.18.130:/etc/init.d/ 
    从别机考一份模板如下设置改动
    [root@centos6 init.d]#vim httpd
    apachectl=/app/httpd24/bin/apachectl
    httpd=${HTTPD-/app/httpd24/bin/httpd}
    prog=httpd
    pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd}
    [root@centos6 init.d]#chkconfig --add httpd 添加
    [root@centos6 init.d]#chkconfig  httpd on   设置httpd开机启动
    [root@centos6 init.d]#chkconfig --list          查看
    httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off  
    

    5.向原有配置里添加httpd的man帮助

    MANPATH /usr/man
    MANPATH /usr/share/man
    MANPATH /usr/local/man
    MANPATH /usr/local/share/man
    MANPATH /usr/X11R6/man
    MANPATH /app/httpd24/man  添加路径
    

    到这里已经安装完毕!后续的设置根据需求进行设置。

    如有不足请多多指教!

    相关文章

      网友评论

        本文标题:centos6.9编译安装Apache httpd 2.4.27

        本文链接:https://www.haomeiwen.com/subject/xbwglxtx.html