Serveur Apache HTTP Version 2.4
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.
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 Apache httpd.
Les pr�requis pour la construction d'Apache httpd sont les suivants:
./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.--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.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.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.
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.
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.
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.
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.
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.
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 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
--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
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.