NB : On aura installé et configuré sudo
auparavant. Si vous ne l’avez pas fait, il vous est nécessaire de passer en super utilisateur pour réaliser les commandes débutant par sudo?.
Installation basique de PHP5
L’installation sur les distributions récentes est très simple. Sur notre distribution Debian, il suffit de lancer la commande :
- sudo apt-get install php5 php5-cli libapache2-mod-php5
A la fin de l’installation des paquets on test l’ajout du module pour Apache 2.x (qui devrait être automatiquement activé) en lançant cette commande :
- sudo a2enmod php5
NB : a2enmod
est une commande spécifique aux distributions basées sur Debian. Si vous utilisez une autre distribution, il vous faudra trouver la méthode normale d’ajout de module pour Apache.
Puis on redémarre le service Apache :
- sudo /etc/init.d/apache2 restart
On a ainsi à disposition PHP5 pour Apache et en ligne de commande grâce au paquet php5-cli
.
Installation de modules PHP supplémentaires via APT
Il se peut que le module php que nous souhaitions installer existe dans les paquets de la distribution. L’intérêt de le compiler manuellement est donc mineur hormis le passage de paramètres personnalisés.
Par exemple, nous souhaitons installer le module gd pour PHP5.
On cherche tout d’abord si le paquet est disponible :
- sudo apt-cache search gd |grep php5
S’il est disponible, il suffit alors de l’installer :
- sudo apt-get install php5-gd
Puis de redémarrer le service Apache :
- sudo /etc/init.d/apache2 restart
Compilation et installation à partir des sources d’un module : exemple de ffmpeg-php
Installation des prérequis :
- sudo apt-get install php5-dev
php5-dev
est le paquet contenant les outils nécessaires à compiler les modules php.
Prenons l’exemple de l’installation du module php-ffmpeg.
On vérifie tout d’abord s’il est diponible dans la distribution :
- apt-cache search ffmpeg |grep php
apt-cache
nous retourne un résultat php5-ffmpeg
.
Cependant en lançant la commande :
- apt-cache showpkg php5-ffmpeg
On se rend compte que la version est obsolète (0.6.0
actuellement dans Debian Squeeze). On va donc le compiler manuellement pour avoir une version à jour.
On récupère tout d’abord dans le répertoire home
de l’utilisateur les sources disponibles. Nous allons utiliser ici le dépot svn du projet mais cela fonctionnerait également avec le dernier zip ou autre archive disponible sur le site du module, que l’on aura décompressé et on se déplace dans le répertoire créé :
- cd ~
- svn co https://ffmpeg-php.svn.sourceforge.net/svnroot/ffmpeg-php/trunk ffmpeg-php
- cd ffmpeg-php/ffmpeg-php
On prépare l’extension php avant compilation et on configure la compilation :
- phpize
- make clean
- ./configure
Puis on compile et on installe le nouveau module :
- make
- sudo make install
Pour activer l’extension il est alors nécessaire d’ajouter la ligne suivante dans la configuration de php5 :
- extension=ffmpeg.so
On peut l’ajouter dans le fichier php.ini
mais sur Debian on préfèrera l’ajouter dans un fichier spécifique de configuration qu’il sera facile par la suite de retrouver (dans /etc/php5/conf.d/
), avec la commande suivante :
- echo 'extension=ffmpeg.so' > /etc/php5/conf.d/ffmpeg.ini
Puis, bien entendu, on recharge la configuration d’Apache via la commande :
- /etc/init.d/apache2 force-reload
Installer des modules PHP via PECL : exemple de php-imagick
PECL (PHP Extension Community Library) est un dépot d’extensions pour PHP permettant d’installer différents modules relativement simplement, prenant en charge le téléchargement, la configuration, la compilation et l’installation du module.
Notre cas d’exemple est le php-imagick
. La version fournie par Debian est relativement ancienne et dans certains cas est incompatible avec certaines configuration (l’utilisation du safe_mode
notamment). Nous allons donc l’installer via PECL car cette méthode est plus pratique que celle évoquée plus haut. Cependant toutes les extensions PHP ne sont pas disponible via PECL (php-ffmpeg
notamment).
Pour pouvoir utiliser PECL certains prérequis sont nécessaires, php5-dev
, php-pear
. Nous allons donc les installer :
- sudo apt-get install php5-dev php-pear
Dans le cas particulier de l’installation de php-imagick
, il est nécessaire d’avoir la librairie de developpement d’ImageMagick que l’on installe comme suit :
- sudo apt-get install libmagick9-dev
On peut ensuite procéder à l’installation par PECL. Pour ce faire il suffit de lancer la commande :
- sudo pecl install imagick
Une question sera posée et il suffira de laisser la valeur par défaut (autodetect
).
Pour mettre à jour par la suite la librairie, il suffira de lancer la commande :
- sudo pecl upgrade imagick
Tout comme lors de la compilation manuelle d’une extension, il est nécessaire d’ajouter la ligne suivante dans la configuration de php5 :
- extension=imagick.so
On peut l’ajouter dans le fichier php.ini
mais sur Debian on préfèrera l’ajouter dans un fichier spécifique de configuration qu’il sera facile par la suite de retrouver (dans /etc/php5/conf.d/
), avec la commande suivante :
- echo 'extension=imagick.so' > /etc/php5/conf.d/imagick.ini
Puis, bien entendu, on recharge la configuration d’Apache via la commande :
- /etc/init.d/apache2 force-reload