Manuel PHP
Précédent | Chapitre 4. Installation sous UNIX | Suivant

# Apache 2.0 sur les systèmes Unix

Cette section contient les notes et conseils d'installation de PHP avec le serveur Apache 2.0 sur les systèmes Unix.

Avertissement
Nous ne recommandons pas l'utilisation de PHP dans un environnement threadé MPM, avec Apache 2. Utilisez le mode prefork MPM à la place, ou utilisez Apache 1. Pour savoir pourquoi, lisez l'entrée de la FAQ correspondante à l'utilisation d'Apache 2 dans un environnement threadé MPM.

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.x :

> - PHP 4.3.0 ou plus récent, disponible à http://www.php.net/downloads.php.
> - Les dernières versions stables de développement. Le code source est disponible à http://snaps.php.net/php5-latest.tar.gz, ou les exécutables compilés pour Windows à http://snaps.php.net/win32/php5-win32-latest.zip.
> - Une version non stable, téléchargeable sur http://qa.php.net/.
> - Vous pouvez obtenir PHP sur le serveur CVS anonyme.
> Ces versions de PHP sont compatibles avec Apache 2.0.40 et plus récent.

> 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. Sinon, nous vous recommandons de configurer PHP 4.3.0 ou supérieures avec la plus récente des versions d'Apache 2.

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

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 4-8. 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 procédure standard de démarrage 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. Maintenant, configurez votre PHP. C'est l'endroit où vous configurez PHP
        avec diverses options, comme les extensions qui seront activées. Lancez
        ./configure --help pour une liste des options disponibles. Dans notre exemple,
        nous ferons un configuration assez simple avec uniquement le support Apache 2 et MySQL.
        Votre chemin vers apxs peut être différent, en fait, le binaire devrait toujours s'appeler
        apsx2 sur votre système.

          ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

    11. make
    12. make install

        Si vous décidez de changer vos options de configuration après l'installation,
        vous aurez juste besoin de répéter les trois dernières étapes. Vous aurez aussi besoin
        de redémarrer apache pour que le nouveau module soit chargé. Une recompilation de
        Apache n'est pas nécessaire.

        If you decide to change your configure options after installation,
        you only need to repeat the last three steps. You only need to
        restart apache for the new module to take effect. A recompile of
        Apache is not needed.

        Notez que, à moins de l'avoir explicitement désactivé, 'make install' installera aussi PEAR,
        et des outils PHP tels que phpize, installera le CLI PHP, etc.

    13. Configurez votre fichier php.ini :

        cp php.ini-dist /usr/local/lib/php.ini

        Vous pouvez éditer votre fichier .ini pour régler certaines options PHP. Si vous souhaitez
        votre php.ini à un autre endroit, utilisez --with-config-file-path=/votre/chemin lors de
        l'étape 10.

        Si vous utilisez plutôt php.ini-recommended, assurez-vous de lire l'ensemble des changements
        qui y sont contenus, car ils modifient le fonctionnement de PHP.

    14. Éditez votre httpd.conf afin de charger le module PHP. Le chemin dans la partie droite de la
        directive LoadModule doit pointer vers l'endroit où se trouve le module PHP sur votre système.
        Le make install lancé plus haut l'y aura certainement déjà déposé pour vous, mais assurez le vous.

        Pour PHP 4 :

            LoadModule php4_module modules/libphp4.so

        Pour PHP 5:

            LoadModule php5_module modules/libphp5.so

    15. Dites à Apache de faire parser certaines extensions par PHP. Par exemple,
        faites parser l'extension .php par PHP. Vous pouvez ajouter n'importe quelle(s)
        extension(s) à parser juste en les ajoutant à la suite, séparées par un espace.
        Nous ajouterons .phtml dans notre exemple.

          AddType application/x-httpd-php .php .phtml

        Il est assez fréquent de configurer l'extension .phps comme code source PHP colorisé,
        ce qui peut être fait ainsi :

          AddType application/x-httpd-php-source .phps

    16. Utilisez votre méthode habituelle pour démarrer le serveur Apache, e.g.:

          /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 sources 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 : Si vous voulez utilisez la négociation sur le contenu, lisez la section FAQ Apache MultiViews.

> 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`.

Précédent | Sommaire | Suivant
Installation sous UNIX | Niveau supérieur | Caudium