Ce document décrit la compilation et l'installation d'Apache sur les systèmes Unix, en employant la compilation et l'installation manuelle. Si vous souhaitez utiliser l'interface de configuration semblable à autoconf, il est conseillé de lire plutôt le fichier INSTALL situé dans la racine des fichiers sources de la distribution d'Apache. Pour compiler et installer Apache sur d'autres plates-formes, consultez
Si vous avez téléchargé une distribution composée des binaires, passez directement à l'installation d'Apache. Sinon lisez la section suivante afin de savoir comment compiler le serveur.
La configuration d'Apache s'effectue dans le
    répertoire src de la distribution. Entrez
    dans ce répertoire.
Configuration.
        Décommentez les lignes correspondant aux modules que
        vous souhaitez inclure (parmi les lignes commençant
        par AddModule situées à la fin du fichier),
        ou ajoutez de nouvelles lignes correspondant à des
        modules additionnels que vous avez
        téléchargés ou écrits. (Voir API.html comme documentation
        préliminaire à l'écriture de modules
        Apache). Les utilisateurs avertis peuvent commenter
        certains des modules actifs par défaut si ils sont
        sûrs qu'ils n'en ont pas besoin (il faut
        néanmoins faire attention, car la plupart des
        modules actifs par défaut sont vitaux au bon
        fonctionnement et à la sécurité du
        serveur). 
        Vous pouvez également lire les instructions
        contenues dans le fichier Configuration afin
        de savoir si devez activer certaines lignes
        commençant par Rule.
Configure comme décrit ci-dessous.
        Cependant si le script échoue ou si vous avez des
        besoins particuliers (par exemple inclure une librairie
        nécessaire à un module optionnel) vous devrez
        modifier une ou plusieurs des options contenues dans le
        fichier Configuration : EXTRA_CFLAGS,
        LIBS, LDFLAGS, INCLUDES. 
        Lancement du script Configure :
    % Configure
    Using 'Configuration' as config file
     + configured for <whatever> platform
     + setting C compiler to <whatever> *
     + setting C compiler optimization-level to <whatever> *
     + Adding selected modules
     + doing sanity check on compiler and options
    Creating Makefile in support
    Creating Makefile in main
    Creating Makefile in os/unix
    Creating Makefile in modules/standard
  
        
        (*: selon le fichier Configuration et votre système,
        Configure peut ne pas afficher ces lignes). 
        Ceci crée un fichier Makefile qui sera
        utilisé lors de l'étape trois. Il crée
        également un fichier Makefile dans le
        répertoire support, pour compiler les
        programmes optionnels d'assistance.
(Si vous souhaitez maintenir différentes
        configurations, Configure accepte une option
        lui disant de lire un autre fichier de configuration, comme
        : Configure -file Configuration.ai).
make
httpd dans le répertoire src.
    Une distribution des binaires doit fournir ce fichier. 
    La prochaine étape est d'installer le programme et de
    le configurer. Apache est conçu pour être
    configuré et lancé à partir du même
    groupe de répertoires que celui où il a
    été compilé. Si vous souhaitez le lancer
    d'un autre emplacement, créer un répertoire et y
    copier les répertoires conf,
    logs et icons. Dans tous les cas
    lisez le document trucs sur la
    sécurité qui décrit comment affecter
    les droits sur le répertoire racine du serveur.
L'étape suivante est la modification des fichiers de
    configuration du serveur. Cela consiste à définir
    différentes directives dans les trois
    fichiers centraux de configuration. Par défaut ces
    fichiers sont situés dans le répertoire
    conf et s'appellent srm.conf,
    access.conf et httpd.conf. Pour vous
    aider, les mêmes fichiers existent dans le
    répertoire conf de la distribution et sont
    appelés srm.conf-dist,
    access.conf-dist et httpd.conf-dist.
    Copiez ou renommez ces fichiers en supprimant le
    -dist pour le nouveau nom. Ensuite éditez
    chacun de ces fichiers. Lisez attentivement les commentaires de
    chacun de ces fichiers. Une mauvaise configuration de ces
    fichiers empêcherait votre serveur de démarrer, ou
    introduirait un problème de sécurité. Vous
    devez également trouver dans le répertoire
    conf un fichier mime.types.
    Généralement, ce fichier n'a pas besoin
    d'être modifié.
