Maintenant que nous avons un serveur HTTP fonctionnel on aimerait bien mettre en place un site dynamique et nous avons besoin pour cela de faire fonctionner PHP. Il existe plusieurs moyens de faire fonctionner des scripts PHP sur un serveur et nous allons voir aujourd'hui la méthode du mod_php
.
Le principe est de faire fonctionner PHP grâce à un module Apache qui va "inclure" le processus PHP dans Apache et lui permettre d'interpréter les fichiers PHP. L'avantage de cette méthode est qu'elle est très simple à mettre en place (un apt-get install et le tour est joué) mais l'inconvénient c'est qu'Apache inclue le processus PHP pour toutes les requêtes qui seront faites (fichiers HTML, fichiers d'images...) ce qui a un impact significatif sur les performances lorsque le trafic augmente.
Installation
Vous l'aurez compris, pour installer PHP en tant que module apache il faut chercher le module sur le gestionnaire de paquets.
sudo apt-get install libapache2-mod-php5 php5
Cette installation automatise tout et active automatiquement le mod_php
. Il vous suffit alors de redémarrer Apache pour qu'il puisse prendre en compte ce nouveau module
sudo service apache2 restart
Voilà, votre Apache peut maintenant interpréter les fichiers PHP.
Configuration
La configuration de PHP se trouve dans le dossier /etc/php5
, à l'intérieur de ce dossier vous aurez plusieurs sous dossier correspondant aux multiples versions de PHP que vous aurez installé sur votre système.
- cli, configuration utilisée lorsque l'on appelle PHP en ligne de commande
- apache2, configuration utilisée pour PHP sous forme de module Apache
Dans notre cas il faudra donc modifier le fichier /etc/php5/apache2/php.ini
. La configuration proposée par défaut est relativement correcte et vous ne devriez pas avoir grand-chose à changer. On remarquera que la propriété display_errors
est à off par défaut, ce qui veut dire qu'en cas d'erreur rien ne sera affiché à l'utilisateur. Il faudra alors regarder les fichiers de logs pour comprendre les problèmes.
Comme d'habitude la configuration est morcelée en plusieurs fichier et on retrouve dans le dossier conf.d
les fichiers permettant de configurer les modules PHP. Par défaut, vous ne devriez avoir qu'un fichier correspondant à la configuration d'opcache. Si vous installez de nouveaux modules, il faudra passer par ce dossier pour les configurer.
Installation de modules PHP
Certaines fonctionnalités de PHP ne sont pas incluses dans le core et il faudra installer des modules pour les faire fonctionner. À vous d'installer les modules dont vous avez besoin.
Voici quelques exemples :
php -m # affiche la liste des modules disponibles (compilés avec php)
sudo apt-get install php5-mcrypt # pour CakePHP
sudo apt-get install php5-curl # on a tjrs besoin de curl ^^
sudo apt-get install php5-gd # Librairie pour le traitement d'image
Les modules sont automatiquement activés, et les fichiers de configurations sont placés dans le dossier conf.d
. N'oubliez pas de redémarrer Apache pour que vos modifications soient prises en compte.