【问题标题】:Using httpd 2.4 instead of 2.2 on centos 6在 centos 6 上使用 httpd 2.4 而不是 2.2
【发布时间】:2014-04-11 15:48:35
【问题描述】:
我使用 Centos 6.5,我已经通过 yum 在我的服务器上安装了 apache 2.2,我想将我的 apache 升级到 2.4,但是 yum 不支持,所以我下载了 apache 2.4.7 并将其安装到 opt/apache/ httpd-2.4.7 按照此处的教程进行操作:Apache 2.4.x Manual install on RHEL 6.4 - No apache modules will load on start。我想将环境变量更改为新的 apache 版本以编写 apache 2.4 模块(更改头文件的包含文件夹,使用 apxs 构建时更改“模块”文件夹,...)。我想我必须为apache 2.4.7安装另一个httpd-devel,因为我仍然没有安装httpd-devel-2.4.7,但是我不知道如何安装和使用它而不是yum的httpd-devel-2.2。我不能用英语清楚地描述我的问题,所以我希望你能理解它。我是新手,我真的需要你的帮助。谢谢!
【问题讨论】:
标签:
apache
httpmodule
apxs2
【解决方案1】:
CentOS 是 RHEL 的镜像,代表 Red Hat Enterprise Linux。 RHEL 被设计为“企业级”操作系统,您可以在其中依赖从受控存储库交付的软件包,这些软件包只有在经过全面测试以供企业级使用后才能使用。
从这个角度来看,从源代码或使用第三方 RPM 安装软件包通常不是一个好主意,因为一旦这样做,您的操作系统就不再是“企业”类。
如果您出于安全原因尝试升级,则不应这样做。重要的安全更新总是在以前的 RPM 版本中向后移植,因此您只需从您首先获得它的同一个 yum 存储库更新您当前的包。该二进制文件仍会显示它是 Apache 2.2,但它会包含最新的安全更新。
如果您需要 2.4 的实际功能,明智的做法是升级您的 CentOS。起初这似乎是一个更难的选择,但从长远来看,它永远不会。
【解决方案2】:
根据我的经验,这些报告可能是相当基本的/二进制的:
您运行的是最新版本的软件吗?如果没有标记为安全风险。
但是,这没有考虑到软件包管理器,它们将修复移植到旧版本,因此经常解决潜在的安全问题。
从打包版本中移出会使安全更新变得更加困难(因为无法再进行简单的“yum 更新”来解决这些问题)。
Apache 2.2 仍在维护安全性和错误修复 - 尽管还有多长时间还有待观察,而且它在功能上越来越落后。
通常您只需要解释(并证明!)您有一个定期的补丁程序,因此您报告的“Apache 版本”在安全补丁方面并不准确。
更多详情请看这里:https://serverfault.com/questions/731657/pci-compliance-apache-versions/
说一下我们不久前在 centos 上迁移到 Apache 2.4 以获得一些我们想要的额外功能,只是将其升级到最新版本作为定期修补周期的一部分,并没有发现它太不方便。是的,它不像“yum update”那么简单,但这是我们做出的决定,因为我们需要一些功能。不是像 Garreth 所说的那样掉以轻心的决定,但它具有额外的副作用,即在此类安全扫描中不再突出显示 :-)
尽管升级到新版本的 Red Hat,我们还是做出了这个决定,因为它仍然在旧版本的 Apache(如果我没记错的话是 2.4.7)上仍然缺少我们需要的一些功能。有时令人沮丧的是,其中一些“企业”版本落后了多少,但当使用它们也有很多好处(稳定性、安全性......等)时,这就是不利的一面。