Premièrement éditez le fichier
    httpd.conf. Celui ci fixe les paramètres
    généraux du serveur : le numéro de port,
    l'utilisateur qui l'exécute, etc. Ensuite éditez
    le fichier srm.conf. Ce fichier définit la
    racine de l'arborescence des documents, les fonctions
    spéciales telles que les pages HTML dynamiques,
    l'analyse des imagemap, etc. Enfin, éditez le fichier
    access.conf pour au moins définir les
    schémas d'accès de base.
En plus de ces trois fichiers, le comportement du serveur
    peut être configuré dans chaque répertoire
    en utilisant les fichiers .htaccess pour les
    répertoires accédés par le serveur.
httpd. Il cherchera le fichier
    httpd.conf à l'emplacement
    spécifié lors de la compilation (par
    défaut /usr/local/apache/conf/httpd.conf).
    Si ce fichier est situé autre part, vous pouvez indiquer
    son emplacement en utilisant l'option -f. Par exemple : 
    /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf
    Si tout se passe bien, vous devez vous retrouver de nouveau sur
    l'invite de commande. Ceci indique que le serveur est actif et
    s'exécute. Si quelque chose se passe mal durant
    l'initialisation du serveur, un message d'erreur s'affichera
    à l'écran. Si le serveur démarre
    correctement, vous pouvez utiliser votre navigateur, vous
    connecter au serveur et lire la documentation. Si vous lancez
    le navigateur à partir de la machine où
    s'exécute le serveur et que vous utilisez le port par
    défaut 80, une URL valide à taper dans votre
    navigateur est : 
    http://localhost/
    Notez que lors du démarrage du serveur un certain nombre de processus fils sont créés afin de traiter les requêtes. Si vous démarrez le serveur en étant root, le processus père s'exécutera avec les droits de root, tandis que les processus fils s'exécuteront avec les droits de l'utilisateur défini dans le fichier httpd.conf.
Si au lancement de httpd celui ci indique qu'il
    n'arrive pas à s'attacher à une adresse, cela
    signifie soit qu'un autre processus s'exécute
    déjà en utilisant le numéro de port
    défini dans la configuration d'Apache, soit que vous
    essayez de lancer httpd en tant qu'utilisateur normal et que
    vous essayez d'utiliser un port inférieur à 1024
    (comme le port 80 par exemple).
Si le serveur ne s'exécute pas, lisez le message
    affiché quand vous lancez httpd. Vous devez
    également vérifier le fichier error_log pour plus
    d'informations (dans la configuration par défaut ce
    fichier est situé dans le fichier error_log
    du répertoire logs).
Si vous voulez que votre serveur continue à
    s'exécuter après une relance du système,
    vous devez ajouter un appel à httpd dans
    vos fichiers de démarrage du système (typiquement
    rc.local ou un fichier dans un répertoire
    rc.N). Ceci lancera le serveur Apache
    avec les droits de root. Avant de le faire, vérifiez que
    votre serveur est correctement configuré au niveau de la
    sécurité et des restrictions d'accès.
Pour arrêter Apache, envoyez au processus parent un
    signal TERM. Le PID de ce processus est écrit dans le
    fichier httpd.pid situé dans le
    répertoire logs (à moins qu'Apache
    soit configuré autrement). N'essayez pas de supprimer
    les processus fils car d'autres seront créés par
    le processus père. Une commande typique pour
    arrêter le serveur est :
    kill -TERM `cat /usr/local/apache/logs/httpd.pid`
    Pour plus d'information sur les options de la ligne de commande, sur les fichiers de configuration et les fichiers de trace, voir Démarrage d'Apache. Pour un guide de référence de toutes les directives Apache autorisées par les modules distribués, voir les directives Apache .
httpd qui est compilé et
    configuré comme ci dessus, Apache inclut un certain
    nombre de programmes d'assistance. Ceux ci ne sont pas
    compilés par défaut. Les programmes d'assistance
    sont situés dans le répertoire
    support de la distribution. Pour les compiler,
    allez dans ce répertoire et tapez : 
    make