Le site configure configure l'arbre des sources pour la compilation et l'installation du serveur HTTP Apache sur votre plate-forme particulière. Diverses options permettent la compilation d'un serveur correspondant à vos exigences personnelles.

Ce script, inclus dans le répertoire racine de la distribution des sources, est destiné à la compilation sur les systèmes Unix et de type Unix uniquement. Pour les autres plateformes, consultez la documentation de la plateforme.

Synopsis

Vous devez appeler le script configure script à partir du répertoire racine de la distribution.

./configure [OPTION]... [VAR=VALUE]...

Pour affecter des variables d'environnement (par exemple CC, CFLAGS ...), spécifiez-les comme VAR=VALUE. Voir ci-dessous pour la description de certaines des variables utiles.

Options

  • Options de configuration
  • Répertoires d'installation
  • Types de systèmes
  • Caractéristiques optionnelles
  • Options pour les programmes d'assistance

Options de configuration

Les options suivantes influencent le comportement de configure lui-même.

-C
--config-cache
Il s'agit d'un alias pour --cache-file=config.cache
--cache-file=FILE
Les résultats du test seront mis en cache dans le fichier FICHIER. Cette option est désactivée par défaut.
-h
--help [short|recursive]
Affiche l'aide et quitte. Avec l'argument short seules les options spécifiques à ce paquet seront affichées. L'argument recursive affiche l'aide succincte de tous les paquets inclus.
-n
--no-create
Le site configure est exécuté normalement mais ne crée pas de fichiers de sortie. Ceci est utile pour vérifier les résultats des tests avant de générer des makefiles pour la compilation.
-q
--quiet
Ne pas imprimer checking ... messages pendant le processus de configuration.
--srcdir=DIR
Définit le répertoire DIR pour être le répertoire du fichier source. La valeur par défaut est le répertoire où configure est situé, ou le répertoire parent.
--silent
Identique à --quiet
-V
--version
Afficher les informations relatives au copyright et quitter.

Répertoires d'installation

Ces options définissent le répertoire d'installation. L'arborescence d'installation dépend de la mise en page sélectionnée.

--prefix=PREFIX
Installer les fichiers indépendants de l'architecture dans PREFIX. Par défaut, le répertoire d'installation est défini sur /usr/local/apache2.
--exec-prefix=EPREFIX
Installez les fichiers dépendant de l'architecture dans EPREFIX. Par défaut, le répertoire d'installation est défini dans le répertoire PREFIX répertoire.

Par défaut, make install installera tous les fichiers dans /usr/local/apache2/bin, /usr/local/apache2/lib etc. Vous pouvez spécifier un préfixe d'installation autre que /usr/local/apache2 en utilisant --prefixpar exemple --prefix=$HOME.

Définir une disposition de répertoire

--enable-layout=LAYOUT
Configurer le code source et les scripts de construction pour supposer une arborescence d'installation basée sur la disposition. LAYOUT. Cela vous permet de spécifier séparément les emplacements de chaque type de fichier dans l'installation du serveur HTTP Apache. L'adresse config.layout contient plusieurs exemples de configurations, et vous pouvez également créer votre propre configuration personnalisée en suivant les exemples. Les différentes configurations de ce fichier sont regroupées dans le fichier ... sections et désignées par leur nom comme dans FOO. La mise en page par défaut est Apache.

Réglage fin des répertoires d'installation

Pour un meilleur contrôle des répertoires d'installation, utilisez les options ci-dessous. Veuillez noter que les valeurs par défaut des répertoires sont définies par . autoconf et sont écrasés par le paramètre de mise en page correspondant.

