En tant que développeur web, j’ai souvent besoin de travailler sur des sites qui utilisent encore l’ancêtre PHP4.
Le problème, c’est que mon ubuntu ne fournit plus de support pour cette version de PHP. C’est un choix éditorial qui vaut ce qu’il vaut, après tout, php5 est sorti depuis quelques années, et php4 est en fin de vie.
Sauf que quand on en a vraiment besoin, c’est un peu pénible de devoir trouver des solutions alternatives. D’ailleurs, ça râle sur les forums.
J’ai testé la solution xampp, qui se défend. Tout est circonscrit dans un seul répertoire, on peut passer d’une version de php à l’autre facilement. Pratique.
Mais le jour on il faut installer un module supplémentaire pour php (au hasard, odbc), alors là, tintin !
La solution la moins pire que je vous propose (attention, c’est quand même crade), c’est d’installer apache 1.3 + php4 depuis les dépots debian.
Apache 1.3 et php4 sous ubuntu
Ok, le premier truc, c’est de s’assurer qu’on part sur de bonnes bases, et qu’on dispose d’un système à jour.
sudo apt-get update sudo apt-get upgrade
Si vous disposez d’un serveur apache2 qui traîne, ça me paraît être une bonne idée de l’arrêter pour le moment.
sudo /etc/init.d/apache2 stop
C’est parti ! Ajoutons les dépôts Debian dans notre sources.list :
sudo vi /etc/apt/sources.list # Ajoutez ceci en haut du fichier : deb http://ftp.fr.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main sudo apt-get update
Après cette commande, il est possible que vous voyiez apparaître une erreur de ce type :
There are no public key available for the following key IDs:
A70DAF536070D3A1
B5D0C804ADB11277Pour chaque clé listée, exécutez la commande :
gpg --keyserver subkeys.pgp.net --recv <clé> && gpg --export --armor <clé> | sudo apt-key add - # par exemple, pour la clé A70DAF536070D3A1 gpg --keyserver subkeys.pgp.net --recv A70DAF536070D3A1 && gpg --export --armor A70DAF536070D3A1 | sudo apt-key add -
Vous pouvez normalement relancer votre update tranquillement.
Ensuite, passons à l’installation de php proprement dite :
sudo apt-get install apache php4 libapache-mod-php4 php4-mysql php4-odbc #ajoutez les autres modules dont vous avez besoin
Et voilà. Normalement, tout devrait se dérouler comme sur des roulettes (bon, en pratique, je pense que vous allez devoir déblayer les tonnes d’erreurs qui vont vous tomber sur le coin de la tronche, mais bon).
Ah, oui ! Petit détail. Dans le fichier de conf d’apache, il pourrait être intéressant de lui faire interpréter les fichiers index.php avant les index.html (j’ai eu des erreurs bizarres à cause de ça).
sudo vi /etc/apache/httpd.conf # Remplacez DirectoryIndex index.html index.htm index.shtml index.cgi index.php # par DirectoryIndex index.php index.html index.htm index.shtml index.cgi # N'oubliez pas de redémarrer apache : sudo /etc/init.d/apache restart
Par mesure de sécurité, je vous recommande trés fortement de supprimer les dépots debian de votre sources.list, afin de ne pas trop foutre le b**del dans votre système.
Et voilà ! Un beau php4 tout neuf. Elle est pas belle, la vie ?