Ce document couvre la compilation et l'installation d'Apache sur les systèmes Unix et clones d'Unix. Pour la compilation et l'installation sous Windows, voir Utiliser Apache sous Windows . Pour les autres plates-formes, voir la documentation des plates-formes.
L'environnement de configuration et d'installation d'Apache 2.0 a été
complétement revu par rapport à celui d'Apache 1.3. Apache 1.3 utilisait un
ensemble de scripts pour permettre une installation facile. Apache 2.0
utilise à présent libtool
et autoconf
afin de
créer un environnement le plus proche possible d'autres projets
Logiciel Libre.
Si vous faite une mise à niveau d'une version mineure à la suivante (par exemple, de 2.0.50 à 2.0.51), veuillez s'il vous plaît passer directement à la section Mise à niveau.
Télécharger | $ lynx http://httpd.apache.org/download.cgi
|
Extraire | $ gzip -d httpd-2_1_NN.tar.gz |
Configurer | $ ./configure --prefix=PREFIX
|
Compiler | $ make |
Installer | $ make install |
Personnaliser | $ vi PREFIX/conf/httpd.conf |
Tester | $ PREFIX/bin/apachectl start
|
NN doit être remplacé par le numéro de version mineure actuel, et
PREFIX par le chemin où le serveur doit être installé. Si
PREFIX n'est pas spécifié, l'installation se fait dans
/usr/local/apache2
.
Chacune des sections du processus de compilation et d'installation est décrite ci-après, en commençant par les pré-requis à la compilation et à l'installation d'Apache HTTPD.
Les pré-requis suivants sont nécessaire pour l'installation d'Apache:
make
, doivent être présents dans votre
PATH
.ntpdate
ou xntpd
sont
utilisés; ces programmes implémentent le Network Time Protocol (NTP).
Voir le groupe Usenet comp.protocols.time.ntp et la page NTP pour plus de détails
sur les logiciels NTP et les serveurs de temps publics.configure
ne trouve pas d'interpréteur
Perl, la compilation sera quand même réalisée sans souci. Seuls ces
scripts ne seront pas utilisables. Si plusieurs interpréteurs Perl sont
installés (par exemple, Perl 4 fourni avec l'OS, et Perl 5 installé par
l'administrateur), il est conseillé de passer l'option
--with-perl
afin de garantir que le bon interpréteur est
utilisé par ./configure
.Apache est téléchargeable depuis le site de téléchargement
d'Apache qui fournit la liste de plusieurs miroirs. Là sont disponibles
les dernières versions. La plupart des
utilisateurs d'Apache sur des systèmes de type Unix devraient
probablement télécharger et compiler une version à partir du code source.
Le processus de construction (décrit ci-dessous) est facile et
vous permet d'adapter votre serveur pour convenir à vos besoins.
En outre, les versions binaires ne sont souvent pas à jour avec
les dernières versions du code source. Si vous téléchargez une
version binaire, suivez les instructions dans le dossier
INSTALL.bindist
à l'intérieur de la distribution.
Après le téléchargement, il est important de vérifier que les sources
téléchargées sont bien complètes et non modifiées, et ce surtout si un
miroir a été utilisé pour le téléchargement. Ceci peut être fait en
testant l'archive tar téléchargée avec la signature PGP. Cette procédure
s'effectue en 2 étapes. D'abord, il faut récupérer le fichier KEYS
du site
de distribution d'Apache. (Pour vérifier que ce fichier KEYS
n'a pas été modifié, une bonne idée peut être d'utiliser un fichier d'une
distribution précédente d'Apache ou d'importer les clés d'un serveur de
clés public.) Les clés peuvent être importées dans le keyring de
l'utilisateur au moyen d'une des commandes (selon la version de PGP):
ou
La prochaine étape est de tester l'archive tar au moyen de la signature
PGP, qui devrait toujours être disponible sur le site principal d'Apache.
Un lien vers cette signature est placé derrière le lien de téléchargement
correspondant ou peut être trouvé dans le répertoire correspondant sur le site de distribution
d'Apache. Le nom de ce fichier est le même que celui de l'archive
source, avec en plus l'extension .asc
. La distribution
téléchargée peut alors être vérifiée au moyen de la commande (à nouveau,
selon la version de PGP):
ou
Un message comme celui-ci devrait s'afficher
Selon les relations de confiances contenues dans le keyring de
l'utilisateur, un message peut s'afficher, spécifiant que la relation entre
la clé et le signataire ne peut être vérifiée. Ceci n'est pas un problème si
vous ne mettez pas en doute l'authenticité du fichier KEYS
.
Extraire les sources à partir de l'archive tar est une simple affaire de décompression et d'extraction tar:
Un nouveau répertoire est créé dans le répertoire courant, il contient le
code source de la distribution. Il faut aller dans ce répertoire au moyen
de la commande cd
avant de commencer la compilation du
serveur.
L'étape suivante est la configuration de l'arborescence source d'Apache,
pour votre plate-forme et selon les nécessités du site. Cette configuration est
réalisée au moyen du script configure
fourni dans le
répertoire racine de la distribution. (Les développeurs qui téléchargent
Apache via CVS devront utiliser les outils autoconf
et
libtool
avant de passer à la suite. Ceci n'est pas nécessaire
pour les versions officielles.)
Pour configurer l'arborescence source en utilisant les options par
défaut, tapez ./configure
. Pour modifier les valeurs des
options par défaut, configure
accepte un grand nombre de
variables et d'options de ligne de commande.
La plus importante de ces options est le chemin du répertoire où Apache sera installé, car Apache doit être configuré pour que cet emplacement fonctionne correctement. Plusieurs autres options sont disponibles pour le contrôle fin de l'emplacement des fichiers résultants avec options de configuration.
En outre, à ce moment, vous pouvez indiquer quels fonctionnalités
vous voulez inclure dans Apache en ajoutant et/ou en retranchant
des modules. Apache vient avec un ensemble
de modules de Base
inclus par défaut. D'autres modules peuvent être ajoutés en utilisant
l'option --enable-module
, où
module est le nom du module avec la chaîne
mod_
coupée et avec les caractères de soulignement
convertis en tirets. Vous pouvez également choisir de compiler
des modules en tant qu'objets partagés (DSOs),
qui peuvent être chargés ou déchargé à l'exécution -- en employant
l'option --enable-module=shared
.
De même, vous pouvez retrancher les modules de Base avec l'option
--disable-module
. Prenez garde lorsque
vous employez ces options, puisque configure
ne peut
vous informer si le module cible n'existe pas; configure
ignorera simplement l'option.
Il est parfois nécessaire de fournir des
informations supplémentaires au script
configure
sur l'emplacement de vos
compilateur, bibliothèques ou dossiers d'en-tête. Ceci se fait en
passant les variables d'environnement ou des options incluses sur la ligne
de commande à configure
. Pour plus d'information
sur ce sujet, consultez la page de documentation
configurer.
L'exemple suivant compile Apache pour être installé
dans /sw/pkg/apache
avec un
compilateur et des options de compilation particulières, ainsi que les deux
modules
Une fois lancé, configure
peut prendre quelques minutes
pour tester les possibilités du système et produire les fichiers
Makefile
qui seront utilisés pour construire le serveur.
Les détails de toutes les options configure
sont
disponibles sur la page de documentation configurer.
Les différents composants d'Apache sont à présent prêts à être compilés, en tapant simplement la commande:
Un peu de patience est requise, une configuration standard met environ 3 minutes à compiler sur un Pentium III sous Linux 2.2. Ce temps peut varier largement suivant le matériel utilisé et les modules selectionnés.
Il est temps d'installer le 'package' dans le répertoire d'installation
PREFIX configuré auparavant (voir l'option --prefix
ci-dessus) en tapant:
En cas de mise à jour, l'installation n'écrasera ni les fichiers de configuration du serveur, ni ses documents.
Il reste à présent à configurer le serveur HTTP Apache, en éditant les
fichiers de configuration placés dans
PREFIX/conf/
.
A consulter : le manuel d'Apache dans docs/manual/ ou bien http://httpd.apache.org/docs-2.1/ pour la dernière version de ce manuel, ainsi qu'une référence complète de toutes les directives de configuration.
Une fois configuré, le serveur HTTP Apache peut être démarré en tapant:
Vous devriez alors pouvoir tester l'URL http://localhost/
.
La page affichée se trouve dans le répertoire
PREFIX/htdocs/
.
Le serveur peut être arrêté en tapant:
La première étape pour une mise à niveau est de lire
l'annonce de la nouvelle version et le fichier CHANGES
dans la distribution afin de trouver tous les changements qui
peuvent affecter votre site. Si la mise à jour est effectuée
entre deux versions principales (par exemple, de 1.3 à 2.0 ou
de 2.0 à 2.2), attendez-vous à des différences majeures
au moment de la compilation et de l'exécution, exigeant probablement
des ajustements manuels. Tous les modules devront également
être mis à niveau pour tenir compte des changements de l'API.
La mise à niveau d'une version mineure à une plus récente
(par exemple, de 2.0.55 à 2.0.57) est plus facile. Le processus
make install
n'écrasera aucun de vos documents,
fichiers journaux, ou fichiers de configuration existants.
En outre, les développeurs font tous les efforts possibles
pour éviter les changements incompatibles des options
configure
, de la configuration d'exécution,
ou de l'API entre les versions mineures. Dans la plupart
des cas vous devriez pouvoir employer une ligne de commande
configure
et un fichier de configuration
identiques. De plus, tous vos modules devraient continuer à fonctionner.
(Ceci ne vaut que pour les versions postérieures à 2.0.41;
les versions antérieures ont des changements incompatibles.)
Si vous avez gardé l'arborescence source de votre dernière
installation, la mise à niveau est encore plus facile.
Le dossier config.nice
dans la racine de l'ancienne
arborescence contient la ligne de commande configure
exacte que vous avez utilisée pour configurer l'arborescence des
sources. Pour faire la mise à niveau d'une version à la suivante,
vous devez copier le dossier config.nice
dans
l'arborescence des sources de la nouvelle version, l'éditer
pour faire les changements désirés, puis exécuter:
--prefix
et un port différents
(ce qui est possible en ajustant la directive