news 2026/6/15 15:39:18

基于Rocky Linux制作Apache HTTPD 2.4.66 的RPM安装包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于Rocky Linux制作Apache HTTPD 2.4.66 的RPM安装包

在这之前,我写过一篇《基于 CentOS7 制作 Apache HTTPD 2.4.63 的RPM安装包》的文章,还有一篇《基于BCLinux制作Apache HTTPD 2.4.63 的RPM安装包》,本文大部分内容和之前差不多,但因为操作系统由CentOS 7变成了Rocky Linux,所以,有些内容就删减了,只记录遇到的问题。

编译环境:
操作系统:Rocky Linux 9.5

httpd版本:2.4.66

制作工具:rpmbuild(这个之前的文章有介绍,看这里)

下载httpd源码:
官网目前的最新版本是2.4.66(2025-12-04发布),下载备用,并放入准备好的编译机器上。

检查环境:

在制作RPM包之前,先检查下本地环境是否已准备好,比如,GCC。输入以下命令查看:

gcc -v

如果提示找不到命令等错误信息,那么需要先安装gcc,命令如下:

yum install -y gcc

制作RPM包
找到安装包的位置,然后使用如下命令,即可开始制作RPM包:

rpmbuild -tb httpd-2.4.66.tar.bz2

如果没有预先按照它所依赖的那些包,则会报相应的错误。比如,如下错误信息:

[root@localhost SOURCES]# rpmbuild -tb httpd-2.4.66.tar.bz2 warning: line 19: It's not recommended to have unversioned Obsoletes: Obsoletes: httpd-suexec warning: line 34: It's not recommended to have unversioned Obsoletes: Obsoletes: secureweb-devel, apache-devel warning: line 51: It's not recommended to have unversioned Obsoletes: Obsoletes: secureweb-manual, apache-manual error: Failed build dependencies: apr-devel >= 1.4.0 is needed by httpd-2.4.66-1.x86_64 apr-util-devel >= 1.4.0 is needed by httpd-2.4.66-1.x86_64 autoconf is needed by httpd-2.4.66-1.x86_64 libuuid-devel is needed by httpd-2.4.66-1.x86_64 libxml2-devel is needed by httpd-2.4.66-1.x86_64 lua-devel is needed by httpd-2.4.66-1.x86_64 openldap-devel is needed by httpd-2.4.66-1.x86_64 pcre-devel >= 5.0 is needed by httpd-2.4.66-1.x86_64

缺少好些devel包,通过yum将他们都安装上:

yum install -y apr-devel apr-util-devel pcre-devel openldap-devel libxml2-devel libuuid-devel autoconf

依赖包装好后,重新执行:

rpmbuild -tb httpd-2.4.66.tar.bz2

还有错误:

[root@localhost SOURCES]# rpmbuild -tb httpd-2.4.66.tar.bz2 warning: line 19: It's not recommended to have unversioned Obsoletes: Obsoletes: httpd-suexec warning: line 34: It's not recommended to have unversioned Obsoletes: Obsoletes: secureweb-devel, apache-devel warning: line 51: It's not recommended to have unversioned Obsoletes: Obsoletes: secureweb-manual, apache-manual error: Failed build dependencies: lua-devel is needed by httpd-2.4.66-1.x86_64

提示还缺少lua-devel,那我再装一遍:

[root@localhost SOURCES]# yum install -y lua-devel Last metadata expiration check: 0:02:12 ago on Tue 10 Feb 2026 02:23:47 PM CST. No match for argument: lua-devel Error: Unable to find a match: lua-devel

不行,根本装不了,那用这个命令查看一下仓库里面是否有这个rpm:

[root@localhost SOURCES]# yum search lua | grep devel Last metadata expiration check: 0:09:47 ago on Tue 10 Feb 2026 02:23:47 PM CST.

yum仓库里面都没有lua-devel?那我们换个思路来装,可以去网上找到CentOS 9的lua-devel,lua-devel又依赖lua和lua-lib。所以,我们最终需要把 CentOS 9 下的lua,lua-lib,lua-devel通过本地安装的方式装上。但,今天我们不用手动下载来安装依赖,我们换另外一种方式,输入如下命令:

