Installare PHP 5.2 in Ubuntu 10.10

Installare PHP 5.2 in Ubuntu 10.10

La versione PHP richiesta da molti moduli Drupal è la 5.2.x in quanto la transizione a PHP 5.3 non è ancora completa e testata adeguatamente per cui è necessario prestare attenzione alla versione di PHP installata nel server.

Molte distribuzioni (solitamente non quelle orientate ai server) stanno infatti aggiornando i pacchetti a PHP 5.3 causando non pochi problemi a chi usa Drupal. Anche Ubuntu 10.10 Maverick installa PHP 5.3 ed è quindi necessario un po' di lavoro per installare la versione 5.2.

Attualmente non mi risultano repository con PHP 5.2 precompilato per Ubuntu 10.10 rendendo quindi necessaria una procedura manuale.

Prima di installare PHP 5.2 è necessario rimuovere tutti i pacchetti di PHP 5.3:

apt-get remove php5 libapache2-mod-php5 php5-xsl php5-gd php-pear \
php5-mysql php5-curl php5-memcache

Dopo aver rimosso i pacchetti della versione 5.3 possiamo seguire le indicazioni di Ben H. per la compilazione di PHP 5.2 su Ubuntu 10.10 e quindi procedere con l'installazione del pacchetto build essential:

apt-get install build-essential

Quindi vanno anche installate le dipendenze per la compilazione di PHP5:

apt-get build-dep php5

Dopo l'installazione dei pacchetti bisogna creare una directory nella quale scaricare i sorgenti e compilare il software.

mkdir /usr/local/src/php5.2
cd /usr/local/src/php5.2
wget http://archive.ubuntu.com/ubuntu/pool/main/p/php5/php5_5.2.10.dfsg.1-2ubuntu6.5.dsc
wget http://archive.ubuntu.com/ubuntu/pool/main/p/php5/php5_5.2.10.dfsg.1.orig.tar.gz
wget http://archive.ubuntu.com/ubuntu/pool/main/p/php5/php5_5.2.10.dfsg.1-2ubuntu6.5.diff.gz

Il passaggio seguente è la preparazione dei sorgenti per la compilazione. Vanno scompattati e opportunamante patchati:

tar -xzf php5_5.2.10.dfsg.1.orig.tar.gz
cd php-5.2.10
gunzip -c ../php5_5.2.10.dfsg.1-2ubuntu6.5.diff.gz | patch -p1

Infine si completa l'operazione con la compilazione e la generazione del pacchetto .deb con il comando:

dpkg-buildpackage

È probabile che al primo tentativo la compilazione non termini correttamente in quanto le dipedenze di compilazione potrebbero essere diverse dalle versioni attualmente installate per cui bisognerà verificare i messaggi di errore e modificare di conseguenza il file usr/local/src/php-5.2.10/debian/control aggiornando le versioni delle dipendenze.