虽然不知道OP使用的是哪个Linux发行版,但是这对于运行CentOS 6的其他人可能是有用的,这些人希望使用yum从Apache 2.2升级到2.4。
有两种基于存储库的升级到Apache 2.4的方法:SCL和IUS。我在这篇文章中介绍了这两种方法。
首先,您需要准备当前的服务器环境。
如果当前已安装Apache 2.2,请关闭该服务并在启动时将其禁用。
sudo service httpd stop
sudo chkconfig httpd off
Run Code Online (Sandbox Code Playgroud)
删除Apache 2.2 (SCL方法可选)
注意:如果要删除任何剩余的未使用依赖项,请确保将更/etc/yum.conf改为include clean_requirements_on_remove=1,请参见:man 5 yum.conf
确保备份您的配置!! sudo cp -a /etc/httpd /etc/httpd.bak
sudo yum remove httpd
Run Code Online (Sandbox Code Playgroud)
注意:删除httpd还将删除phpApache 2.2所需的库mod_php,但将保留php-cli和php-common库以及扩展名。
软件集合(SCL)方法
随着CentOS 6软件集合的发布,现在可以安装和运行不同版本的应用程序以及存储库中的默认值。[原文]
在两个选项(SCL与IUS)中,SCL方法是最兼容/最安全且具有不匹配的依赖项,因为任何SCL软件包所需的依赖项都与核心软件包分开维护,并且通常不会引起冲突。
输入软件集合,也称为SCL。举例来说,SCL允许您运行CentOS随附的默认python(因此CentOS中的yum和其他系统工具都可以工作),同时还允许将新版本的python与默认python一起安装,以用于创建和运行软件。较新的要求。
安装软件集合(SCL)存储库[sic]。
sudo yum install centos-release-scl
Run Code Online (Sandbox Code Playgroud)
查看可用的包裹
sudo yum --disablerepo="*" --enablerepo="centos-sclo-rh" list available httpd24\*
Run Code Online (Sandbox Code Playgroud)
安装Apache 2.4和所需的软件包。
sudo yum --enablerepo=centos-sclo-rh -y install httpd24
Run Code Online (Sandbox Code Playgroud)
注意:所有配置文件将位于/ opt / rh / root / etc / httpd中
将Apache 2.4添加到系统环境$ PATH中。
sudo scl enable httpd24 bash
Run Code Online (Sandbox Code Playgroud)
注意:重新启动服务器后,需要重复此操作。[原文]
验证Apache服务版本和系统环境$ PATH。
which httpd
httpd -V
Run Code Online (Sandbox Code Playgroud)
启动Apache 2.4并使其在启动时运行。
sudo service httpd24-httpd start
sudo chkconfig httpd24-httpd on
Run Code Online (Sandbox Code Playgroud)
IUS方法
或者用Apache 2.4替换Apache 2.2,以使路径和服务命令完全相同,您可以改为使用IUS存储库。
注意:此方法与默认的CentOS Apache 2.2软件包及其依赖项冲突。另外,php-fpm由于mod_php不兼容,您必须通过服务运行PHP 。在选择此选项之前,请仔细考虑您可能具有的任何依赖关系以及必须加载它们的顺序。[原文]
请按照上述步骤关闭,备份和删除Apache 2.2。跳过所有软件集合(SCL)步骤,因为它们被下面的IUS步骤所取代。
安装IUS信息库[sic]。
sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
Run Code Online (Sandbox Code Playgroud)
列出可用的软件包。
sudo yum --disablerepo="*" --enablerepo="ius" list available httpd24u\*
Run Code Online (Sandbox Code Playgroud)
安装IUS Aapche 2.4和所需的软件包。
sudo yum --enablerepo=ius install -y httpd24u
Run Code Online (Sandbox Code Playgroud)
验证Apache服务版本和系统环境$ PATH。
which httpd
httpd -V
Run Code Online (Sandbox Code Playgroud)
启动IUS Apache 2.4,并使其在引导时运行。
sudo chkconfig httpd on
Run Code Online (Sandbox Code Playgroud)
有关SCL,IUS和Remi存储库的说明:https ://www.hogarthuk.com/?q = node /15
免责声明本文章仅描述在CentOS 6上安装Apache 2.4的方法。在这些说明的范围之外,无法更新在不同版本之间更改或删除的配置设置或模块。请参阅Apache网站上的升级2.4文档以更新您的配置设置。