httpd升级2.4.57及后续问题处理

news2024/9/30 5:30:15

文章目录

  • 背景信息
  • 操作步骤
    • 构建rpm包
    • 升级httpd
    • 启动httpd报错及处理
      • 缺少mod_systemd
      • 缺少mod_cgi
  • 相关文件

背景信息

由于2.4.37版本httpd有安全漏洞,需要升级到2.4.57版本,2.4.57版本是当前最新的版本,只具备源码包,不具备rpm包,而原有的httpd是zabbix配套的,为rpm版本的包。最简单的方式就是进行rpm包的升级,这样也便于后期维护。

基于上述的需求,需要先构建出2.4.57的rpm包,然后使用rpm包升级httpd并解决httpd升级后的问题。

操作步骤

构建rpm包

官网 下载链接为 https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.bz2

安装rpmbuild命令

# 安装rpmbuild命令
yum install rpmbuild
yum install rpmdevtools

# 安装基础依赖
yum -y install epel-release
yum -y install libuuid-devel apr-devel apr-util-devel openldap-devel lua-devel libxml2-devel

# 构建rpm包
rpmbuild -tb httpd-2.4.57.tar.bz2

# 生成的rpm包在如下目录
[root@hadoop01 ~]# ls /root/rpmbuild/RPMS/x86_64/
httpd-2.4.57-1.x86_64.rpm            httpd-manual-2.4.57-1.x86_64.rpm     mod_lua-2.4.57-1.x86_64.rpm
httpd-debuginfo-2.4.57-1.x86_64.rpm  httpd-tools-2.4.57-1.x86_64.rpm      mod_proxy_html-2.4.57-1.x86_64.rpm
httpd-devel-2.4.57-1.x86_64.rpm      mod_authnz_ldap-2.4.57-1.x86_64.rpm  mod_ssl-2.4.57-1.x86_64.rpm

构建rpm包的报错处理: 会报错说缺少/root/rpmbuild/BUILDROOT/httpd-2.4.57-1.x86_64/usr/lib64/httpd/modules/mod_mpm_event.so

在这里插入图片描述

解决办法: 打开两个终端 一个执行rpmbuild命令 另外一个准备好cp命令 把老的httpd的该模块复制过去 一直执行该命令 知道提示是否覆盖
cp /etc/httpd/modules/mod_mpm_event.so /root/rpmbuild/BUILDROOT/httpd-2.4.57-1.x86_64/usr/lib64/httpd/modules/

升级httpd

# 1 备份httpd配置文件
cd /etc
cp -r httpd httpd.old

# 2 升级httpd 切换到上述构建好的rpm包的目录里
cd /root/rpmbuild/RPMS/x86_64/
yum -y localupdate httpd-2.4.57-1.x86_64.rpm

# 3 问题解决
如果遇到说某个东西冲突的 可以使用rpm命令 卸载对应的低版本软件包 再执行上述的 localupdate命令

启动httpd报错及处理

将httpd配置文件还原

mv /etc/httpd /etc/httpd.new
mv /etc/httpd.old /etc/httpd

缺少mod_systemd

启动httpd服务 报错如下
Starting httpd: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 12 of /etc/httpd/conf.modules.d/00-systemd.conf: Cannot load modules/mod_systemd.so

解决办法 : 下载2.4.57的源码包 编译安装一下 然后复制mod_systemd.so到现在的httpd的modules目录里

下载地址: https://dlcdn.apache.org/httpd/httpd-2.4.57.tar.gz

步骤如下

# 1 解压源码包
tar -xf httpd-2.4.57.tar.gz
cd httpd-2.4.57

# 2 安装基础依赖
yum -y install subversion autoconf libtool python expat-devel pcre-devel systemd-devel gcc-c++ make

# 3 configure 安装目录随意写
./configure --enable-systemd --prefix=/opt/httpd

# 4 安装
make && make install

# 5 复制mod_systemd.so
cp /opt/httpd/modules/mod_systemd.so /etc/httpd/modules/

此问题解决 出现了新的问题 报错: Starting httpd: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 12 of /etc/httpd/conf.modules.d/01-cgi.conf: Cannot load modules/mod_cgi.so into server: libc.so.12: cannot open shared object file: No such file or directory

缺少mod_cgi

重新编译httpd 增加cgi

# 1 进入解压后的目录
cd httpd-2.4.57

# 2 安装基础依赖
yum -y install subversion autoconf libtool python expat-devel pcre-devel systemd-devel gcc-c++ make

# 3 configure 安装目录随意写
./configure --enable-systemd --prefix=/opt/httpd

# 4 安装
make && make install

# 5 复制mod_cgi.so
cp /data/app/httpd/modules/mod_cgi.so /etc/httpd/modules/

再次启动httpd 成功
在这里插入图片描述

zabbix也可以正常访问 如下图
在这里插入图片描述

相关文件

modules文件

