ubuntu.pngComme je l’ai dit dans un billet légèrement plus vieux, j’ai changé de serveur dédié. Le nouveau serveur tourne donc avec Ubuntu 10.04 Lucid Lynx (version serveur). Cette release offre dans ses dépôts la version 5.3 de PHP. Cependant, cette dernière ne fait pas bon ménage avec Dotclear 2.1.7 (chose qui devrait être rectifiée avec la 2.2). Dans cet article, on va donc voir comment downgrader à la version 5.2 de PHP. Attention, pour effectuer les manipulations qui vont suivre il faudra posséder les droits d’administration, passez votre chemin si vous n’êtes pas sûr de vous !

1. Un peu de nettoyage

Avant d’installer la version 5.2 de PHP, on va faire un peu de ménage. On commence par arrêter le serveur web.
~$ sudo /etc/init.d/apache2 stop

Maintenant, on regarde les paquets liés à PHP qui sont installés.
~$ dpkg -l | grep php5

Dans mon cas, ça me donne tout ça.
ii  libapache2-mod-php5    5.3.2-1ubuntu4.2        ...
ii  php5-cli               5.3.2-1ubuntu4.2        ...
ii  php5-common            5.3.2-1ubuntu4.2        ...
ii  php5-gd                5.3.2-1ubuntu4.2        ...
ii  php5-mcrypt            5.3.2-0ubuntu1          ...
ii  php5-mysql             5.3.2-1ubuntu4.2        ...


Pour être sûr que l’on va installer la version 5.2, on va désinstaller les paquets précédemment listés.
~$ PHP_PKG=$(for i in $(dpkg -l | grep php5 | awk '{ print $2 }' ); do echo $i; done)
~$ sudo aptitude purge $PHP_PKG

2. Le koala à notre secours

La version de PHP qu’il nous faut se trouve dans les dépôts d’Ubuntu 9.10 Karmic Koala. On va donc s’en servir pour résoudre notre problème. On édite alors la liste des dépôts utilisés par APT.
~$ sudo vim /etc/apt/sources.list.d/karmic.list

Dans le fichier créé, on met les 2 lignes suivantes. On pourrait en mettre plus mais dans mon cas, c’est suffisant.
deb http://fr.archive.ubuntu.com/ubuntu/ karmic main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ karmic universe multiverse


Et maintenant, on précise quels paquets installer depuis les dépôts de Karmic.
~$ touch /etc/apt/preferences.d/php5
~$ for i in $PHP_PKG; do echo "Package: $i
>  Pin: release a=karmic
>  Pin-Priority: 1001
>  " >> /etc/apt/preferences.d/php5; done


On met à jour la liste des paquets disponibles, puis on installe la bonne versions des paquets pour PHP.
~$ sudo aptitude update
~$ sudo aptitude -t karmic install $PHP_PKG


Ici, normalement, on a les paquets qui vont bien et on peut donc relancer le serveur web.
~$ sudo /etc/init.d/apache2 start

Avant de crier victoire, on va verrouiller les paquets précédemment installés pour qu’ils ne soient pas mis à jour vers la version 5.3 en faisant une mise à jour du système plus tard.
~$ sudo aptitude hold $PHP_PKG

3. Youhou

Dotclear devrait maintenant fonctionner correctement. Il faut aussi penser à vider le cache du blog et celui de son navigateur. Ainsi, on évite de polluer les flux RSS associés aux tags par exemple.