Manuel PHP
Précédent | Chapitre 2. Installation | Suivant

# Installation du serveur Apache

Cette section contient des notes spécifiques pour l'installation de PHP avec Apache, aussi bien pour la version Unix que Windows.

## Détails pour l'installation de PHP sous Apache sous Unix.

Il y a deux méthodes d'installation de PHP avec Apache 1.3.x sous Windows. L'une passe par les CGI (php.exe), l'autre est d'utiliser la DLL de module d'apache. Dans les deux cas, vous devrez arrêter le serveur Apache, et éditer le fichier `srm.conf` ou `httpd.conf`, pour configurer Apache avec PHP.

Vous pouvez sélectionner des options à ajouter au fichier configure à la ligne 8 depuis la liste complète des options de configuration.

Exemple 2-5. Instructions d'installation (version module)
    1.  gunzip apache_1.3.x.tar.gz
    2.  tar xvf apache_1.3.x.tar
    3.  gunzip php-x.x.x.tar.gz
    4.  tar xvf php-x.x.x.tar
    5.  cd apache_1.3.x
    6.  ./configure --prefix=/www
    7.  cd ../php-x.x.x
    8.  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
    9.  make
    10. make install
    11. cd ../apache_1.3.x
    12. for PHP 3: ./configure --activate-module=src/modules/php3/libphp3.a
        for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
    13. make
    14. make install
      Au lieu de cette étape, vous pouvez aussi copier le binaire
      httpd et remplacer votre exécutable actuel. Assurez-vous tout
      de même que le serveur est bien éteint.
    15. cd ../php-x.x.x
    16. for PHP 3: cp php3.ini-dist /usr/local/lib/php3.ini
        for PHP 4: cp php.ini-dist /usr/local/lib/php.ini
      Vous pouvez éditer votre fichier php.ini pour modifier
      certaines options PHP. Si vous préférez placer ce fichier ailleurs,
      utilisez --with-config-file-path=/path lors de l'étape 8.
    17. Editez votre fichier httpd.conf ou srm.conf file et ajoutez :
         Pour PHP 3:   AddType application/x-httpd-php3 .php3
         Pour PHP 4:   AddType application/x-httpd-php  .php
      Vous pouvez choisir n'importe quelle extension que vous voulez ici. .php
      est uniquement une suggestion. Vous pouvez aussi inclure .html.
    18. Utilisez votre procédure habituelle pour démarrer votre serveur Apache.
    (vous devez l'éteindre et le redémarrer, pas seulement lui envoyer
    un signal HUP ou USR1.)

Suivant votre installation d'Apache et votre variante d'Unix, il existe de nombreuses façons d'arrêter et redémarrer Apache. Voici une liste des commandes typiques, pour différentes installations. Remplacez `/path/to/` par le chemin d'accès à vos applications sur votre système.

    1. Nombreuses variantes Linux SysV :
    /etc/rc.d/init.d/httpd restart
    2. Avec les scripts apachectl :
    /path/to/apachectl stop
    /path/to/apachectl start
    3. httpdctl et httpsdctl (utilisant OpenSSL), similaire à apachectl:
    /path/to/httpsdctl stop
    /path/to/httpsdctl start
    4. En utilisant mod_ssl, ou un autre seveur SSL, manuellement :
    /path/to/apachectl stop
    /path/to/apachectl startssl

Les exécutables apachectl et http(s)dctl peuvent être situés dans différents dossiers. Si votre système a `locate` ou `whereis` ou `which`, utilisez-les pour retrouver vos programmes.

Différents exemples de compilation PHP pour Apache suivent :

    ./configure --with-apxs --with-pgsql

Cette commande va créer une librairie partagée `libphp4.so` qui sera chargée par Apache avec une ligne LoadModule dans le fichier `httpd.conf`. Le support PostgreSQL est aussi inclut dans `libphp4.so`.

    ./configure --with-apxs --with-pgsql=shared

