我想在 CentOS 中将 Apache 从 2.2.15 升级到 2.4.4。我是否需要将更新文件下载到文件夹并更新 Apache?这可能吗?
答案1
CentOS 6.x不提供2.4.x,仅提供2.2.x版本的Apache。 CentOS 与它派生的 Red Hat 操作系统一样,RHEL 也注重稳定性,因此往往落后于前沿技术。所以你需要:
- 自己编译一下
- 找到源 RPM 并重建/重新编译它们
- 找到一个已经以 RPM 形式预构建的存储库
- 查找不在 RPM 中的预构建二进制文件(通常安装到
/opt
)
自己卷起来
网上有很多教程可以帮助您在 CentOS 6.x 上从头开始编译 Apache 2.4.x,以下是其中之一:在 CentOS 6.4 上安装 Apache 2.4.4,这表明了如何。
你也可以尝试.tar.gz
直接下载文件,它包含一个 RPM.spec
文件,因此您可以像这样重建它:
$ rpmbuild -ts httpd-2.4.x.tar.bz2
不过,我不希望这种方法走得太远,因为您可能需要其他几个软件包,这些软件包在 CentOS 6.x 上获得起来有点棘手,而无需重建它们。
寻找回购协议
我可能会鼓励您不要尝试自己构建它,除非您真的很好奇如何去做。我已经做到了,它是可行的,但可能需要一些时间,有时可能会有点令人沮丧。相反,我鼓励您简单地使用已经为 EL6(即 RHEL 6 和 CentOS 6)构建的 Remi Collet 存储库。
Remi 的网站提供软件集合,你会想使用httpd24 之一。所需要做的就是.repo
从该 URL 安装文件并执行yum update
.这将使你的堆栈从 2.2 上升到 2.4。
笔记:Remi Collet 网站提供的软件集合 (SC) 介于选项之间#3。我这样说是因为它们作为 RPM 分发,但软件安装到目录中/opt
。因此,您将能够将站点迁移到 2.4,而不是直接跳到它,在我看来,这是一件好事。然而,您必须重新配置才能使用已安装的 Apache 2.4 版本!
答案2
最简单的方法是安装 SCL 版本,如下所述: