RHEL and its corresponding Community Edition CentOS Server software are stable and rock solid. All the software packages that comes with these distros have been thoroughly tested and have been in the ‘field’ for a long, long time.

While this is great for the enterprise where uptime and stability are the primary concerns, it also means that one does not get the latest software version that comes with the distro.

Fortunately for us, there are other software repositories that allows the System Administrator to install and update the various server software as required.

The following are the most useful and often used software repositories:

EPEL

This is the main software repository that provides useful software packages that are not included in the official CentOS or Red Hat Enterprise Linux repositories – to install it, type:

# yum install epel-release

You can read more about the Epel Repository here:

REMI

The REMI repo is maintained by a French Developer (Remi Collet) who keeps his blog here

This software repository provides (almost) all the ‘up-to-date’ versions of the various software you might need or want. For example, if you’re looking for the latest version of PHP 5.6 or if you want to installl PHP-FPM – you can find it all here.

To install the REMI software repo, you first need to download the appropriate rpm package first:

For example, if I’m running RHEL6 / CentOS 6, then I would download that version:

# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -ivh remi-release-6.rpm

For the other RHEL/CentOS versions:

RedHat Enterprise Linux 7 (RHEL7) – remi-release-7.rpm
RedHat Enterprise Linux 6 (RHEL6) – remi-release-6.rpm
RedHat Enterprise Linux 5 (RHEL5) – remi-release-5.rpm

Once the REMI repo has been installed, it is “disabled” by default so that it won’t cause conflicts with the existing official repositories because it uses the same package names. So, if you want to install MySQL 5.5 from the remi repo instead of the default 5.1 (from the official CentOS repo) – you would type:

# yum --enablerepo=remi install mysql mysql-server

You would need to explicitly type “–enablerepo=remi” to tell the yum package manager to use that repo.

Similarly, for PHP 5.4:

# yum install ­­enablerepo=remi php php­-common php-gd php-­mbstring php-­mcrypt php-­mysql php-­pear php­-fpm

 

RepoForge

The RepoForge project provides a set of repositories compatible with various RHEL-derived distributions such as the CentOS and Scientific Linux. You can read more about it here.

As with the remi repository, you’ll need to download and install the appropriate RPM package for your RHEL/CentOS version here: http://repoforge.org/use/

Download the “i386” if your server is 32-bit. Otherwise, download the “x86_64” for 64-bit Operating System.

Once you’ve downloaded, install it by typing:

# rpm -ivh rpmforge-release-*

The RepoForge repository contains the “mod_fastcgi” package which is required if you plan to use Apache web-server with PHP-FPM.

Atomic

Another useful software repository is maintained by the Atomic Corporation – a company that focuses on security. You can read more about them here. The atomic repository is located here.

An easier way is to use their automated installer:

# wget ­q ­O ­ http://www.atomicorp.com/installers/atomic | sh 

You’ll have to agree to usual EULA and disclaimers to proceed. One of the useful software package in this repo is the ‘mod_rpaf’ Apache module that is useful when running Nginx as a reverse proxy to Apache.