--bindir=DIR
Installez les exécutables de l'utilisateur dans DIR. Les exécutables utilisateur sont des programmes de support comme htpasswd, dbmmanage, etc. qui sont utiles aux administrateurs du site. Par défaut DIR est réglé sur EPREFIX/bin.
--datadir=DIR
Installez les données indépendantes de l'architecture en lecture seule dans le fichier DIR. Par défaut datadir est réglé sur PREFIX/share. Cette option est offerte par autoconf et est actuellement inutilisée.
--includedir=DIR
Installer les fichiers d'en-tête C dans DIR. Par défaut includedir est réglé sur EPREFIX/include.
--infodir=DIR
Installez la documentation info dans DIR. Par défaut infodir est réglé sur PREFIX/info. Cette option est actuellement inutilisée.
--libdir=DIR
Installer les bibliothèques de code objet dans DIR. Par défaut libdir est réglé sur EPREFIX/lib.
--libexecdir=DIR
Installez les exécutables du programme (c'est-à-dire les modules partagés) dans le répertoire DIR. Par défaut libexecdir est réglé sur EPREFIX/modules.
--localstatedir=DIR
Installer les données modifiables d'une seule machine dans DIR. Par défaut localstatedir est réglé sur PREFIX/var. Cette option est offerte par autoconf et actuellement inutilisée.
--mandir=DIR
Installez la documentation man dans DIR. Par défaut mandir est réglé sur EPREFIX/man.
--oldincludedir=DIR
Installer les fichiers d'en-tête C pour les non-gcc en DIR. Par défaut oldincludedir est réglé sur /usr/include. Cette option est offerte par autoconf et actuellement inutilisée.
--sbindir=DIR
Installez les exécutables de l'administrateur système dans DIR. Ce sont des programmes de serveur comme httpd, apachectl, suexecetc. qui sont nécessaires pour faire fonctionner le serveur HTTP Apache. Par défaut sbindir est réglé sur EPREFIX/sbin.
--sharedstatedir=DIR
Installer les données modifiables indépendantes de l'architecture en DIR. Par défaut sharedstatedir est réglé sur PREFIX/com. Cette option est offerte par autoconf et actuellement inutilisée.
--sysconfdir=DIR
Installer des données en lecture seule sur une seule machine comme les fichiers de configuration du serveur. httpd.conf, mime.typesetc. dans DIR. Par défaut sysconfdir est réglé sur PREFIX/conf.

Types de système

Ces options sont utilisées pour effectuer une compilation croisée du serveur HTTP Apache afin de l'exécuter sur un autre système. Dans les cas normaux, lors de la construction et de l'exécution du serveur sur le même système, ces options ne sont pas utilisées.

--build=BUILD
Définit le type de système du système sur lequel les outils sont construits. Par défaut, il s'agit du résultat du script. config.guess.
--host=HOST
Définit le type de système du système sur lequel le serveur sera exécuté. HOST par défaut BUILD.
--target=TARGET
Configurer pour la construction de compilateurs pour le type de système. TARGET. La valeur par défaut est HÔTE. Cette option est offerte par autoconf et n'est pas nécessaire pour le serveur HTTP Apache.

Caractéristiques optionnelles

Ces options sont utilisées pour affiner les fonctionnalités que votre serveur HTTP aura.

Syntaxe générale

En général, vous pouvez utiliser la syntaxe suivante pour activer ou désactiver une fonctionnalité :

--disable-FEATURE
Ne pas inclure FEATURE. C'est la même chose que --enable-FEATURE=no.
--enable-FEATURE[=ARG]
Inclure FEATURE. La valeur par défaut de ARG est yes.
--enable-MODULE=shared
Le module correspondant sera construit comme module DSO. Par défaut, les modules activés sont liés dynamiquement.
--enable-MODULE=static
Le module correspondant sera lié statiquement.

Note

configure --enable-foo même si foo n'existe pas, il faut donc taper avec précaution.

Choix des modules à compiler

La plupart des modules sont compilés par défaut et doivent être désactivés explicitement ou en utilisant le mot-clé few (voir --enable-modules, --enable-mods-shared et --enable-mods-static ci-dessous pour plus d'explications) ou --enable-modules=none à supprimer en tant que groupe.

D'autres modules ne sont pas compilés par défaut et doivent être activés explicitement ou en utilisant les mots-clés. all ou reallyall pour être disponibles.

Pour savoir quels modules sont compilés par défaut, exécutez ./configure -h ou ./configure --help et regardez sous Optional Features. Supposons que vous soyez intéressé par mod_example1 et mod_example2et que vous voyez ceci :

Optional Features:
  ...
  --disable-example1     example module 1
  --enable-example2      example module 2
  ...

Puis mod_example1 est activé par défaut, et vous utiliseriez --disable-example1 pour ne pas le compiler. mod_example2 est désactivé par défaut, et vous utiliseriez --enable-example2 pour le compiler.

Modules multiprocesseurs

Les modules multiprocesseurs, ou MPM, mettent en œuvre le comportement de base du serveur. Un seul MPM doit être actif pour que le serveur puisse fonctionner. La liste des MPM disponibles apparaît sur la page d'index des modules.

Les MPM peuvent être construits en tant que DSO pour un chargement dynamique ou liés statiquement au serveur, et sont activés à l'aide des options suivantes :

--with-mpm=MPM

Choisissez le MPM par défaut pour votre serveur. Si les MPM sont construits en tant que modules DSO (cf. --enable-mpms-shared), cette directive sélectionne le MPM qui sera chargé dans le fichier de configuration par défaut. Sinon, cette directive sélectionne le seul MPM disponible, qui sera lié statiquement au serveur.

Si cette option est omise, le MPM par défaut de votre système d'exploitation sera utilisé.

--enable-mpms-shared=MPM-LIST

Activez une liste de MPM en tant que modules partagés dynamiques. L'un de ces modules doit être chargé dynamiquement à l'aide de l'option LoadModule .

MPM-LIST est une liste, séparée par des espaces, de noms de MPM entre guillemets. Par exemple :

--enable-mpms-shared='prefork worker'

En outre, vous pouvez utiliser le mot-clé spécial allqui sélectionnera tous les MPM qui supportent le chargement dynamique sur la plate-forme actuelle et les construira en tant que modules DSO. Par exemple :

--enable-mpms-shared=all

Modules tiers

Pour ajouter des modules tiers supplémentaires, utilisez les options suivantes :

--with-module=module-type:module-file[, module-type:module-file]

Ajoutez un ou plusieurs modules tiers à la liste des modules liés statiquement. Le fichier source du module module-file sera recherché dans le fichier modules/module-type de l'arborescence des sources de votre serveur HTTP Apache. S'il n'y est pas trouvé configure est considéré fichier-module comme étant un chemin de fichier absolu et essaie de copier le fichier source dans le module module-type dans le sous-répertoire. Si le sous-répertoire n'existe pas, il sera créé et rempli avec un fichier standard de type Makefile.in.

Cette option est utile pour ajouter de petits modules externes composés d'un seul fichier source. Pour des modules plus complexes, vous devez lire la documentation du fournisseur.

Note

Si vous voulez construire un module DSO au lieu d'utiliser un module lié statiquement. apxs.

Options cumulatives et autres

--enable-maintainer-mode
Activez le débogage et les avertissements de temps de compilation et chargez tous les modules compilés.
--enable-mods-shared=MODULE-LIST

Définit une liste de modules à activer et à construire en tant que modules partagés dynamiques. Cela signifie que ces modules doivent être chargés dynamiquement en utilisant l'option LoadModule de la directive LoadModule .

MODULE-LIST est une liste de noms de modules séparés par des espaces et entourés de guillemets. Les noms de modules sont donnés sans le préfixe mod_. Par exemple :

--enable-mods-shared='headers rewrite dav'

En outre, vous pouvez utiliser les mots-clés spéciaux reallyall, all, most et few. Par exemple,

--enable-mods-shared=most

compilera la plupart des modules et les construira en tant que modules DSO,

--enable-mods-shared=few

ne compilera qu'un ensemble très basique de modules.

L'ensemble par défaut est most.

Le site LoadModule pour les modules choisis seront automatiquement générées dans le fichier de configuration principal. Par défaut, toutes ces directives seront commentées, sauf pour les modules qui sont soit requis, soit explicitement sélectionnés par un configure --enable-foo argument. Vous pouvez changer l'ensemble des modules chargés en activant ou en désactivant la directive LoadModule dans httpd.conf. En outre, les directives LoadModulepour tous les modules construits peuvent être activées via l'option configure --enable-load-all-modules.

--enable-mods-static=MODULE-LIST
Cette option se comporte de manière similaire à --enable-mods-sharedmais liera les modules donnés de manière statique. Cela signifie que ces modules seront toujours présents lors de l'exécution de la commande httpd. Ils n'ont pas besoin d'être chargés avec LoadModule.
--enable-modules=MODULE-LIST
Cette option se comporte comme --enable-mods-shared, et liera également les modules donnés de manière dynamique. Le mot-clé spécial none désactive la construction de tous les modules.
--enable-v4-mapped
Autorise les sockets IPv6 à gérer les connexions IPv4.
--with-port=PORT
Ceci définit le port sur lequel httpd écoutera. Ce numéro de port est utilisé lors de la génération du fichier de configuration. httpd.conf. La valeur par défaut est 80.
--with-program-name
Définir un nom d'exécutable alternatif. La valeur par défaut est httpd.

Paquets optionnels

Ces options sont utilisées pour définir des paquets optionnels.

Syntaxe générale

En général, vous pouvez utiliser la syntaxe suivante pour définir un paquetage optionnel :

--with-PACKAGE[=ARG]
Utilisez le paquet PACKAGE. La valeur par défaut de ARG est yes.
--without-PACKAGE
Ne pas utiliser le paquet PACKAGE. C'est la même chose que --with-PACKAGE=no. Cette option est fournie par autoconf mais n'est pas très utile pour le serveur HTTP Apache.

Paquets spécifiques

--with-apr=DIR|FILE
Le site Apache Portable Runtime (APR) fait partie de la distribution des sources de httpd et sera automatiquement construit avec le serveur HTTP. Si vous voulez utiliser un APR déjà installé à la place, vous devez dire à configure le chemin vers le fichier apr-config du script. Vous pouvez définir le chemin absolu et le nom ou le répertoire de l'APR installé. apr-config doit exister dans ce répertoire ou dans le sous-répertoire bin.
--with-apr-util=DIR|FILE
Les Apache Portable Runtime Utilities (APU) font partie de la distribution source de httpd et seront automatiquement construits avec le serveur HTTP. Si vous voulez utiliser un APU déjà installé à la place, vous devez indiquer à configure le chemin vers le apu-config script. Vous pouvez définir le chemin et le nom absolus ou le répertoire de l'APU installé. apu-config doit exister dans ce répertoire ou dans le sous-répertoire bin.
--with-ssl=DIR
Si mod_ssl a été activé configure recherche un OpenSSL installé. Vous pouvez définir le chemin du répertoire de la boîte à outils SSL/TLS à la place.
--with-z=DIR
configure recherche automatiquement une version installée de zlib installée si votre configuration source en requiert une (par exemple, lorsque la bibliothèque mod_deflate est activé). Vous pouvez définir le chemin du répertoire vers la bibliothèque de compression à la place.

Plusieurs fonctionnalités du serveur HTTP Apache, notamment . mod_authn_dbm et mod_rewrite's DBM RewriteMap utilisent des bases de données clés/valeurs simples pour des recherches rapides d'informations. SDBM est inclus dans l'APU, cette base de données est donc toujours disponible. Si vous souhaitez utiliser d'autres types de bases de données, utilisez les options suivantes pour les activer :

--with-gdbm[=path]
Si non chemin d'accès n'est spécifié, configure recherchera les fichiers d'inclusion et les bibliothèques d'une installation GNU DBM dans les chemins de recherche habituels. Un chemin explicite explicite entraînera configure à chercher dans path/lib et path/include pour trouver les fichiers pertinents. Enfin, le fichier chemin d'accès peut spécifier des chemins d'inclusion et de bibliothèque spécifiques séparés par un deux-points.
--with-ndbm[=path]
Comme --with-gdbmmais recherche une nouvelle installation de DBM.
--with-berkeley-db[=path]
Comme --with-gdbm, mais recherche une installation de Berkeley DB.

Note

Les options DBM sont fournies par l'APU et transmises à son script de configuration. Elles sont inutiles lors de l'utilisation d'une APU déjà installée et définie par... --with-apr-util.

Vous pouvez utiliser plus d'une implémentation de DBM avec votre serveur HTTP. Le type de DBM approprié sera configuré dans la configuration de l'exécution à chaque fois.

Options pour les programmes de support

--enable-static-support
Construire une version liée statiquement des binaires de support. Cela signifie qu'un exécutable autonome sera construit avec toutes les bibliothèques nécessaires intégrées. Sinon, les binaires de support sont liés dynamiquement par défaut.
--enable-suexec
Utilisez cette option pour activer suexec, qui vous permet de définir l'uid et le gid pour les processus spawnés. N'utilisez pas cette option si vous ne comprenez pas toutes les implications de sécurité de l'exécution d'un binaire suid sur votre serveur. Autres options à configurer suexec sont décrites ci-dessous.

Il est possible de créer un binaire lié statiquement d'un seul programme de support en utilisant les options suivantes :

--enable-static-ab
Construire une version liée statiquement de ab.
--enable-static-checkgid
Construire une version liée statiquement de checkgid.
--enable-static-htdbm
Construire une version liée statiquement de htdbm.
--enable-static-htdigest
Construire une version liée statiquement de htdigest.
--enable-static-htpasswd
Construire une version liée statiquement de htpasswd.
--enable-static-logresolve
Construire une version liée statiquement de logresolve.
--enable-static-rotatelogs
Construire une version liée statiquement de rotatelogs.

suexec options de configuration

Les options suivantes sont utilisées pour régler avec précision le comportement de suexec. Voir Configuration et installation de suEXEC pour de plus amples informations.

--with-suexec-bin
Ceci définit le chemin d'accès à suexec binaire. La valeur par défaut est --sbindir (voir Réglage fin des répertoires d'installation).
--with-suexec-caller
Ceci définit l'utilisateur autorisé à appeler suexec. Il devrait être le même que l'utilisateur sous lequel httpd s'exécute normalement.
--with-suexec-docroot
Ceci définit l'arborescence des répertoires sous laquelle suexec l'accès est autorisé pour les exécutables. La valeur par défaut est --datadir/htdocs.
--with-suexec-gidmin
Définir ceci comme le GID le plus bas autorisé à être un utilisateur cible pour suexec. La valeur par défaut est 100.
--with-suexec-logfile
Ceci définit le nom de fichier de l'application suexec fichier journal. Par défaut, le fichier journal est nommé suexec_log et situé dans --logfiledir.
--with-suexec-safepath
Définissez la valeur de la variable d'environnement PATH à définir pour les processus lancés par suexec. La valeur par défaut est /usr/local/bin:/usr/bin:/bin.
--with-suexec-userdir
Ceci définit le sous-répertoire sous le répertoire de l'utilisateur qui contient tous les exécutables pour lesquels suexec l'accès est autorisé. Ce paramètre est nécessaire lorsque vous voulez utiliser suexec conjointement avec des répertoires spécifiques à l'utilisateur (comme le prévoit le paramètre mod_userdir). La valeur par défaut est public_html.
--with-suexec-uidmin
Définissez ceci comme l'UID le plus bas autorisé à être un utilisateur cible de suexec. La valeur par défaut est 100.
--with-suexec-umask
Définir umask pour les processus lancés par suexec. Il s'agit par défaut des paramètres de votre système.

Variables d'environnement

Il existe quelques variables d'environnement utiles pour remplacer les choix faits par configure ou pour l'aider à trouver des bibliothèques et des programmes avec des noms ou des emplacements non standard.

CC
Définissez la commande du compilateur C à utiliser pour la compilation.
CFLAGS
Définissez les drapeaux du compilateur C que vous voulez utiliser pour la compilation.
CPP
Définissez la commande du préprocesseur C à utiliser.
CPPFLAGS
Définissez les drapeaux du préprocesseur C/C++, par exemple. -Iincludedir si vous avez des en-têtes dans un répertoire non standard. includedir.
LDFLAGS
Définissez les drapeaux de l'éditeur de liens, par exemple -Llibdir si vous avez des bibliothèques dans un répertoire non standard. libdir.