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
:
(*: selon le fichier Configuration et votre système, Configure peut ne pas afficher ces lignes).% 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
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.confSi 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