<-
Apache > Serveur HTTP > Documentation > Version 2.3

Compilation et installation

Langues Disponibles:  de  |  en  |  es  |  fr  |  ja  |  ko  |  tr 

Ce document couvre l'installation et la compilation d'Apache sur les systèmes Unix et similaires seulement. Pour la compilation et l'installation sous Windows, voir Utiliser Apache 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.

Voir aussi

top

Aperçu pour les plus pressés

Téléchargement $ lynx http://httpd.apache.org/download.cgi
Extraction $ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
Configuration $ ./configure --prefix=PREFIX
Compilation $ make
Installation $ make install
Personnalisation $ vi PREFIX/conf/httpd.conf
Test $ PREFIX/bin/apachectl -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 Apache httpd.

top

Prérequis

Les prérequis pour la construction d'Apache sont les suivants:

Espace disque
Assurez-vous d'avoir au moins 50 MB d'espace disque disponible temporaire. Après l'installation Apache occupe approximativement 10 MB d'espace disque. L'espace disque réellement nécessaire va varier considérablement en fonction de vos options de configuration et de la présence éventuelle de modules tiers.
Compilateur ANSI-C et système de construction
Vous devez disposer d'un compilateur ANSI-C. Le compilateur GNU C (GCC) de la Free Software Foundation (FSF) est recommandé. Si vous ne possédez pas GCC, assurez-vous au moins que votre compilateur soit compatible ANSI. En outre, votre PATH doit contenir les outils de construction de base tels que make.
Connaissance de l'heure exacte
Les éléments du protocole HTTP font référence à l'heure du jour. Par conséquent, il est nécessaire d'équiper votre système d'un dispositif de synchronisation du temps. Les programmes 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.
Perl 5 [OPTIONNEL]
L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent) est nécessaire pour l'exécution de certains scripts comme 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.
top

Téléchargement

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

top

Extraction

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.

top

Configuration de l'arborescence des sources

L'étape suivante consiste à configurer l'arborescence des sources d'Apache 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 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 d'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 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. Ou lancez le script configure avec l'option --help.

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.

top

Construction

Vous pouvez maintenant construire les différents éléments qui composent le paquet Apache 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.

top

Installation

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

Cette étape nécessite habituellement les privilàges de root, car PREFIX est en général un répertoire possàdant des droits en écriture restreints.

Si vous effectuez une mise à jour, l'installation n'écrasera pas vos fichiers de configuration ou autres documents.

top

Personnalisation

Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en éditant les fichiers de configuration situés dans PREFIX/conf/.

$ vi PREFIX/conf/httpd.conf

Consultez le manuel d'Apache situé dans PREFIX/docs/manual/ ou http://httpd.apache.org/docs/trunk/ pour la version la plus récente de ce manuel et la liste complète des directives de configuration disponibles.

top

Test

Vous pouvez maintenant démarrer votre serveur HTTP Apache en lançant:

$ PREFIX/bin/apachectl -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/apachectl -k stop

top

Mise à jour

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/apachectl -k graceful-stop
$ PREFIX/bin/apachectl -k start

Vous devez toujours effectuer un test de la nouvelle version dans votre environnement avant de la mettre en production. Par exemple, vous pouvez installer et exécuter la nouvelle version en parallèle avec l'ancienne en utilisant une option --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.

Vous pouvez ajouter des arguments supplémentaires à config.nice ; ils seront alors ajoutés aux options de votre script configure original :

$ ./config.nice --prefix=/home/test/apache --with-port=90

Langues Disponibles:  de  |  en  |  es  |  fr  |  ja  |  ko  |  tr