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.4.9 à 2.4.10), veuillez passer à la section mise à jour.
sudo yum install httpd sudo service httpd start
dnf
à yum
. Voir la documentation du
projet Fedora pour des informations spécifiques à cette plateforme.sudo apt install apache2 sudo service apache2 start
Téléchargement | Téléchargez la dernière version depuis 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 Apache httpd.
Les prérequis pour la construction d'Apache httpd sont les suivants:
/racine_sources_httpd/srclib/apr
et
/racine_sources_httpd/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 /racine_sources_httpd/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 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/httpd.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/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 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/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.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.