Cette commande va créer une autre librairie partagée `libphp4.so`, mais va aussi créer une librairie partagée `pgsql.so` qui sera chargée dans PHP avec les options de configurations du fichier `php.ini` ou par chargement dynamique avec dl().

    ./configure --with-apache=/path/to/apache_source --with-pgsql

Cette commande va créer une autre librairie partagée `libmodphp4.a`, un fichier `mod_php4.c` et quelques fichiers compagnons dans le dossier `src/modules/php4` de dossier Apache. Puis, vous devez compiler Apache avec `--activate-module=src/modules/php4/libphp4.a` et le système de compilation d'Apache va créer un fichier `libphp4.a` et le lien statiquement avec `httpd`. Le support PostgreSQL est alors inclut directement dans l'exécutable `httpd`, ce qui fait que le résultat final est un fichier unique `httpd`, qui inclus Apache et PHP.

    ./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Identique à la version précédente, mais au lieu d'inclure le support PostgreSQL directement dans l'exécutable final `httpd`, vous allez obtenir une librairie partagée `pgsql.so` que vous pouvez charger dans PHP soit grâce au fichier de configuration `php.ini` ou dynamiquement avec dl().

Lorsque vous faites le choix entre les différents modes de compilation de PHP, vous devez prendre en compte leurs avantages et inconvénients respectifs. Les objets partagés permettent de compiler PHP et Apache de manière séparée, et vous n'aurez pas à compiler l'ensemble pour faire évoluer PHP. La compilation statique permet de charger et d'éxécuter plus rapidement PHP. Pour plus d'informations, voyez webpage on DSO support.

## Détails sur l'installation de PHP sous Windows avec Apache 1.3.x

Il y a deux méthodes pour faire fonctionner PHP avec Apache 1.3.x sous Windows. La première est d'utiliser l'exécutable CGI (php.exe), l'autre est d'utiliser les modules Apache DLL. Dans les deux cas, vous devez arrêter le serveur Apache, éditer votre fichier `srm.conf` ou `httpd.conf` pour configurer Apache.

Bien qu'il puisse y avoir quelques différences de configurations de PHP sous Apache, le processus reste simple et à la portée du néophyte. Reportez-vous aux documentations Apache pour plus de détails sur ces directives.

Si vous avez dézippé le package dans `C:\PHP\` comme indiqué dans Instructions Générales d'installation, vous devez insérer les lignes suivantes dans votre fichier `srm.conf` ou `httpd.conf` pour qu'il fonctionne en CGI :

- `ScriptAlias /php/ "c:/php/"`

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

- `Action application/x-httpd-php "/php/php.exe"`

N'oubliez pas de redémarrer le serveur, avec la commande `NET STOP APACHE` suivie de `NET START APACHE`.

Si vous voulez utiliser PHP comme module Apache, vous devez déplacer le fichier `php4ts.dll` dans le dossier `windows/system` (pour Windows 9x/Me) ou `winnt/system32` (pour Windows NT/2000), en écrasant les anciennes versions. Puis, vous devez ajouter les deux lignes suivantes dans le fichier de configuration Apache :

- `LoadModule php4_module c:/php/sapi/php4apache.dll`

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

> Note : Avec Apache 1.3.22 pour Windows, le fichier de configuration par défaut (`httpd.conf-dist-win`) a une directive `ClearModuleList` incluse par défaut. Si cette directive est utilisé, il est nécessaire de mettre une ligne `AddModule mod_php4.c` à la liste `AddModule`, sinon PHP ne sera pas enregistré comme Module Apache.

Pour utiliser les fonctionnalités de mise en évidence du code source, créez simplement un script PHP et ajoutez le code suivant : `<?php show_source("original_php_script.php"); ?>`. Remplacez le fichier `original_php_script.php` par le fichier que vous voulez afficher : c'est la seule manière de le faire, car il n'y a pas de fonctionnalités phps sous Windows.

> Note : Sous Win-Apache tous les antislash des noms de chemins tels que "`c:\directory\file.ext`", doivent être convertis en slash c'est à dire "c:/directory/file.ext".

Précédent | Sommaire | Suivant
Installation sous Windows | Niveau supérieur | CGI/ Installation pour exécution en ligne de commande