Installation avec les serveurs Apache 2.0

Cette section contient les notes et conseils d'installation de PHP avec le serveur Apache 2.0, aussi bien pour Unix que pour Windows versions.

Avertissement

N'utilisez pas Apache 2.0 et PHP sur un serveur de production, ni sur Windows, ni sur Unix.

Il est très recommandé de lire la documentation Apache pour avoir une meilleure connaissance du serveur web Apache 2.0.

Notes sur la compatibilité de PHP avec Apache 2.0

Les versions de PHP suivantes sont reconnues pour fonctionner avec la plus récente version d'Apache 2.0 :

Ces versions de PHP sont compatibles avec Apache 2.0.40 et plus récent.

Note : Le support des SAPI d'Apache 2.0 a commencé avec PHP 4.2.0. PHP 4.2.3 est connu pour fonctionner avec Apache 2.0.39. N'essayez pas d'utiliser cette version de PHP avec une autre version d'Apache 2.0. Nous ne recommandons pas l'utilisation de PHP 4.2.3 avec Apache 2.0.39.

Toutes les versions de PHP mentionnées ici fonctionnent avec Apache 1.3.x.

Installer PHP et Apache 2 sur Linux

Téléchargez la version la plus récente de Apache 2.0 et une version appropriée de PHP, tel que décrit ci-dessus. Ce guide rapide couvre les manipulations de base, nécessaires à l'installation de Apache 2.0 et PHP. Pour plus d'informations, lisez la documentation Apache. Les numéros de version sont omis ici, pour s'assurer que les instructions ne soient pas incorrectes. Il faudra donc remplacer les séquences 'NN' avec les valeurs correctes que vous utilisez.

Exemple 3-11. Instruction d'installation (Module partagé Apache 2)

1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    Maintenant, vous avez un dossier Apache 2.0.NN installe dans /usr/local/apache2,
    configure avec le support des modules dynamiques, et le prefork standard MPM.
    Pour tester l'installation, utilisez votre procedure standard de demarrage d'Apache :
    /usr/local/apache2/bin/apachectl start
    et pour stopper le serveur, utilisez 
    /usr/local/apache2/bin/apachectl stop.

9.  cd ../php4-NN
10. ./configure --with-apxs2=/usr/local/apache2/bin/apxs
11. make
12. make install
13. cp php.ini-dist /usr/local/lib/php.ini

    Editez votre fichier php.ini pour configurer les options PHP.
    Si vous preferez placer ce fichier a un autre endroit, utilisez l'option
    --with-config-file-path=/path en étape 10.

14. Editez votre fichier httpd.conf et verifiez la presence des lignes suivantes : 
  
   LoadModule php4_module modules/libphp4.so
   AddType application/x-httpd-php .php

  Vous pouvez installer toutes les extensions que vous souhaitez. .php est 
  simplement celle que nous suggerons.
 
  Le chemin à droite de la directive LoadModule doit indiquer le chemin
  du module PHP de votre systeme. La directive ci-dessus est correcte si vous
  avez suivi les autres etapes a la lettre.

15. Utilisez votre procedure standard pour redemarrer Apache : 
   /usr/local/apache2/bin/apachectl start

Suivez les étapes ci-dessus, et vous disposerez d'un serveur Apache 2.0 avec le support de PHP module comme module SAPI. Bien sur, il y a bien d'autres options de configuration disponibles pour les deux logiciels, Apache et PHP. Pour plus de détails, utilisez la commande ./configure --help dans le dossier de souces approprié. Si vous souhaitez compiler une version multi-threadé de Apache 2.0 vous devrez remplacer le module standard MPM prefork avec worker ou perchild. Pour ce faire, ajoutez à la ligne de configuration de l'étape 6, l'option --with-mpm=worker ou --with-mpm=perchild. Soyez conscient des conséquences, et comprenez bien ce que vous faites. Pour plus de détails sur ce sujet, lisez la documentation Apache sur le module MPM.

Note : Pour compiler une version multi-threadée d'Apache, votre système doit supporter les threads. Cela implique aussi de compiler PHP avec le module expérimental de Zend Thread Safety (ZTS). Par conséquent, toutes les extensions ne seront pas disponibles. La configuration recommandée actuellement est celle avec le module standard MPM prefork.

Installation de PHP et Apache 2.0 sur Windows

Lisez donc les notes spécifiques à Windows pour Apache 2.0.

Avertissement

Apache 2.0 est conçu pour fonctionner sur Windows NT 4.0 et Windows 2000. Actuellement, le support des versions Windows 9x est incomplet. Apache 2.0 n'est pas prévu pour fonctionner sur ces plate-formes pour l'instant.

Téléchargez la version la plus récente de Apache 2.0 et une version de PHP appropriée, tel que mentionné au début de ce chapitre. Suivez les instructions d'installation manuelle puis revenez ici pour réaliser l'intégration de PHP et Apache.

Il y a deux méthodes pour que PHP fonctionne avec Apache 2.0 sous Windows. La première est l'interface CGI, et l'autre est le module DLL Apache. Dans les deux cas, commencez par stopper le serveur Apache, et éditez le fichier httpd.conf pour configurer Apache avec le support PHP.

Vous devez insérer les lignes suivantes dans le fichier httpd.conf pour réaliser la configuration en mode CGI:

Exemple 3-12. Configurer la version de développement de PHP avec Apache 2.0 en CGI

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"

Note : A partir de PHP 4.3.0, le nom de l'exécutable CGI a changé, et il est devenu php-cgi.exe. Prenez-le en compte, et utilisez la bonne directive pour Apache.

Si vous souhaitez utiliser PHP comme module dans Apache 2.0, placez bien le fichier php4ts.dll dans votre dossier winnt/system32, en y écrasant tout autre fichier qui s'y trouverait. Puis vous devrez insérer les deux lignes suivantes dans votre fichier de configuration d'Apache httpd.conf pour y ajouter le module PHP d'Apache 2.0 :

Exemple 3-13. Configurer PHP avec Apache 2.0 en module

LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php

Note : N'oubliez pas de remplacer c:/php/ par votre chemin réel de PHP dans les exemples ci-dessus. Ne mélangez pas votre installation en module (DLL) avec différentes versions de PHP. Vous devez utiliser uniquement les DLL et extensions qui sont fournies avec la version de PHP que vous téléchargez.