[root@localhost SOURCES]# dnf config-manager --set-enabled crb [root@localhost SOURCES]# dnf makecache

然后再查一遍仓库是不是有了lua-devel:

[root@localhost SOURCES]# yum search lua | grep devel Last metadata expiration check: 0:00:21 ago on Tue 10 Feb 2026 02:34:50 PM CST. lua-devel.i686 : Development files for lua lua-devel.x86_64 : Development files for lua

还真有,既然都查出来了,那就安装吧:

yum install -y lua-devel

装好之后,再次执行打包命令:

rpmbuild -tb httpd-2.4.66.tar.bz2

如果没有其他问题,那应该就可以打包成功了。

安装httpd.rpm

由于rocky系统自带了httpd 2.4.62版本,所以我们可以使用升级的方式,将刚才打包成功的rpm进行安装,命令如下:

[root@localhost httpd_2.4.66]# rpm -Uvh httpd-2.4.66-1.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] file /etc/httpd/conf/httpd.conf from install of httpd-2.4.66-1.x86_64 conflicts with file from package httpd-core-2.4.62-4.el9.x86_64 file /etc/httpd/conf/magic from install of httpd-2.4.66-1.x86_64 conflicts with file from package httpd-core-2.4.62-4.el9.x86_64 file /etc/httpd/run from install of httpd-2.4.66-1.x86_64 conflicts with file from package httpd-core-2.4.62-4.el9.x86_64 ... ...

从上面的信息可看出,升级失败。经过一番折腾,还是不行,最后只能使出大招了:

rpm -Uvh --replacefiles --replacepkgs *.rpm --nodeps

注意这里的*.rpm,是将刚才打包出来的所有与httpd有关的rpm都装上。然后使用了--nodeps,如果不加这个,就会因为依赖的原因导致老是安装失败。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 14:10:56

谷歌seo服务有什么内容?全方位拆解实操方

做过外贸或者海外业务的朋友都知道,想让自家的网站在谷歌搜索里排在前面,真不是靠运气就能解决的。很多人会问,市面上那些专业的谷歌SEO服务到底在做些什么?为什么有的网站几个月就能看到效果,而有的网站折腾一年也没动…

作者头像 李华
网站建设 2026/6/15 12:17:21

springboot基于Java的校园快递管理平台系统上门取件(源码+文档+运行视频+讲解视频)

文章目录 系列文章目录目的前言一、详细视频演示二、项目部分实现截图三、技术栈 后端框架springboot前端框架vue持久层框架MyBaitsPlus系统测试 四、代码参考 源码获取 目的 校园快递管理平台系统上门取件功能是提升校园物流服务水平的重要举措。基于SpringBoot与Java开发的…

作者头像 李华
网站建设 2026/6/15 12:24:33

Dollar Shave Club

1. 起源与颠覆性模式创立时间: 2011年,由 迈克尔杜宾 和 马克莱文 创立。核心模式: 采用 “剃须刀即服务” 的订阅制。用户每月支付固定费用(如1美元起),即可收到高品质刀片和剃须配件直接寄到家门口。成名…

作者头像 李华
网站建设 2026/6/15 12:27:35

当“学术规范”成了AI嫌疑的通行证:我们正在用算法审判认真

在2026年的高校论文审核体系中,一个悖论正在愈演愈烈: 你越遵守学术规范,越像用了AI;你越用心写作,越被系统怀疑。 这不是技术的胜利,而是一场静默的误判—— 无数学生在深夜台灯下逐字打磨的成果&#xf…

作者头像 李华
网站建设 2026/6/15 14:42:13

当“写得像论文”需要技术辩护:我们正在用算法惩罚最诚实的人

在一个人工智能可以生成万字论文的时代,最讽刺的现实不是机器冒充人类, 而是人类因写得太像“人写的论文”,被当作机器。 2026年,无数高校学子正陷入一场无声的困境: 你没用AI,却因逻辑清晰被标记&#xf…

作者头像 李华
网站建设 2026/6/15 12:20:25

HoRain云--Python动态变量名:正确用法与最佳实践

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华