configure - Configure l'arborescence des sources (original) (raw)
Résumé
Vous devez appeler le script configure
depuis le répertoire racine de la distribution.
**./configure** [OPTION]... [VARIABLE=VALEUR]...
Pour définir des variables d'environnement (par exempleCC
,CFLAGS
, etc...), utilisez la clauseVARIABLE=VALEUR
. Voir ci-dessous pour la description de quelques variables usuelles.
Options
- Options de Configuration
- Répertoires d'installation
- Types de Systèmes
- Fonctionnalités optionnelles
- Options pour les programmes support
Options de Configuration
Les options suivantes affectent le comportement du scriptconfigure
.
-C
--config-cache
C'est un alias pour --cache-file=config.cache
--cache-file=FICHIER
Les résultats des tests seront mis en cache dans le fichierFICHIER. Cette option est désactivée par défaut.
-h
--help [short|recursive]
Affichage de l'aide et sortie du script. Avec l'argumentshort
, seules les options spécifiques à ce paquet seront affichées. L'argument recursive
permet d'afficher l'aide de tous les paquets inclus.
-n
--no-create
Le script configure
s'exécute normalement, mais ne crée pas les fichiers résultants. Ceci permet de vérifier les résultats des tests avant de générer les fichiers makefile pour la compilation.
-q
--quiet
Les messages checking ...
ne sont pas affichés au cours du processus de configuration.
--srcdir=DIR
Définit le répertoire DIR comme répertoire des fichiers sources. Par défaut, c'est le répertoire où se situe le script configure
, ou le répertoire parent.
--silent
Identique à --quiet
-V
--version
Affichage des informations de copyright et sortie du script.
Répertoires d'installation
Ces options permettent de spécifier le répertoire d'installation. L'arborescence de l'installation dépend de l'organisation (layout) sélectionnée.
--prefix=PREFIX
Installe les fichiers indépendants de l'architecture dansPREFIX. Par défaut, le répertoire d'installation est/usr/local/apache2
.
--exec-prefix=EPREFIX
Installe les fichiers dépendants de l'architecture dansEPREFIX. La valeur par défaut de cette option correspond à la valeur de la variablePREFIX.
Par défaut, make install
va installer tous les fichiers dans /usr/local/apache2/bin
,/usr/local/apache2/lib
, etc... Vous pouvez cependant spécifier un préfixe d'installation autre que/usr/local/apache2
en utilisant l'option--prefix
(par exemple --prefix=$HOME
).
Spécifier une organisation (layout) des répertoires
--enable-layout=LAYOUT
Configure le code source et les scripts de compilation de façon à ce que l'arborescence d'installation adopte l'organisation LAYOUT. Ceci vous permet de spécifier des chemins séparés pour chaque type de fichier de l'installation du serveur HTTP Apache. Le fichierconfig.layout
contient de nombreux exemples de configurations, et vous pouvez créer vos propres configurations personnalisées en vous basant sur ces exemples. Les différentes organisations contenues dans ce fichier sont enregistrées sous forme de sections <Layout FOO>...</Layout>
et référencées dans ce cas par le nom FOO
. L'organisation par défaut est Apache
.
Configuration avancée des répertoires d'installation
Pour une définition plus précise des répertoires d'installation, utilisez les options ci-dessous. Notez que les répertoires par défaut sont définis par autoconf
, et que leurs valeurs sont écrasées par les valeurs correspondantes définies lors du choix de l'organisation des répertoires (layout).
--bindir=DIR
Installe les exécutables utilisateur dans DIR. Les exécutables utilisateur sont des programmes support comme[htpasswd](../programs/htpasswd.html)
, [dbmmanage](../programs/dbmmanage.html)
, etc..., et destinés aux administrateurs du site. Par défaut,DIR est défini àEPREFIX/bin
.
--datadir=DIR
Installe les données non modifiables indépendantes de l'architecture dans DIR. Par défaut,datadir
est défini àPREFIX/share
. Cette option est fournie par autoconf et actuellement inutilisée.
--includedir=DIR
Installe les fichiers d'en-têtes C dans DIR. Par défaut, includedir
est défini àEPREFIX/include
.
--infodir=DIR
Installe la documentation info dans DIR. Par défaut, infodir
est défini àPREFIX/info
. Cette option est actuellement inutilisée.
--libdir=DIR
Installe les fichiers objet des bibliothèques dansDIR. Par défaut, libdir
est défini àEPREFIX/lib
.
--libexecdir=DIR
Installe les exécutables du programme (autrement dit les modules partagés) dans DIR. Par défaut,libexecdir
est défini àEPREFIX/modules
.
--localstatedir=DIR
Installe les données temporaires modifiables spécifiques à la machine dansDIR. Par défaut, localstatedir
est défini à PREFIX/var
. Cette option est fournie par autoconf
et est actuellement inutilisée.
--mandir=DIR
Installe les pages de manuel dans DIR. Par défaut, mandir
est défini àEPREFIX/man
.
--oldincludedir=DIR
Installe les fichiers d'en-têtes C pour les programmes autres que gcc dans DIR. Par défaut,oldincludedir
est défini à/usr/include
. Cette option est fournie parautoconf
et est actuellement inutilisée.
--sbindir=DIR
Installe les exécutables de l'administrateur système dansDIR. Ce sont les programmes du serveur comme[httpd](../programs/httpd.html)
, [apachectl](../programs/apachectl.html)
,[suexec](../programs/suexec.html)
, etc..., qui sont nécessaires à l'exécution du serveur HTTP Apache. Par défaut,sbindir
est défini àEPREFIX/sbin
.
--sharedstatedir=DIR
Installe les données modifiables indépendantes de l'architecture dans DIR. Par défaut,sharedstatedir
est défini àPREFIX/com
. Cette option est fournie parautoconf
et est actuellement inutilisée.
--sysconfdir=DIR
Installe les données non modifiables spécifiques à la machine comme les fichiers de configuration du serveurhttpd.conf
, mime.types
, etc... dansDIR. Par défaut, sysconfdir
est défini àPREFIX/conf
.
Types de systèmes
Ces options sont utilisées pour la cross-compilation du serveur HTTP Apache afin de pouvoir l'utiliser sur un autre système. Dans le cas général où la compilation et l'exécution du serveur ont lieu sur le même système, ces options ne sont pas utilisées.
--build=BUILD
Définit le type du système sur lequel les outils sont compilés. Par défaut, il s'agit de la chaîne renvoyée par le script config.guess
.
--host=HOST
Définit le type du système sur lequel le serveur s'exécutera. Par défaut, HOST est identique à BUILD.
--target=TARGET
Configure pour construire des compilateurs pour le type de système TARGET. Par défaut, TARGET est identique à HOST. Cette option est fournie parautoconf
et n'est pas requise par le serveur HTTP Apache.
Fonctionnalités optionnelles
Ces options vous permettent de configurer avec précision les fonctionnalités de votre futur serveur HTTP.
Syntaxe générale
D'une manière générale, vous pouvez utiliser la syntaxe suivante pour activer ou désactiver une fonctionnalité :
--disable-FONCTIONNALITE
Désactive la fonctionnalité FONCTIONNALITE. Identique à--enable-FONCTIONNALITE=no
.
--enable-FONCTIONNALITE[=ARG]
Active la fonctionnalité FONCTIONNALITE. La valeur par défaut de ARG est yes
.
--enable-MODULE=shared
Le module spécifié sera compilé en tant que module DSO. Par défaut, les modules activés sont liés dynamiquement.
--enable-MODULE=static
Le module correspondant sera lié statiquement.
Note
Si vous spécifiez --enable-foo
, et sifoo n'existe pas, configure
ne le signalera pas ; vous devez donc prendre soin de taper les options correctement.
Choix des modules à compiler
La plupart des modules sont compilés par défaut et ils doivent être désactivés de manière explicite ou via le mots-clé few
(voir ci-dessous --enable-modules
,--enable-mods-shared
et --enable-mods-static
pour une explication plus détaillée), ou--enable-modules=none
pour les désactiver tous.
Par défaut, les autres modules ne sont pas compilés et doivent être activés explicitement, ou en utilisant les mots-clésall
ou reallyall
pour être disponibles.
Pour déterminer quels modules sont compilés par défaut, exécutez la commande ./configure -h
ou./configure --help
, et consultez les Optional Features
. Par exemple, supposons que vous soyez intéressé par les modules mod_example1
etmod_example2
, et que vous voyiez ceci :
Optional Features: ... --disable-example1 example module 1 --enable-example2 example module 2 ...
Le module mod_example1
est ici activé par défaut, et vous devez spécifier --disable-example1
si vous ne voulez pas le compiler. Par contre, le modulemod_example2
est désactivé par défaut, et vous devez spécifier --enable-example2
si vous voulez le compiler.
Modules Multi-Processus
Les Modules Multi-Processus, ou MPMs, constituent le coeur du serveur. Un seul MPM doit être actif pour que le serveur puisse fonctionner. Vous trouverez la liste des MPMs disponibles à module index page.
Les MPMs peuvent être compilés en tant que modules DSO pour un chargement dynamique, ou liés statiquement avec le serveur, et sont activés via les options suivantes :
--with-mpm=MPM
Sélectionne le MPM par défaut pour votre serveur. Si les MPMs sont compilés en tant que modules DSO (voir--enable-mpms-shared
), cette option spécifie le MPM qui sera chargé par défaut selon le fichier de configuration. Dans le cas contraire, cette option spécifie le seul MPM disponible qui sera lié statiquement avec le serveur.
Si cette option est omise, c'est le MPM par défaut pour votre système d'exploitation qui sera utilisé.
--enable-mpms-shared=Liste de MPM
Définit une liste de MPMs à compiler en tant que modules dynamiquement partagés (DSO). Un de ces modules doit être chargé dynamiquement via la directive [LoadModule](../mod/mod%5Fso.html#loadmodule)
.
Liste de MPM est une liste, entourée d'apostrophes, de noms de MPM séparés par des espaces. Par exemple :
--enable-mpms-shared='prefork worker'
Vous pouvez aussi utiliser le mot-clé all
, ce qui aura pour effet de spécifier tous les MPMs qui supportent le chargement dynamique sur la plate-forme considérée, et de les compiler en tant que modules DSO. Par exemple :
--enable-mpms-shared=all
Modules tiers
Pour ajouter des modules tiers, utilisez les options suivantes :
--with-module=type-module:fichier-module[,type-module:fichier-module]
Ajoute un ou plusieurs modules tiers à la liste des modules liés statiquement. Le fichier source du modulefichier-module sera recherché dans le sous-répertoiretype-module de l'arborescence des sources de votre serveur HTTP Apache. S'il ne l'y trouve pas,configure
considèrera fichier-module comme un chemin de fichier absolu et essaiera de copier le fichier source dans le sous-répertoire type-module. Si ce sous-répertoire n'existe pas, il sera créé et un fichierMakefile.in
standard y sera enregistré.
Cette option est conçue pour ajouter de petits modules externes ne comportant qu'un seul fichier source. Pour des modules plus complexes, vous devrez lire la documentation du fournisseur du module.
Note
Si vous voulez compiler un module DSO (lié de manière dynamique au lieu de statique), utilisez le programme[apxs](../programs/apxs.html)
.
Options cumulatives et autres options
--enable-maintainer-mode
Active les avertissements de débogage et de compilation et charge tous les modules compilés.
--enable-mods-shared=LISTE-MODULES
Définit une liste de modules à activer et à compiler en tant que modules dynamiques partagés. Cela signifie que ces modules doivent être chargés dynamiquement en utilisant la directive [LoadModule](../mod/mod%5Fso.html#loadmodule)
.
LISTE-MODULES est une liste, entourée d'apostrophes, de noms de modules séparés par des espaces. Les noms des modules sont spécifiés sans le préfixe mod_
. Par exemple :
--enable-mods-shared='headers rewrite dav'
Vous pouvez aussi utiliser les mots-clés reallyall
,all
, most
et few
. Par exemple,
--enable-mods-shared=most
va compiler la plupart des modules en tant que modules DSO,
--enable-mods-shared=few
ne compilera qu'un jeu de modules de base.
Le jeu par défaut correspond au mot-clé most
.
Les directives [LoadModule](../mod/mod%5Fso.html#loadmodule)
correspondant aux différents modules choisis sont automatiquement générées dans le fichier de configuration principal. Par défaut, toutes ces directives sont mises en commentaire, sauf pour les modules requis ou ceux explicitement sélectionnés par un argument--enable-nom-module
du script configure. Vous pouvez modifier le jeu de modules chargé en activant ou désactivant les directives [LoadModule](../mod/mod%5Fso.html#loadmodule)
dans le fichierhttpd.conf
. En outre, les directives [LoadModule](../mod/mod%5Fso.html#loadmodule)
peuvent être activées pour tous les modules compilés via l'option--enable-load-all-modules
du script configure.
--enable-mods-static=MODULE-LIST
Cette option produit le même effet que l'option--enable-mods-shared
, à l'exception que les modules seront liés statiquement. Cela signifie que les modules spécifiés seront toujours disponibles au cours du fonctionnement de [httpd](../programs/httpd.html)
. Ils n'ont pas besoin d'être chargés via la directive [LoadModule](../mod/mod%5Fso.html#loadmodule)
.
--enable-modules=MODULE-LIST
Cette option se comporte comme--enable-mods-shared
, et va aussi lier les modules concernés dynamiquement. Le mot-clé spécial none
désactive la compilation de tous les modules.
--enable-v4-mapped
Permet aux sockets IPv6 de traiter les connexions IPv4.
--with-port=PORT
Permet de définir le port que le programme[httpd](../programs/httpd.html)
va écouter. Ce numéro de port est utilisé lors de la génération du fichier de configurationhttpd.conf
. Sa valeur par défaut est 80.
--with-program-name
Permet de définir un nom d'exécutable alternatif. Le nom par défaut est httpd
.
Paquets optionnels
Ces options permettent de définir des paquets optionnels.
Syntaxe générale
D'une manière générale, vous pouvez utiliser la syntaxe suivante pour définir un paquet optionnel :
--with-PAQUET[=ARG]
Utilise le paquet PAQUET. La valeur par défaut deARG est yes
.
--without-PAQUET
N'utilise pas le paquet PAQUET. Cette option est identique à --with-PAQUET=no
. Elle est fournie par autoconf
mais n'est pas très utile pour le serveur HTTP Apache.
Paquets spécifiques
--with-apr=REP|FICHIER
La Bibliothèque pour la portabilité d'Apache ou Apache Portable Runtime (APR) fait partie de la distribution des sources de httpd et est compilée automatiquement avec le serveur HTTP. Si vous voulez utiliser une APR déjà installée à la place, vous devez indiquer àconfigure
le chemin du scriptapr-config
. Vous pouvez spécifier le chemin absolu et le nom ou le répertoire d'installation de l'APR.apr-config
doit se trouver dans ce répertoire ou dans le sous-repertoire bin
.
--with-apr-util=REP|FICHIER
Les utilitaires pour la Bibliothèque pour la portabilité d'Apache ou Apache Portable Runtime Utilities (APU) font partie de la distribution des sources de httpd et sont compilés automatiquement avec le serveur HTTP. Si vous voulez utiliser des APU déjà installés à la place, vous devez indiquer àconfigure
le chemin du scriptapu-config
. Vous pouvez spécifier le chemin absolu et le nom ou le répertoire d'installation des APU.apu-config
doit se trouver dans ce répertoire ou dans le sous-repertoire bin
.
--with-ssl=REP
Si [mod_ssl](../mod/mod%5Fssl.html)
a été activé,configure
recherche une installation d'OpenSSL. Vous pouvez définir le répertoire de la boîte à outils SSL/TLS à la place.
--with-z=REP
configure
recherche automatiquement une bibliothèque zlib
installée si la configuration de vos sources en nécessite une (par exemple lorsque[mod_deflate](../mod/mod%5Fdeflate.html)
est activé). Vous pouvez définir le répertoire de la bibliothèque de compression à la place.
De nombreuses fonctionnalités du serveur HTTP Apache, y compris les directives [RewriteMap](../mod/mod%5Frewrite.html#rewritemap)
DBM de[mod_rewrite](../mod/mod%5Frewrite.html)
et [mod_authn_dbm](../mod/mod%5Fauthn%5Fdbm.html)
utilisent une base de données simple de la forme clé/valeur pour une recherche rapide d'informations. SDBM, inclus dans les APU, est donc toujours disponible. Si vous souhaitez utiliser d'autres types de bases de données, utilisez les options suivantes afin de les activer :
--with-gdbm[=chemin]
Si aucun chemin n'est spécifié,configure
va rechercher les fichiers d'en-têtes et les bibliothèques d'une installation DBM GNU dans les chemins standards. Avec un chemin explicite,configure
recherchera les fichiers concernés danschemin/lib
etchemin/include
. En fait,chemin permet de spécifier plusieurs chemins d'en-têtes et bibliothèques spécifiques en les séparant par des caractères ':'.
--with-ndbm[=chemin]
Identique à --with-gdbm
, mais recherche une installation de New DBM.
--with-berkeley-db[=chemin]
Identique à --with-gdbm
, mais recherche une installation de Berkeley DB.
Note
Les options DBM sont fournies par les APU et passées en paramètres à son script de configuration. Elles sont inutiles lorsqu'on utilise des APU déjà installés définis par--with-apr-util
.
Vous pouvez utiliser plusieurs implémentations DBM avec votre serveur HTTP. Le type DBM approprié sera choisi au cours de la configuration de l'exécution à chaque démarrage.
Options pour les programmes de support
--enable-static-support
Permet de compiler une version des binaires de support liés statiquement. En d'autres termes, la compilation produira un exécutable indépendant comportant toutes les bibliothèques nécessaires. Sans cette option, les binaires de supports sont liés dynamiquement.
--enable-suexec
Utilisez cette option pour activer la programme[suexec](../programs/suexec.html)
, qui vous permet de définir un uid et un gid pour les processus lancés. N'utilisez cette option que si vous maîtrisez toutes les implications en matière de sécurité de l'exécution d'un binaire suid sur votre serveur. D'autres options permettent de configurer[suexec](../programs/suexec.html)
comme décrit ci-dessous.
Il est possible de lier statiquement le binaire d'un programme support particulier en utilisant les options suivantes :
--enable-static-ab
Compile une version liée statiquement du programme[ab](../programs/ab.html)
.
--enable-static-checkgid
>Compile une version liée statiquement du programmecheckgid
.
--enable-static-htdbm
Compile une version liée statiquement du programme [htdbm](../programs/htdbm.html)
.
--enable-static-htdigest
Compile une version liée statiquement du programme [htdigest](../programs/htdigest.html)
.
--enable-static-htpasswd
Compile une version liée statiquement du programme [htpasswd](../programs/htpasswd.html)
.
--enable-static-logresolve
Compile une version liée statiquement du programme [logresolve](../programs/logresolve.html)
.
--enable-static-rotatelogs
Compile une version liée statiquement du programme [rotatelogs](../programs/rotatelogs.html)
.
Options de configuration de suexec
Les options suivantes permettent de définir avec précision le comportement du programme [suexec](../programs/suexec.html)
. Voir Configurer et installer suEXEC pour plus de détails.
--with-suexec-bin
Définit le chemin du binaire [suexec](../programs/suexec.html)
. La valeur par défaut est --sbindir
(voir Définition précise des répertoires d'installation).
--with-suexec-caller
Définit l'utilisateur qui a l'autorisation d'appeler[suexec](../programs/suexec.html)
. Il est en général souhaitable que ce soit le même que celui sous lequel [httpd](../programs/httpd.html)
s'exécute.
--with-suexec-docroot
Définit l'arborescence des répertoires dans laquelle le lancement des exécutables via [suexec](../programs/suexec.html)
est autorisé. La valeur par défaut est--datadir/htdocs
.
--with-suexec-gidmin
Définit la valeur de GID la plus basse autorisée comme valeur cible pour [suexec](../programs/suexec.html)
. La valeur par défaut est 100.
--with-suexec-logfile
Définit le nom du fichier journal de[suexec](../programs/suexec.html)
. La valeur par défaut est--logfiledir/suexec_log
.
--with-suexec-safepath
Définit la valeur de la variable d'environnementPATH
pour les processus lancés par[suexec](../programs/suexec.html)
. La valeur par défaut est/usr/local/bin:/usr/bin:/bin
.
--with-suexec-userdir
Définit le sous-répertoire du répertoire utilisateur qui contient tous les exécutables pouvant être lancés par[suexec](../programs/suexec.html)
. Cette option est nécessaire si vous souhaitez utiliser [suexec](../programs/suexec.html)
avec des répertoires utilisateurs (définis via[mod_userdir](../mod/mod%5Fuserdir.html)
). La valeur par défaut estpublic_html
.
--with-suexec-uidmin
Définit la valeur d'UID la plus basse autorisée comme valeur cible pour [suexec](../programs/suexec.html)
. La valeur par défaut est 100.
--with-suexec-umask
Définit le masque de permissions umask
pour les processus lancés par [suexec](../programs/suexec.html)
. Il correspond par défaut au masque défini par la configuration de votre système.
Variables d'environnement
Certaines variables d'environnement permettent de modifier les choix effectués par configure
, ou d'aider ce dernier à trouver les bibliothèques et programmes possédant des noms et chemins non standards.
CC
Définit la commande du compilateur C à utiliser pour la compilation.
CFLAGS
Définit les paramètres du compilateur C que vous voulez utiliser pour la compilation.
CPP
Définit la commande du préprocesseur C à utiliser.
CPPFLAGS
Définit les paramètres du préprocesseur C/C++, par exemple-Irépertoire-include
, si certains de vos fichiers d'en-têtes se trouvent dans le répertoire non standardrépertoire-include.
LDFLAGS
Définit les paramètres de l'éditeur de liens, par exemple-Lrépertoire-lib
, si certaines de vos bibliothèques se trouvent dans le répertoire non standardrépertoire-lib.