我爱编程

centos6.9编译安装Apache httpd 2.4.27

2017-08-06  本文已影响0人  jie0112

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  添加路径

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

如有不足请多多指教!

上一篇下一篇

猜你喜欢

热点阅读