Serveur Apache HTTP Version 2.2
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 Apache HTTPd 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.
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/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 le serveur HTTP Apache.
Les pr�requis pour la construction d'Apache HTTPd sont les suivants:
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.apr
et apr-util
sont inclus
dans les sources d'Apache HTTPd, et peuvent �tre utilis�s sans probl�me
dans la plupart des cas. Cependant, si
apr
ou apr-util
, versions 1.0 ou 1.1,
sont install�s sur votre syst�me, vous devez soit mettre � jour vos
installations apr
/apr-util
vers la version
1.2, forcer l'utilisation des biblioth�ques int�gr�es,
soit faire en sorte que httpd utilise des constructions s�par�es.
Pour utiliser les sources de
apr
/apr-util
incluses, utilisez l'option
--with-included-apr
du script configure :
# Forcer l'utilisation des sources de apr/apr-util int�gr�es
./configure --with-included-apr
apr
/apr-util
:
# Construction et installation apr 1.2
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install
# Construction et installation apr-util 1.2
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/
--with-apr=/usr/local/apr-httpd/
make
make install
# Configuration httpd
cd ../../
./configure --with-apr=/usr/local/apr-httpd/
--with-apr-util=/usr/local/apr-util-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 HTTPd 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 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.
L'�tape suivante consiste � configurer l'arborescence des sources
d'Apache HTTPd 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 HTTPd
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 du serveur HTTP 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 HTTPd 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
.
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.
Vous pouvez maintenant construire les diff�rents �l�ments qui composent le paquet Apache HTTPd 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
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/httpd.conf
Consultez le manuel du serveur HTTP Apache situ� dans docs/manual/ ou http://httpd.apache.org/docs/2.2/ 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/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
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
--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.