linux7源码包httpd安装,CentOS7编译安装Apache Httpd 2.4.20及rpm包制做小记

本文详细介绍了如何在CentOS7系统上,由于默认源中的Apache HTTP Server版本过旧,如何手动编译最新版本的httpd并打包成RPM包。过程中涉及到了apr和distcache这两个特殊依赖包的编译安装,以及解决编译过程中遇到的问题。通过编译httpd-2.4.20版本,最终生成了一系列的RPM包,方便在新机器上安装使用。
摘要由CSDN通过智能技术生成

1460000006768765

httpd(Apache HTTP Server) 是世界上最知名、最流行的开源Web服务器之一,它十分快速、可靠,而且功能强大,拥有着强大的社区支持。CentOS7的软件源中自带的apache httpd版本过于老旧,若是想要使用新版本,则不得不自行编译。html

今天我讲一下如何在CentOS7中以正确的姿式编译httpd并打包成rpm,按照教程打包失败能够到最后点网盘连接下载我编译好的rpm包。linux

源码包下载

下面是一些须要用到的源码包的下载地址,连接使用了bit的Apache镜像,须要使用其余镜像下载点这里。web

相关开发工具及依赖包安装

安装相关开发工具

要在CentOS下编译软件并制做rpm包,首先就须要安装相关的开发工具。编译软件可能须要用到gcc, g++等编译器,而制做rpm则须要安装rpmbuild,这些工具能够经过如下指令安装:bash

$ sudo yum groupinstall "Development Tools" -y

依赖包

打包rpm须要编写spec文件,可是这个文件在httpd的源码目录中已经给出了,因此就不须要咱们本身编写。咱们能够直接经过rpmbuild -tb httpd-2.4.20.tar.bz2这个指令来经过经过源码编译httpd并打包成httpd。服务器

可是执行这个命令后咱们发现,它会提示咱们缺乏相关依赖包。这些软件包被httpd所依赖,也就是说,httpd在编译时或者运行时须要使用这些软件或库。一般依赖包能够经过yum install指令直接安装,下面是须要特殊安装的依赖包。工具

1. distcache-devel

这个包有点古老,他在CentOS5以后彷佛就被剔除出CentOS的源了,而CentOS5的老版本又不能在CentOS7上安装。可是咱们能够经过fedora18提供的src.rpm包来安装这个包,fedora18的源已经没有了,可是咱们能够从fedoraproject的archive源中找到它:下载地址开发工具

编译distcache:ui

$ rpmbuild --rebuild --clean distcache-1.4.5-23.src.rpm

可能会提示须要安装一些依赖包,直接使用yum指令安装便可,那些包在源中都有。安装完依赖后再执行上述指令便可开始编译。

编译完成后咱们能够在~/rpmbuild/RPMS/目录下找到三个rpm包,分别是distcache-1.4.5-23.x86_64.rpm,distcache-debuginfo-1.4.5-23.x86_64.rpm和distcache-devel-1.4.5-23.x86_64.rpm能够经过以下指令对其进行安装:

$ sudo yum localinstall distcache-devel-1.4.5-23.x86_64.rpm

编译失败可使用最后下载连接中的distcache-1.4.5.txz

2. apr

apr全称是Apache Portable Runtime,是httpd跨平台运行的基础。CentOS7源中提供的是1.4.x的版本,虽然httpd 2.4.20要求的apr版本是大于1.4.0便可,可是我发如今使用小于1.5.0版本的apr时,打包httpd.rpm时会提示如下错误:

RPM build errors:

File not found: rpmbuild/BUILDROOT/httpd-2.4.20-1.x86_64/usr/lib64/httpd/modules/mod_mpm_event.so

因此咱们须要手动编译安装apr的最新的1.5.2版本,编译过程与distcache相仿,须要的依赖包也可经过yum指令直接安装。编译指令:

$ rpmbuild -tb apr-1.5.2.tar.bz2

而后对依赖包进行安装:

$ sudo yum localinstall apr-1.5.2-1.x86_64.rpm apr-devel-1.5.2-1.x86_64.rpm

编译失败能够见最后下载连接中的apr-1.5.2.txz

编译httpd

除了上述两个特殊的依赖包外,httpd其余的依赖包均可以经过yum指令从源中直接安装。安装完依赖包后,编译httpd就是已经很轻松的事情了。

咱们一样能够经过下面的指令编译httpd:

$ rpmbuild -tb httpd-2.4.20.tar.bz2

执行完指令后能够获得下列rpm包:

httpd-2.4.20-1.x86_64.rpm

httpd-debuginfo-2.4.20-1.x86_64.rpm

httpd-devel-2.4.20-1.x86_64.rpm

httpd-manual-2.4.20-1.x86_64.rpm

httpd-tools-2.4.20-1.x86_64.rpm

mod_authnz_ldap-2.4.20-1.x86_64.rpm

mod_lua-2.4.20-1.x86_64.rpm

mod_proxy_html-2.4.20-1.x86_64.rpm

mod_socache_dc-2.4.20-1.x86_64.rpm

mod_ssl-2.4.20-1.x86_64.rpm

而后咱们就能够经过yum localinstall指令愉快的安装httpd最新版了。

有一点须要注意的是,若是要在一台新的机器上安装httpd,也须要安装apr的1.5.2版本,可是不须要安装相关的devel包。相信不少同窗都是在本地编译rpm,而后上传到生产环境安装的吧,因此这一点须要提示一下。

参考资料

相关下载

文件名

SHA256

分享连接

提取码

apr-1.5.2.txz

49c40369f41e068fcb75a0bcb8d722b3b9e438fe619870bc418b9e7fba352b4c

8fff

distcache-1.4.5.txz

4eb956ff51fa85e29322d66403e63f9ee890e3818aa098bec89c026f6fa500a9

ab55

httpd-2.4.20.txz

2962da8ae640e0108b7b165d32aabec933c892e0554c245068bb5574be7b9948

7b18

1460000006768765

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值