next up previous contents Next:  Hôtes virtuels. Up: Installation et configuration d'Apache. Previous:  setuid des scripts CGI.   Table des matières  

37.2.11  Modules Apache et PHP.

L'exécution CGI est extrêmement lente si Apache doit invoquer un script de shell à chaque sollicitation. Apache possède un certain nombre de fonctionnalités pour des interpréteurs internes qui analysent des fichiers de scripts avec une grande efficacité. Un langage de programmation bien connu et développé spécialement pour le web est PHP. PHP peut être téléchargé en tant que programme source depuis la PHP Home Page à l'adresse http://www.php.net. Il contient les instructions GNU usuelles.

Apache présente la possibilité d'ajouter des fonctionnalités à l'exécution en utilisant les fichiers DSO (Dynamic Shared Object). Cette caractéristique intéresse surtout les distributions qui préparent des installations fragmentées d'Apache de sorte que les utilisateurs puissent n'installer que les parties qui les intéressent. Ceci revient en somme à ce qui a été décrit à la section 24.1: pour donner à vos programmes des caractéristiques supplémentaires fournies par diverses bibliothèques, vous pouvez soit lier statiquement des bibliothèques à votre programme ou compiler les bibliothèques en tant que fichiers partagés .so de manière à ce qu'elles soient liées à l'exécution. La différence, en ce cas, est que les fichiers de bibliothèques sont usuellement appelés mod_nom et qu'ils sont enregistrés dans /opt/apache/libexec/. Ils sont seulement chargés si LoadModule nom_module apparaît dans le fichier httpd.conf. De manière à permettre le support DSO, reconstruisez et ré-installez Apache avec:

./configure -prefix=/opt/apache -enable-module=so 


Tout paquet source qui crée un module Apache peut, à présent, exploiter l'utilitaire /opt/apache/bin/apxs, ce qui fait que vous devriez vous assurer que cet exécutable est dans votre PATH.

Dès maintenant, vous pouvez suivre les instructions pour installer PHP, en commençant par ./configure -prefix=/opt/php -with-paws=/opt/apache/bin/apxs -with-pgsql=/usr. (Ceci suppose que vous souhaitiez permettre le support pour la base de données postgres SQL et que postgres a été installé au préalable sous /usr.) Enfin, vérifiez qu'un fichier libphp4.so a bien abouti dans /opt/apache/libexec/. [NdT: au moment de la traduction, la version 5 de PHP était disponible].

Votre fichier httpd.conf doit contenir une information sur la présence des scripts PHP. Ajoutez les lignes suivantes:

LoadModule php4_module /opt/apache/libexec/libphp4.so 
AddModule mod_php4.c 
AddType application/x-httpd-php .php 


et créez un fichier /opt/apache/htdocs/hello.php contenant:

<html> 
<head> 
<title>Example</title> 
</head> 
<body> 
<?php echo ``Hi, I'm a PHP script!''; ?> 
</body> 
</html> 


Testez en visitant l'URL http://localhost/hello.php.

La programmation en PHP sort du cadre de cet ouvrage.


next up previous contents Next:  Hôtes virtuels. Up: Installation et configuration d'Apache. Previous:  setuid des scripts CGI.   Table des matières  
1-01-2006