Tomada la decisión de sólo desarrollar, en el caso de PHP, para la familia 5.3 o superior. En gran medidad por todas las mejoras y cambios que aporta. Para instalarlo y ser procesado desde un servidor web nginx, este debe ser compilado como FastCGI.

La elección de php-fpm frente a la usual de php5 como fastcgi y un wrapper, es simple: Además de eliminarl el wrapper, php-fpm nos aporta muchas ventajas

Partiendo de que para esta distribución, desde los páquetes, está con la familia 5.2, el pasar a la 5.3 significa que:

a) Debemos compilarla desde las fuentes

b) Debemos instalar un nuevo repositorio donde si exista la versión 5.3.x para ubuntu.

Existe un repositorio con esta familia de php, repositorio que deberemos añadir a nuestro archivo /etc/apt/sources.list

deb http://php53.dotdeb.org stable all

Una vez esto sólo deberemos actualizar y (si no teníamos instalado anteriormente ) el php5 instalar los nuevos paquetes

sudo apt-get update

En nuestro caso instalaremos el php5-fqm: Un binario de php que se ejecuta como un servicio de FastCGI, facilmente configurable y con procesos separados (si así lo queremos) por usuario, grupo, …

sudo apt-get install php5-fqm

Problemas:

Si queremos compilar módulos de php con pecl, necesitaremos instalar el php5-dev. La instalación de este paquete nos dará error por el paquete libtool, por lo que tendremos que hacer una instalación “peculiar”

#instalamos el libtool
sudo apt-get install libtool
#descargamos el paquete de php5-dev
cd /tmp
wget http://php53.dotdeb.org/dists/stable/php5/binary-i386/php5-dev_5.3.2-0.dotdeb.2_i386.deb
sudo dpkg --install --ignore-depends=libtool   php5-dev_5.3.2-0.dotdeb.2_i386.deb 

Con esto tenemos el PHP5-Dev (de la 5.3.x). Al tratar de instalar cualquier módulo nos dará problemas del tipo:

root@miservidor:/tmp# pecl install mongo 
downloading mongo-1.0.7.tgz ...
Starting to download mongo-1.0.7.tgz (53,750 bytes)
.............done: 53,750 bytes
16 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
configure.in:150: warning: LTOPTIONS_VERSION is m4_require'd but not m4_defun'd
aclocal.m4:2943: LT_INIT is expanded from...
aclocal.m4:2978: AC_PROG_LIBTOOL is expanded from...
configure.in:150: the top level
configure.in:150: warning: LTSUGAR_VERSION is m4_require'd but not m4_defun'd
configure.in:150: warning: LTVERSION_VERSION is m4_require'd but not m4_defun'd
configure.in:150: warning: LTOBSOLETE_VERSION is m4_require'd but not m4_defun'd
configure:4584: error: possibly undefined macro: m4_ifval
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure:7363: error: possibly undefined macro: _LT_SET_OPTIONS
configure:7363: error: possibly undefined macro: LT_INIT
ERROR: `phpize' failed

Esto se debe a la conf del libtool instalado (rutas y contenido), por lo que deberemos corregirlo:

sudo ln -s /usr/share/libtool/config/ltmain.sh  /usr/share/libtool/ltmain.sh
sudo ln -s /usr/share/aclocal/libtool.m4 /usr/share/libtool/libtool.m4
cd /usr/share/aclocal
cp libtool.m4  libtool.m4.original 
cat > bsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 >> libtool.m4

A partir de este momento ya podemos instalar cualquier módulo con pecl:

pecl install mongo 
downloading mongo-1.0.7.tgz ...
Starting to download mongo-1.0.7.tgz (53,750 bytes)
.............done: 53,750 bytes
16 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
[...]
uild process completed successfully
Installing '/usr/lib/php5/20090626+lfs/mongo.so'
install ok: channel://pecl.php.net/mongo-1.0.7
configuration option "php_ini" is not set to php.ini location
You should add "extension=mongo.so" to php.ini