Vous trouverez plusieurs ensembles de logiciels empaquetés de cette manière sur le projet SoftwareCollections.

Je viens de créer un nouveau dépôt pour Enterprise Linux (RHEL, CentOS, ...) contenant mes travaux sur l'adaptation des RPM de PHP 5.4 à ce type d'installation.

Fichier de configuration : rhel-php54.repo (à enregister dans votre dossier /etc/yum.repos.d)

Dans ce dépôt, les paquets sont préfixés php54- et s'installent dans /opt/rh/php54/root

Installation de la command php :

# yum install php54-php-cli

La version standard est toujours présente et n'est pas affectée

$ php --version
PHP 5.3.3 (cli) (built: Oct 23 2012 07:25:18)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Pour utiliser une commande de la collection, il y a plusieurs solutions

Utiliser le lanceur SCL :

$ scl enable php54 "php --version"
PHP 5.4.8 (cli) (built: Nov 19 2012 06:32:09)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

Utiliser le lanceur spécifique :

$ php54-php --version
PHP 5.4.8 (cli) (built: Nov 19 2012 06:32:09)

Activer la collection pour l'utisateur courant

$ source /opt/rh/php54/enable
$ php --version
PHP 5.4.8 (cli) (built: Nov 19 2012 06:32:09) 

Dans le cas de PHP (pas forcément possible pour les autres collections), on peut aussi simplement utiliser les commandes installées directement :

# /opt/rh/php54/root/usr/bin/php --version
PHP 5.4.8 (cli) (built: Nov 19 2012 06:32:09)

Pour Apache, la collection fournit le mod_php construit pour l'apache standard du système.

yum install php54-php

Si le paquet php est déjà installé, ce second mod_php sera simplement ignoré. Si le paquet php n'est pas installé, apache utilisera le mod_php version 5.4 de manière transparente.

Si vous souhaitez installer un autre serveur web (nginx, lighttpd, ...) ou une autre version d'Apache, par exemple http 2.4 qui dispose aussi de sa collection, le mod_php ne sera pas utilisable (API/ABI différente), mais php-fpm sera utilisable.

# yum install php54-php-fpm
# service php54-php-fpm start

Voir le billet sur l'utilisation d'apache 2.4 et de php-fpm.

Pour MySQL, la collection fournit l'extension contruite avec le MySQL standard du système, mais vous pouvez aussi l'utiliser avec une autre version du serveur, par exemple MySQL 5.5 qui dispose aussi de sa collection, dans ce cas, il peut être préférable d'utiliser l'extension mysqlnd qui est indépendante des bibliothèques du client de MySQL.

Autres extensions :

La collection php54 contient aussi pear (php54-php-pear) et les extensions APC (php54-php-pecl-apc) et memcache (php54-php-pecl-memcache).

Conclusion :

J'espère que cette petite introduction aux "Software Collections" vous aura donné envie de les essayer. Vos retours sont, comme toujours, les bienvenus.