我使用 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。我不能用英语清楚地描述我的问题,所以我希望你能理解它。我是新手,我真的需要你的帮助。谢谢!
2 回答
CentOS 是 RHEL 的镜像,代表 Red Hat Enterprise Linux。RHEL 被设计为“企业级”操作系统,您可以在其中依赖从受控存储库交付的软件包,这些软件包只有在经过全面测试以供企业级使用后才可用。
从这个角度来看,从源代码或使用第三方 RPM 安装软件包通常不是一个好主意,因为一旦这样做,您的操作系统就不再是“企业”类。
如果您出于安全原因尝试升级,则不应该这样做。重要的安全更新总是在以前的 RPM 版本中向后移植,因此您只需从您首先获得它的同一个 yum 存储库更新您当前的包。二进制文件仍然会说它是 Apache 2.2,但它会有最新的安全更新。
如果您需要 2.4 的实际功能,明智的做法是升级您的 CentOS。起初它似乎是一个更难的选择,但从长远来看,它永远不会。
以我的经验,这些报告可能是相当基本的/二元的:
您运行的是最新版本的软件吗?如果没有标记为安全风险。
然而,这没有考虑到将修复移植到旧版本的包管理器,因此经常解决潜在的安全问题。
通过远离打包版本,您会使安全更新变得更加困难(因为无法再进行简单的“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)仍然缺少我们需要的一些功能。有时令人沮丧的是,其中一些“企业”版本落后了多少,但当使用它们也有很多好处(稳定性、安全性……等)时,这就是不利的一面。