centos6.9编译安装Apache httpd 2.4.27

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

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

如有不足请多多指教!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容

  • 1 概述 目前CENTOS7默认安装是HTTPD2.4,但是CENTOS6上默认是安装HTTPD2.2,CENTO...
    ghbsunny阅读 854评论 0 0
  • 1. 新特性  (1) MPM支持运行为DSO机制;以模块形式按需加载 (2) event MPM生产环境可用...
    尛尛大尹阅读 390评论 0 1
  • php+mysql+apache+centos 编译安装 领导要求先保证php环境稳定,然后再去考虑其他,例如性能...
    dnaEMx阅读 2,191评论 1 16
  • 最近在 Linux 下成功整合了 Tomcat 和 Apache ,其中难免踩了各种坑,在这里记录下过程以便大家学...
    王苍天阅读 1,911评论 2 10
  • 几十年,瞬间。今天回到童年。心还是那个心,却不是往昔容颜。对于一切,我似乎都很怀念,但不是所有人都如你柔软,便...
    龙青阅读 288评论 0 1