Serveur Apache HTTP Version 2.2

Ce document couvre l'installation et la compilation du serveur HTTP Apache sur les systèmes Unix et similaires seulement. Pour la compilation et l'installation sous Windows, voir Utiliser Apache HTTPd avec Microsoft Windows. Pour les autres plateformes, se référer à la documentation par plateforme.
Apache HTTPd utilise libtool et autoconf
    afin de créer un environnement de construction similaire à la plupart
    des projets Open Source .
Si vous effectuez une mise à jour depuis une version mineure vers la suivante (par exemple, 2.2.50 à 2.2.51), veuillez passer à la section mise à jour.
 Aperçu pour les plus pressés
 Aperçu pour les plus pressés Prérequis
 Prérequis Téléchargement
 Téléchargement Extraction
 Extraction Configuration de l'arborescence des sources
 Configuration de l'arborescence des sources Construction
 Construction Installation
 Installation Personnalisation
 Personnalisation Test
 Test Mise à jour
 Mise à jour| Téléchargement | $ lynx http://httpd.apache.org/download.cgi | 
| Extraction | $ gzip -d httpd-NN.tar.gz | 
| Configuration | $ ./configure --prefix=PREFIX | 
| Compilation | $ make | 
| Installation | $ make install | 
| Personnalisation | $ vi PREFIX/conf/apache2.conf | 
| Test | $ PREFIX/bin/apache2ctl -k start | 
NN doit être remplacé par le numéro de version courant,
    et PREFIX par le
    chemin du répertoire d'installation. Si
    PREFIX n'est pas spécifié, le chemin du répertoire
    d'installation prendra sa valeur par défaut, à savoir
    /usr/local/apache2.
Chaque étape du processus de compilation et d'installation est décrite plus en détails ci-dessous, à commencer par les prérequis pour compiler et installer le serveur HTTP Apache.
Les prérequis pour la construction d'Apache HTTPd sont les suivants:
PATH doit contenir
      les outils de construction de base tels que make.ntpdate ou xntpd, basés sur le protocole NTP,
      sont couramment utilisés à cet effet.
      Voir la page d'accueil de NTP
      pour plus de détails à propos du logiciel NTP et des serveurs
      de temps publics.apxs ou dbmmanage
      (qui sont écrits en Perl). Si vous disposez de plusieurs interpréteurs
      Perl (par exemple, une installation globale Perl 4, et
      votre installation personnelle de Perl 5), il vous faut utiliser l'option
      --with-perl (voir ci-dessous) afin de vous assurer que le
      bon interpréteur sera utilisé par configure.
      Si le script configure ne trouve pas d'interpréteur
      Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
      Bien entendu, vous pourrez tout de même construire et utiliser
      Apache httpd.apr et apr-util sont inclus
      dans les sources d'Apache HTTPd, et peuvent être utilisés sans problème
      dans la plupart des cas. Cependant, si
      apr ou apr-util, versions 1.0 ou 1.1,
      sont installés sur votre système, vous devez soit mettre à jour vos
      installations apr/apr-util vers la version
      1.2, forcer l'utilisation des bibliothèques intégrées,
      soit faire en sorte que httpd utilise des constructions séparées.
      Pour utiliser les sources de
      apr/apr-util incluses, utilisez l'option
      --with-included-apr du script configure :
      
        # Forcer l'utilisation des sources de apr/apr-util intégrées
        ./configure --with-included-apr
      
apr/apr-util :
      
        # Construction et installation apr 1.2
        cd srclib/apr
        ./configure --prefix=/usr/local/apr-httpd/
        make
        make install
        
        # Construction et installation apr-util 1.2
        cd ../apr-util
        ./configure --prefix=/usr/local/apr-util-httpd/
          --with-apr=/usr/local/apr-httpd/
        make
        make install
        
        # Configuration httpd
        cd ../../
        ./configure --with-apr=/usr/local/apr-httpd/
          --with-apr-util=/usr/local/apr-util-httpd/
      