[root@hadoop01 httpd-2.4.57]# ls /etc/httpd/modules/
lua_apr.o               mod_authz_owner.so     mod_ext_filter.so           mod_mpm_prefork.so     mod_session_dbd.so
lua_config.o            mod_authz_user.so      mod_file_cache.so           mod_mpm_worker.so      mod_session.so
lua_dbd.o               mod_autoindex.so       mod_filter.so               mod_negotiation.so     mod_setenvif.so
lua_passwd.o            mod_bucketeer.so       mod_headers.so              mod_proxy_ajp.so       mod_slotmem_plain.so
lua_request.o           mod_buffer.so          mod_heartbeat.so            mod_proxy_balancer.so  mod_slotmem_shm.so
lua_vmprep.o            mod_cache_disk.so      mod_heartmonitor.so         mod_proxy_connect.so   mod_socache_dbm.so
mod_access_compat.so    mod_cache.so           mod_include.so              mod_proxy_express.so   mod_socache_memcache.so
mod_actions.so          mod_cache_socache.so   mod_info.so                 mod_proxy_fcgi.so      mod_socache_redis.so
mod_alias.so            mod_case_filter_in.so  mod_lbmethod_bybusyness.so  mod_proxy_fdpass.so    mod_socache_shmcb.so
mod_allowmethods.so     mod_case_filter.so     mod_lbmethod_byrequests.so  mod_proxy_ftp.so       mod_speling.so
mod_asis.so             mod_cgid.so            mod_lbmethod_bytraffic.so   mod_proxy_hcheck.so    mod_status.so
mod_auth_basic.so       mod_cgi.so             mod_lbmethod_heartbeat.so   mod_proxy_http.so      mod_substitute.so
mod_auth_digest.so      mod_charset_lite.so    mod_log_config.so           mod_proxy_scgi.so      mod_suexec.so
mod_auth_form.so        mod_data.so            mod_log_debug.so            mod_proxy.so           mod_systemd.so
mod_authn_anon.so       mod_dav_fs.so          mod_log_forensic.so         mod_proxy_uwsgi.so     mod_system.so
mod_authn_core.so       mod_dav_lock.so        mod_logio.so                mod_proxy_wstunnel.so  mod_unique_id.so
mod_authn_dbd.so        mod_dav.so             mod_lua.a                   mod_ratelimit.so       mod_unixd.so
mod_authn_dbm.so        mod_dbd.so             mod_lua.la                  mod_reflector.so       mod_userdir.so
mod_authn_file.so       mod_deflate.so         mod_lua.lai                 mod_remoteip.so        mod_usertrack.so
mod_authn_socache.so    mod_dialup.so          mod_lua.o                   mod_reqtimeout.so      mod_version.so
mod_authz_core.so       mod_dir.so             mod_lua.so                  mod_request.so         mod_vhost_alias.so
mod_authz_dbd.so        mod_dumpio.so          mod_macro.so                mod_rewrite.so         mod_watchdog.so
mod_authz_dbm.so        mod_echo.so            mod_mime_magic.so           mod_sed.so
mod_authz_groupfile.so  mod_env.so             mod_mime.so                 mod_session_cookie.so
mod_authz_host.so       mod_expires.so         mod_mpm_event.so            mod_session_crypto.so

相关rpm包

[root@hadoop01 x86_64]# pwd
/root/rpmbuild/RPMS/x86_64
[root@hadoop01 x86_64]# ls
httpd-2.4.57-1.x86_64.rpm            httpd-manual-2.4.57-1.x86_64.rpm     mod_lua-2.4.57-1.x86_64.rpm
httpd-debuginfo-2.4.57-1.x86_64.rpm  httpd-tools-2.4.57-1.x86_64.rpm      mod_proxy_html-2.4.57-1.x86_64.rpm
httpd-devel-2.4.57-1.x86_64.rpm      mod_authnz_ldap-2.4.57-1.x86_64.rpm  mod_ssl-2.4.57-1.x86_64.rpm

文件链接

so文件

httpd 2.4.57 所有rpm包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/803238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Quartz 调度原理与源码分析

文章目录 一、Quartz基础1、入门案例 二、获取调度器实例源码分析1、读取配置文件:initialize()2、初始化工作:instantiate()(1)创建线程池(包工头)SimpleThreadPool(2)WorkerThread…

十五章:使用类别峰值响应的弱监督实例分割

0.摘要 目前,使用图像级别标签而不是昂贵的像素级掩码进行弱监督实例分割的研究还未得到充分探索。本文通过利用类别峰值响应来实现一个分类网络,用于提取实例掩码,来解决这个具有挑战性的问题。只通过图像标签的监督下,完全卷积的…

winform 将resources资源文件反编译为resx文件

resources资源文件反编译为resx文件 【前景提要】 在日常工作中我们会遇到需要将一个编译后的winform程序反编译出其对应的源码,然而在常用的反编译工具中对于项目中使用的资源文件是编译为resources文件的,这个资源文件在反编译后的源码中是无法直接使用…

MES管理系统中设备管理功能的原理是什么

