<-
Apache > Serveur HTTP > Documentation > Version 2.4

Compilation et installation

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

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 le serveur HTTP Apache avec Microsoft Windows et Compilation d'Apache sous 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/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 Apache httpd.

top

Pr´┐Żrequis

Les pr´┐Żrequis pour la construction d'Apache httpd sont les suivants:

APR et APR-Util
APR et APR-Util doivent ´┐Żtre d´┐Żj´┐Ż install´┐Żs sur votre syst´┐Żme. Si ce n'est pas le cas, ou si vous pr´┐Żf´┐Żrez ne pas utiliser les versions fournies par le syst´┐Żme, t´┐Żl´┐Żchargez les derni´┐Żres versions d'APR et APR-Util depuis Apache APR, d´┐Żcompressez-les respectivement dans ./srclib/apr et ./srclib/apr-util (les noms des r´┐Żpertoires ne doivent pas comporter de num´┐Żros de versions ; par exemple, la distribution d'APR doit se trouver dans ./srclib/apr/), et utilisez l'option --with-included-apr du script ./configure. Sur certaines plateformes, vous devrez peut-´┐Żtre installer les paquets -dev correspondants pour permettre la compilation de httpd avec les versions install´┐Żes d'APR et APR-Util.
Biblioth´┐Żque d'expressions rationnelles compatibles Perl (PCRE)
Cette librairie est n´┐Żcessaire mais n'est plus fournie avec la distribution de httpd. T´┐Żl´┐Żchargez le code source depuis http://www.pcre.org ou installez un portage du paquet. Si votre suite de compilation ne trouve pas le script pcre-config install´┐Ż au cours du processus de construction de PCRE, indiquez son chemin via l'option --with-pcre du script ./configure. Sur certaines plateformes, vous devrez peut-´┐Żtre installer les paquets -dev correspondants pour permettre la compilation de httpd avec la version install´┐Że de PCRE.
Espace disque
Assurez-vous d'avoir au moins 50 Mo d'espace disque disponible temporaire. Apr´┐Żs l'installation le serveur occupe approximativement 10 Mo d'espace disque. L'espace disque r´┐Żellement n´┐Żcessaire va varier consid´┐Żrablement en fonction de vos options de configuration, de la pr´┐Żsence ´┐Żventuelle de modules tiers, et bien entendu de la taille de votre site web et des sites que vous h´┐Żbergez sur votre serveur.
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 du serveur HTTP Apache 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 accepte 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 grand nombre de modules inclus par d´┐Żfaut. Ils seront compil´┐Żs en tant qu'objets partag´┐Żs (DSOs) qui pourront ´┐Żtre charg´┐Żs ou d´┐Żcharg´┐Żs ´┐Ż l'ex´┐Żcution. Vous pouvez aussi choisir de compiler les modules statiquement via l'option --enable-module=static.

Des modules suppl´┐Żmentaires peuvent ´┐Żtre 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. D'une mani´┐Żre similaire, vous pouvez d´┐Żsactiver des modules ´┐Ż l'aide de l'option --disable-module. 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 biblioth´┐Żques, 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_ldap et mod_lua :

$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-ldap=shared \
--enable-lua=shared

Plusieurs minutes peuvent ´┐Żtre n´┐Żcessaires ´┐Ż configure 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/apache2.conf

Consultez le manuel d'Apache situ´┐Ż dans PREFIX/docs/manual/ ou http://httpd.apache.org/docs/2.4/ 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/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

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 2.0 ´┐Ż 2.2 ou de 2.2 ´┐Ż 2.4), 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

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

top

Paquets tiers

De nombreux tiers fournissent leur propre distribution du serveur HTTP Apache ´┐Ż installer sur une plate-forme particuli´┐Żre. On peut citer les diff´┐Żrentes distributions Linux, divers paquets tiers Windows, Mac OS X, Solaris et de nombreux autres.

Notre license logicielle non seulement permet, mais aussi encourage ce genre de redistribution. Cependant, ceci conduit ´┐Ż une situation ou l'organisation de la configuration et les valeurs par d´┐Żfaut de votre installation du serveur peuvent ne pas correspondre ´┐Ż ce qui est ´┐Żcrit dans la documentation. Bien que f´┐Żcheuse, cette situation n'est pas appel´┐Że ´┐Ż ´┐Żvoluer de sit´┐Żt.

Une description de ces distributions tierces est maintenue dans le wiki du serveur HTTP, et doit en refl´┐Żter l'´┐Żtat actuel. Vous devrez cependant vous familiariser par vous-m´┐Żme avec la gestion du paquet de votre plate-forme particuli´┐Żre et les proc´┐Żdures d'installation.

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

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.