Upgrade Apache 2.2 -> 2.4

前端 未结 5 1946
滥情空心
滥情空心 2021-01-19 01:14

We have currently installed Apache 2.2. Now, is there a Yum repository with Apache 2.4 on it?

Regards, Kevin

5条回答
  •  孤街浪徒
    2021-01-19 02:05

    While it is not known which distro of Linux is being used by the OP, this may be useful to others running CentOS 6 who are wanting to use yum to upgrade from Apache 2.2 to 2.4.

    There are two repository based methods of upgrading to Apache 2.4, SCL and IUS. I cover both methods in this post.

    First you will need to prepare your current server environment.

    If you have Apache 2.2 currently installed, shutdown the service and disable it from running at boot time.

    sudo service httpd stop 
    sudo chkconfig httpd off
    

    Remove Apache 2.2 (optional for SCL method)

    Note: if you want to remove any residual unused dependencies, be sure to alter your /etc/yum.conf to include clean_requirements_on_remove=1, see: man 5 yum.conf

    Be sure to backup your configs!! sudo cp -a /etc/httpd /etc/httpd.bak

    sudo yum remove httpd
    

    Note: Removing httpd will also remove the php library required by the Apache 2.2 mod_php, but will retain the php-cli and php-common libraries and extensions.


    Software Collections (SCL) Method

    With the release of CentOS 6 Software Collections, the ability to install and run applications of differing versions alongside the defaults from a repository is now available. [sic]

    Out of the two options (SCL vs IUS) the SCL method is the most compatible/safe with non-matching dependencies, in that the dependencies required for any of the SCL packages are maintained separately from the core packages and will generally not cause conflicts.

    Enter Software Collections, also known as SCLs. As an example, SCLs allow you to run the default python that comes with CentOS (so yum and other system tools in CentOS work), while also allowing a newer version of python to be installed alongside the default python for use creating and running software with newer requirements.

    Apache 2.4 CentOS 6 installation Guide

    Install the Software Collections (SCL) repository [sic].

     sudo yum install centos-release-scl
    

    View available packages

    sudo yum --disablerepo="*" --enablerepo="centos-sclo-rh" list available httpd24\*
    

    Install Apache 2.4 and desired packages.

    sudo yum --enablerepo=centos-sclo-rh -y install httpd24
    

    Note: All configuration files will be located in /opt/rh/root/etc/httpd

    Add Apache 2.4 to the system environment $PATH.

    sudo scl enable httpd24 bash
    

    Note: This will need to be repeated upon server restart. [sic]

    Validate Apache service version and system environment $PATH.

    which httpd
    httpd -V
    

    Start Apache 2.4 and enable it to run at boot time.

    sudo service httpd24-httpd start
    sudo chkconfig httpd24-httpd on
    

    IUS Method

    Alternatively to replace Apache 2.2 with Apache 2.4, so that the paths and service commands work identically, you can use the IUS repository instead.

    Note: This method conflicts with the default CentOS Apache 2.2 packages and their dependencies. In addition you must run PHP through php-fpm service as mod_php is not compatible. Please consider carefully any dependencies you may have and the order you must load them before choosing this option. [sic]

    Follow the step above to Shutdown, Backup and Remove Apache 2.2. Skip All of the Software Collections (SCL) steps as they are replaced with the IUS steps below.

    Install IUS repository [sic].

    sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
    

    List available packages.

    sudo yum --disablerepo="*" --enablerepo="ius" list available httpd24u\*
    

    Install IUS Aapche 2.4 and desired packages.

    sudo yum --enablerepo=ius install -y httpd24u
    

    Validate Apache service version and system environment $PATH.

    which httpd
    httpd -V
    

    Start IUS Apache 2.4 and enable it to run at boot time.

    sudo service httpd start
    sudo chkconfig httpd on
    

    Explanation on SCL, IUS and Remi repositories: https://wiki.centos.org/HowTos/NewerApps


    Disclaimer This post only describes the methods of installing Apache 2.4 on CentOS 6. It is outside the scope of these instructions to update the configuration settings or modules that have been changed or removed between the different versions. Please see the upgrading 2.4 documentation on the Apache website to update your configuration settings.

提交回复
热议问题