制造执行系统MES是一种应用于制造工厂的实际操作系统,它通过实时监控和控制生产流程,为生产过程提供全面的管理和优化。在MES管理系统解决方案中,设备管理功能是非常重要的一部分,它可以实现设备实时监控、故障预警、维护保养等功…

MyBatisPlus从入门到精通-2

接着上一讲的Mp的分页功能 下面我们讲解条件查询功能和其他功能 解决一下日志输出和banner问题 每次卞就会输出这些日志 很不美观,现在我们关闭一下 这样建个xml,文件名为logback.xml 文件内容改成这样 配置了logback但是里面什么都没写就不会说有日…

视频监控汇聚平台EasyCVR向上级联时,上级一直回复401是什么原因?

视频监控管理EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,具体包括:NVR、IPC、视频编码器、无人机、车载设备、智能手持终端、移动执法仪等。平台具有强大的数据接入、处理及分发能力,可在复杂的网络环…

下载文件出错:org.apache.catalina.connector.ClientAbortException

解决方案 复现步骤: 浏览器调整下载速度后,超过1分钟的下载会自动断开,调整connectionTimeout后,问题解决。

前端Vue入门-day04-用vue实现组件通信

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 组件的三大组成部分 注意点说明 组件的样式冲突 scoped data 是一个函数 组件通信 什么是组件通信 不…

图注意力网络论文详解和PyTorch实现

图神经网络(gnn)是一类功能强大的神经网络,它对图结构数据进行操作。它们通过从节点的局部邻域聚合信息来学习节点表示(嵌入)。这个概念在图表示学习文献中被称为“消息传递”。 消息(嵌入)通过多个GNN层在图中的节点之间传递。每个节点聚合来自其邻居的消息以更新其…

特殊矩阵的压缩存储

1 数组的存储结构 1.1 一维数组 各数组元素大小相同,且物理上连续存放。第i个元素的地址位置是:a[i] LOC i*sizeof(ElemType) (LOC为起始地址) 1.2 二维数组 对于多维数组有行优先、列优先的存储方法 行优先:先行后列,先存储…

C# 汇总区间

228 汇总区间 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围…

Mybatis中where 1=1 浅析

在一些集成mybatis的工程中经常看到where11 的代码&#xff0c;也有同事问我&#xff0c;这样写有什么用&#xff0c;下面对其进行简单的分析记录一下。 1、场景 看下面这样一段xml中的代码 <select id"queryBook" parameterType"com.platform.entity.Book…

【JavaEE】博客系统前后端交互

目录 一、准备工作 二、数据库的表设计 三、封装JDBC数据库操作 1、创建数据表对应的实体类 2、封装增删改查操作 四、前后端交互逻辑的实现 1、博客列表页 1.1、展示博客列表 1.2、博客详情页 1.3、登录页面 1.4、强制要求用户登录&#xff0c;检查用户的登录状态 …

Jenkins构建完成后发送消息至钉钉

钉钉群的最终效果&#xff1a; 1、jenkins安装DingTalk插件&#xff0c;安装完成后重启 2、配置钉钉插件 参考官网文档&#xff1a;快速开始 | 钉钉机器人插件 系统管理 拉到最下面&#xff0c;可以看到钉钉配置 按照如下配置钉钉机器人 配置完成可以点击测试按钮&#xff0…

css 书写规范!其他人总结!

CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, margin) 3.文字系列(font, line-height, letter-spacing, color- text-align等) 4.背景(background, border等) 5.其他(animation, transition等) CSS书写规范 使用…

利用官网文档快速上手 Android 开发

官网学习链接&#xff1a;官网链接 官网教程

Vue结合echarts实现水滴图

效果展示 核心代码 <template><div id"cpu" style"width: 270px;height: 200px;"></div> </template><script>import * as echarts from echarts;export default {name: "show",methods:{aucDrawLine() {// 基于…

【Unity细节】关于拉进镜头场景后场景资源消失的问题的解决

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 收录于专栏&#xff1a;unity细节和bug ⭐关于拉进镜头场景资源消失的问题的解决⭐ 文章目录 ⭐关于拉进镜头场景资源消失…

什么是云原生和 CNCF?

一、CNCF简介 CNCF&#xff1a;全称Cloud Native Computing Foundation&#xff08;云原生计算基金会&#xff09;&#xff0c;成立于 2015 年 12 月 11 日&#xff0c;是一个开源软件基金会&#xff0c;它致力于云原生&#xff08;Cloud Native&#xff09;技术的普及和可持续…

MATLAB与ROS联合仿真——绘图类功能模块介绍

1、Drawing Trajectories &#xff08;1&#xff09;输入参数&#xff1a; xr和yr为小车在世界坐标系下当前的位置坐标&#xff0c;X和Y世界坐标系下当前目标点的位置坐标&#xff0c;Xall与Yall为完整的需要跟踪的轨迹&#xff0c;仅用来画图作为参考&#xff0c;与小车的控制…