Pour débuter
Outils de base
VIM
06 min
SSH
14 min
rsync
20 min
Shell fish
13 min
Serveur HTTP
Apache
40 min
Nginx
30 min
PHP
NodeJS
Base de données
MySQL
15 min
Redis
08 min
Emails
HTTPS
FTP
ProFTPD
14 min
Sécurité
Pour le confort
Déploiement

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.