Le serveur HTTP Apache peut être téléchargé à partir du
    site de téléchargement
    du serveur HTTP Apache, qui fournit la liste de nombreux miroirs.
    Il sera plus commode à la plupart des utilisateurs d'Apache HTTPd sur les
    systèmes UNIX ou similaires de télécharger et de compiler
    la version sources.  Le processus de construction (décrit ci-dessous) est
    simple, et vous permet de personnaliser votre serveur selon vos besoins.
    En outre, les versions binaires sont souvent plus anciennes que les
    dernières versions sources  Si vous téléchargez une version binaire,
    suivez les instructions décrites dans le fichier
    INSTALL.bindist inclus dans la distribution.
Après le téléchargement, il est important de vérifier que vous disposez d'une version complète et non modifiée du serveur HTTP Apache. Vous pouvez le faire en testant l'archive téléchargée à l'aide de la signature PGP. Vous trouverez les détails de cette opération sur la page de téléchargement ainsi qu'un exemple précis décrivant l'utilisation de PGP.
L'extraction des sources depuis l'archive Apache HTTPd consiste simplement à décompresser et à désarchiver cette dernière :
$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
Ceci créera, dans le répertoire courant, un nouveau répertoire contenant le code source de la distribution. Vous devrez vous positionner dans ce répertoire avant de procéder à la compilation du serveur.
L'étape suivante consiste à configurer l'arborescence des sources
    d'Apache HTTPd en fonction de votre plateforme et de vos besoins personnels.
    Le script  configure, situé à la racine du
    répertoire de la distribution, a été conçu à cet effet.
    (Les développeurs qui téléchargent
    une version non officielle de l'arborescence des sources d'Apache HTTPd
    devront disposer de
    autoconf et libtool et
    exécuter buildconf avant de passer à l'étape suivante,
    ce qui n'est pas nécessaire pour les versions officielles.)
Pour configurer l'arborescence des sources avec les valeurs par défaut
    pour toutes les options, entrez simplement ./configure.
    Pour modifier les valeurs des options, configure
    comprend toute une variété de variables et
    d'options de ligne de commande.
L'option la plus importante --prefix est le chemin
    du répertoire d'installation du serveur HTTP Apache, car Apache doit être configuré
    en fonction de ce chemin pour pouvoir fonctionner correctement.
    Il est possible de définir plus finement le chemin d'installation des fichiers
    à l'aide d'
    options supplémentaires de configure.
À ce niveau, vous pouvez aussi spécifier de quelles fonctionnalités vous
    voulez disposer dans Apache HTTPd en activant ou désactivant des modules.  Apache est fourni avec un jeu de modules de
    Base inclus par défaut.
    Les autres modules sont activés à l'aide de l'option
    --enable-module, où
    module est le nom du module sans la chaîne
    mod_ et où tout caractère de soulignement est converti
    en tiret.  Vous pouvez aussi choisir de compiler les modules comme
    objets partagés (DSOs) -- qui peuvent être chargés
    ou déchargés à l'exécution -- à l'aide de l'option
    --enable-module=shared.  D'une manière similaire,
    vous pouvez désactiver des modules de base à l'aide de l'option
    --disable-module option.  Faites très attention
    en utilisant ces options, car configure n'est pas en
    mesure de vous avertir si le module que vous avez spécifié n'existe pas;
    il ignorera tout simplement l'option.
En outre, vous devrez peut-être fournir au script
    configure des informations supplémentaires sur
    le chemin de votre compilateur, de vos librairies, ou de vos fichiers
    d'en-têtes.  A cet effet, vous pouvez passer des options de ligne de
    commande ou des variables d'environnement au script
    configure. Pour plus d'informations, voir la
    page de manuel de configure.
Pour vous faire une idée des possibilités qui s'offrent à vous, voici
    un exemple typique de compilation d'Apache avec le répertoire
    d'installation /sw/pkg/apache, un compilateur et des drapeaux
    particuliers et les deux modules additionnels mod_rewrite
    et mod_speling qui pourront être chargés plus tard
    à l'aide du mécanisme DSO:
      $ CC="pgcc" CFLAGS="-O2" \
       ./configure --prefix=/sw/pkg/apache \
       --enable-rewrite=shared \
       --enable-speling=shared
Quand configure est lancé, il peut prendre
    plusieurs minutes pour tester la disponibilité des fonctionnalités
    au sein de votre système, et construire les Makefiles qui seront utilisés
    par la suite pour compiler le serveur.
Vous trouverez une description détaillée des options de
    configure dans sa page de manuel.
Vous pouvez maintenant construire les différents éléments qui composent le paquet Apache HTTPd en lançant tout simplement la commande :
$ make
Vous devez être patient, car il faut plusieurs minutes pour compiler une configuration de base, et cette durée peut varier considérablement en fonction de votre matériel et du nombre de modules que vous avez activés.
Il est temps maintenant d'installer le paquet dans le répertoire
    d'installation défini par PREFIX (voir plus haut l'option
    --prefix) en lançant:
$ make install
Si vous effectuez une mise à jour, l'installation n'écrasera pas vos fichiers de configuration ou autres documents.
Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en
    éditant les fichiers de configuration
    situés dans PREFIX/conf/.
$ vi PREFIX/conf/apache2.conf
Consultez le manuel du serveur HTTP Apache situé dans docs/manual/ ou http://httpd.apache.org/docs/2.2/ pour la version la plus récente de ce manuel et la liste complète des directives de configuration disponibles.
Vous pouvez maintenant démarrer votre Serveur HTTP Apache en lançant:
$ PREFIX/bin/apache2ctl -k start
Vous devriez alors pouvoir requérir votre premier document
    à l'aide de l'URL http://localhost/. La page web que vous
    voyez est située dans le répertoire défini par la directive
    DocumentRoot,
    qui est généralement PREFIX/htdocs/.
    Pour arrêter le serveur, lancez:
$ PREFIX/bin/apache2ctl -k stop
La première étape d'une mise à jour consiste à lire l'annonce de la
    sortie de la nouvelle version et le fichier CHANGES
    dans la distribution des sources afin de déceler toutes les modifications
    qui pourraient affecter votre site. Lors d'un changement majeur de version
    (par exemple de 1.3 à 2.0 ou de 2.0 à 2.2),
    il y aura certainement des différences importantes quant à la
    configuration de la compilation et de l'exécution qui nécessiteront des
    ajustements manuels.  Tous les
    modules devront aussi être mis à jour pour qu'ils s'adaptent aux
    changements de l'API des modules.
La mise à jour d'une version mineure à la suivante (par exemple, de
    2.2.55 à 2.2.57) est plus aisée.  Le processus make install
    n'écrasera aucun de vos documents existants, fichiers de log,
    ou fichiers de configuration.  De plus, les développeurs font tout
    leur possible pour éviter les changements entraînant une
    incompatibilité dans les options de
    configure, la configuration de l'exécution, ou l'API
    des modules d'une version mineure à l'autre.  Dans la plupart des cas,
    vous pourrez utiliser une ligne de commande
    configure identique, le même fichier de configuration,
    et tous vos modules continueront de fonctionner.
Pour effectuer une mise à jour entre deux versions mineures,
    commencez par trouver le fichier
    config.nice dans le répertoire de construction
    de votre serveur installé ou à la racine de l'arborescence des sources
    de votre ancienne installation.  Il contient la reproduction exacte de la
    ligne de commande configure que vous avez utilisée pour
    configurer l'arborescence des sources.  Ensuite, pour mettre à jour
    l'ancienne version vers la nouvelle,
    il vous suffit de copier le fichier config.nice dans
    l'arborescence des sources de la nouvelle version, de l'éditer pour
    effectuer toute modification souhaitée, et de lancer:
    $ ./config.nice
    $ make
    $ make install
    $ PREFIX/bin/apache2ctl -k graceful-stop
    $ PREFIX/bin/apache2ctl -k start
    
--prefix et un port différents (en ajustant la directive
    Listen) afin de déceler toute
    incompatibilité avant d'effectuer la mise à jour définitive.