Ces paramètres de configuration contrôlent les fonctionnalités premières d'Apache, et sont toujours disponibles.
AccessConfig conf/access.conf
Le serveur lit dans ce fichier des directives supplémentaires après avoir ouvert le fichier ResourceConfig. nomfichier est exprimé relativement à ServerRoot. Cette fonctionnalité peut être désactivée en écrivant :
AccessConfig /dev/null
Historiquement, ce fichier ne contient que des sections <Directory>; en fait, il pourra maintenant contenir toute directive "serveur" autorisée dans le contexte de la configuration serveur.
AccessFileName .htaccess
Lorsqu'il retourne un document au client, le server cherche le premier fichier de contrôle d'accès existant dans cette liste dans chacun des répertoires inscrit dans le chemin d'accès menant au document, pour déterminer si l'accès est autorisé dan chacun de ces répertoires. Par exemple:
AccessFileName .acl
Avant de servir le document /usr/local/web/index.html
, le serveur lira les fichiers /.acl
, /usr/.acl
, /usr/local/.acl
et /usr/local/web/.acl
à la recherche de directives, sauf si celles-ci ont été désactivées par l'écriture
<Directory />
AllowOverride None
</Directory>
Le serveur peut intégrer des modules compilés qui ne sont pas mis en service. Cette directive peut être utilisée pour activer ou désactiver ces modules. Le serveur est installé avec une liste pré-configurée de modules à activer; cette liste peut être effacée par la directive ClearModuleList.
AllowOverride All
Lorsque le serveur trouve un fichier .htaccess (comme spécifié par AccessFileName) il doit savoir lesquelles des directives declarées dans ce fichier peuvent outrepasser les droits fixés par des directives précédentes.
Surcharge peut être pris comme None
, auquel cas le serveur
ne lit pas le fichier, All
auquel cas le serveur prendra en compte toutes les directives dans ce fichier, ou encore une ou plusieurs instances de ce qui suit :
Cette directive indique le nom du schéma d'autorisation pour un répertoire. Ce schéma sera donné au client de sorte que l'utilisateur sache quel nom et quel mot de passe envoyer. Pour fonctionner correctement, elle devra être accompagnée des directives AuthType et require, et de directives telles que AuthUserFile et AuthGroupFile.
Cette directive selectionne le type d'authentification pour un répertoire. Seul le type Basic
est actuellement implémenté. Pour fonctionner correctement, elle devra être accompagnée des directives AuthName et require, et de directives telles que AuthUserFile et AuthGroupFile.
BindAddress *
Un serveur http sous Unix® peut soit "écouter" toutes les adresses IP de la machine sur lequel il est implanté, ou uniquement une ou quelques unes de ces adresses. Saddr peut être
Si la valeur est *, alors le serveur écoutera toutes les adresses IP ; dans le cas contraire, il n'écoutera que les adresses IP spécifiées.
Une et une seule directive BindAddress peut être utilisée. Pour contrôler plus finement quels ports et adresses Apache écoute, utilisez la directive Listen au lieu de BindAddress.
BindAddress peut être utilisée comme alternative à l'implantation d'hôtes virtuels utilisant des serveurs multiples indépendants, soit au lieu d'utiliser les sections <VirtualHost>.
Voir aussi: Apache et DNS
Voir aussi: Configurer les ports et adresses utilisés par Apache
Le serveur dispose à l'installation d'une liste pré-configurée de modules activés. Cette directive efface cette liste. Il est supposé que cette liste sera reconstruite à partir de directives AddModule.
ContentDigest off
Compatibilité : ContentDigest n'est disponible qu'à partir de la version 1.1 d'Apache
Cette directive active la génération d'en-têtes Content-MD5
conformes aux RFC1864 et RFC2068.
MD5 est un algorithme permettant d'extraire un "résumé" à partir d'un bloc de données de longueur arbitraire, avec un degré de confiance suffisant dans la mesure ou une moindre altération dans les données sera reflétée par un changement dans le "résumé".
L'en-tête Content-MD5
procure un test de l'intégrité de message de bout en bout (MIC) sur le corps d'entité. Un proxy ou client pourra tester cet en-tête pour détecter des modifications accidentelles du corp d'entité en cours de transfert. Exemple d'en-tête:
Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
Notez que ceci peut réduire les performances de votre serveur dans la mesure où le "résumé" est calculé à chaque requête (il ne peut être "caché").
Content-MD5
n'est émis que pour des documents servis par le noyau, et à l'exception de tout module. Par exemple, les documents SSI, la sortie de scripts CGI, et des réponses en flux d'octet binaire ne pourront utiliser cet en-tête.
Elle définit le répertoire auquel Apache tente d'accéder avant d'enregistrer un "core dump". Par défaut, il s'agit du répertoire ServerRoot, cependant, si ce répertoire n'est pas accessible en écriture par l'utilisateur sous lequel tourne le serveur, le "core dump" ne pourra être généré. Si vous souhaîtez dans ce cas obtenir un "core dump" pour des nécessités de débogage, vous pouvez utiliser cette directive pour spécifier un autre répertoire dans lequel vous avez toute autorisation pour écrire.
DefaultType text/html
Il peut arriver qu'une requête demande au serveur un document dont le type ne peut être déterminé par les tables de MIME.
Le serveur doit informer le client du type de contenu (Content-type) du document. Dans le cas d'un type inconnu, il utilisera le DefaultType. Par exemple :
DefaultType image/gif
sera approprié dans un répertoire contenant une majorité d'images gif dont certaines ne présentent pas explicitement l'extension .gif.
<Directory> et </Directory> sont utilisés pour "encapsuler" un groupe de directives applicables uniquement au réprtoire indiqué ainsi qu'à ses sous-répertoires. Toute directive autorisée dans un contexte de répertoire peut apparaître entre ces deux balises. nomrépertoire est soit le chemin entièrement qualifié du répertoire, ou un motif. Dans un motif, '?' remplace un caractère unique quelconque, et '*' remplace toute séquence de zéro ou plus caractères quelconques. Sur Apache 1.3, vous pouvez aussi utiliser les plages de caractères '[]' comme dans un shell UNIX. De plus aucun des métacaractères ne peut remplacer un '/', ce qui correspond plus intimement à la réaction des shells UNIX. Exemple:
<Directory /usr/local/httpd/htdocs>
Options Indexes FollowSymLinks
</Directory>
A partir d'Apache 1.2 : Peuvent être utilisées les "expressions régulières", lesquelles devront être précédées du caractère correspondrait à des répertoires dans /www/ dont le nom serait constitué de trois digits.
Si plusieurs sections de répertoires pointent sur le répertoire d'un document (ou l'un de ses pères) sans qu'il s'agisse d'une expression régulière, alors les directives sont appliquées selon la loi de "la plus courte qualification d'abord", combinées aux directives des fichiers .htaccess. Par exemple, avec l'écriture
pour le contrôle d'accès au document Les sections exprimant des répertoires sous forme d'expressions régulières sont gérés légèrement différemment par Apache 1.2 et 1.3. Sous Apache 1.2, elles sont combinées aux sections "normales" et s'appliquent dans l'ordre où elles apparaissent dans le fichier de configuration. Elles ne s'appliquent qu'une fois, seulement pour celles qui font partie de la section "à plus courte correspondance". Sous Apache 1.3 les sections basées sur des expressions régulières ne sont pas évaluées tant que toutes les sections "normales" n'ont pas été considérées. A ce moment, les sections "régulières" sont traitées dans l'ordre où elles apparaissent dans le fichier de configuration. Par exemple, avec l'écriture
Supposez que le nom de fichier demandé soit Notez que l'accès par défaut d'Apache pour les sections <Directory> est puis désactiver sélectivement la protection pour les répertoires devant rester accessibles. Voir la page Security Tips pour plus de détails.
Les sections de répertoires apparaissent habituellement dans le fichier access.conf, mais peuvent être présentes dans n'importe quel fichier de configuration. Les directives <Directory> ne peuvent être imbriquées, et ne peuvent petre incluses dans des sections <Limit>.
Voir aussi : Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée.
<DirectoryMatch> et </DirectoryMatch> sont utilisés pour "encapsuler" un groupe de directives s'appliquant uniquement aux répertoires nommés et ses sous-répertoires, de manière identique à la directive <Directory>. Cependant, elle n'accepte comme argument qu'une expression régulière. Par exemple :
correspondrait aux répertoires de /www/ dont le nom consiste en trois digits.
Voir aussi :
<Directory> pour une description de la manière dont les
définitions par expression régulière sont combinées aux sections <Directory> "normales".
Cette directive définit le répertoire racine à partir duquel httpd va distribuer les fichiers. Sauf si le répertoire est pointé par une directive telle que Alias, le serveur ajoute le chemin relatif mentionnée dans l'URL présentée à cette racine pour établir le chemin complet jusqu'au document. Exemple :
Un accès à Un bogue existe pour cette directive mod_dir, laquelle fonctionne mal lorsque DocumentRoot est donnée avec un '/' final (c-à-d. "DocumentRoot /usr/web/"). Il vaut mieux éviter cette écriture.
Dans l'éventualité d'un problème ou d'une erreur, Apache peut exécuter l'une des quatre actions suivantes :
La première option est celle par défaut, les options 2 à 4 seront choisies par mention de la directive ErrorDocument, suivi du code HTTP d'erreur et du message textuel d'erreur, ou une URL.
Messages dans ce contexte, commence par un guillemet simple ( L'URL peut débuter par un slash (/) pour des URL locales, ou être complètement qualifiées. Exemples:
Notez que lorsque vous spécifiez un ErrorDocument qui pointe vers une URL externe (c-à-d. toute adresse commençant par quelque chose du style "http:") Apache émettra une requête de redirection au client pour lui indiquer où trouver le document, même si ce document est sur le serveur local et donc en théorie directement accessible... Ceci a plusieurs implications, dont la plus importante est que si vous utilisez l'écriture "ErrorDocument 401" alors il est impératif d'utiliser une URL locale. Ceci est induit par la nature des schémas d'authentification de base d'HTTP.
Voir aussi: documentation sur les réponses personnalisées.
Cette directive définit le nom du fichier dans lequel le serveur marque la trace des erreurs rencontrées. Si le nom de fichier ne commence pas par un slash (/), alors la partie "chemin d'accès" est considérée relativement à ServerRoot. Exemple:
Cette expression a pour effet de désactiver la trace d'erreurs.
Sécurité : Voir la page note sur la securité pour plus d'information concernant une possibilité de brêche de sécurité si le répertoire d'accueil des fichiers de trace peut être écrit par tout autre utilisateur que le propriétaire du processus serveur.
La directive <Files> permet une gestion de contrôle d'accès fichier par fichier. Elle est comparable aux directives <Directory> et <Location>. Elle doit s'apparier à une directive </Files>. Les directives applicables au fichier indiqué sont encapsulées entre ces deux balises. Les sections <Files> sont traitées dans l'ordre où elles apparaissent dans le fichier de configuration, une fois traitées les sections <Directory> et les fichiers .htaccess, mais avant les sections <Location>.
L'argument filename peut inclure un nom de fichier, où un motif, dans lequel '?' correspond à tout caractère unique quelconque, et '*' correspond à une séquence de zéro à un nombre quelconque de caractères. Les "expressions régulières" peuvent aussi être utilisées, pourvu qu'elles soient précédées du caractère correspondrait à la majorité des fichiers graphiques utilisés sur Internet. A partir de la version 1.3 d'Apache, l'usage de la directive <FilesMatch> est cependant préférable.
Notez que, contrairement aux sections <Directory> et <Location>, les sections <Files> peuvent apparaître dans des fichiers Voir aussi : Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée
La directive <FilesMatch> permet un contrôle d'accès fichier par fichier, tout comme la directive <Files>. Cependant, elle n'accepte qu'un argument sous forme d'expression régulière. Par exemple :
qui correspondrait à la plupart des fichiers graphiques utilisés sur Internet.
Voir aussi : Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée
La directive Group définit le groupe dont les requêtes seront traitées par le serveur. Pour utiliser cette directive, le serveur stand-alone doit tout d'abord être exécuté par l'utilisateur "root". groupeUnix est à choisir parmi :
Il est recommendé de créer un nouveau groupe d'utilisateurs pour les utilisateurs exécutant le serveur. Certains administrateurs assignent le serveur à l'utilisateur Note : si vous démarrez le serveur sous un compte utilisateur autre que "root", la commutation sur un autre groupe échouera, et le groupe utilisé restera le groupe initial de l'utilisateur.
Note spéciale : L'utilisation de cette directive dans un contexte <VirtualHost> nécessite un suEXEC wrapper correctement configuré. De cette manière et dans ce contexte, seul le groupe dans lequel sont exécutés les CGI sont affectés. Toute requête autre que CGI sont toujours lancées dans le groupe
défini par la directive Group principale.
Sécurité : Voir Utilisateur pour une discussion plus détaillée sur les aspects utilisateurs.
Cette directive autorise la résolution DNS pour la trace d'accès (et pour les passer aux CGI/SSI en Indépendamment du mode choisi, lorsque mod_access est utilisé pour faire du contrôle d'accès par nom d'hôte, une résolution inverse double sera effectuée. Ceci est indispensable pour des raisons de sécurité. Notez que le résultat de cette résolution inverse double n'est en général pas accessible sauf si l'option HostnameLookups double est activée. Par exemple, si l'option est simplement HostnameLookups on et une requête est reçue vers un objet soumis à des restrictions quant aux noms d'hôtes, et quelque soit le résultat de la réslution inverse double, les CGI recevront le résultat de la résolution inverse dans la variable d'environnement Par défaut, l'état choisi était
Cette directive autorise une trace conforme à la RFC1413 du nom d'utilisateur pour chaque connexion, lorsque la machine cliente exécute identd ou un procesus similaire. Cette information est tracée dans le fichier Cette information n'est absolument pas certifiée et ne peut être considérée que pour une analyse sommaire.
Notez que ce fontionnement peut rallonger notablement les délais d'accès à votre serveur dans la mesure où chaque requête nécessite l'exécution d'une résolution. Lorsque des "firewalls" sont présents chaque résolution peut éventuellement échouer et ajouter ainsi 30 secondes d'attente pour chaque accès. En conclusion, cette option n'est en général pas opportune pour des serveurs Internet ouverts au public.
La section <IfModule test>...</IfModule> permet de rendre conditionnelles un groupe de directives. Les directives à l'intérieur d'une section IfModule ne sont considérées que si le test est vérifié. Si test vaut faux, toute directive inclue entre la balise de début et celle de fin sont ignorées.
Le test d'une section <IfModule> peut prendre l'une des formes suivantes :
Dans le premier cas, les directives entre les deux balises de début et de fin ne sont traitées que si le module indiqué par nomModule est compilé dans votre version d'Apache. La seconde forme inverse le sens du test, et ne traite les directives que si le module nomModule n'est pas compilé.
L'argument nomModule spécifie un nom de module par son nom de fichier source, tel qu'appelé par la compilation. Par exemple, Les sections <IfModule> peuvent être imbriquées, ce qui peut être utile pour implémenter simplement des tests multi-modules.
Cette directive permet l'inclusion d'autres fichiers de configuration à partir d'autres fichiers de configuration serveur.
Cette directive apporte le support Keep-Alive.
Sous Apache 1.1: Mettre requêtesMax au nombre maximum de requêtes qu'Apache peut traiter par connexion rémanente. Une limitation est imposée pour éviter qu'un client ne vienne asphixier votre serveur de ressources. Mettre un Apache 1.2 et postérieur: Mettre à
Le nombre de secondes pendant lesquelles Apache attendra une requête postérieure avant de rompre une connexion. Dès qu'une requête est reçue, la valeur de la temporisation spécifiée par la directive Timeout s'applique.
<Limit> et </Limit> sont utilisées pour "encapsuler" un groupe de directives de contrôle d'accès ne s'appliquant uniquement qu'aux méthodes d'accès HTTP spécifiées par méthode. Toute directive autre qu'une autre directive <Limit> ou une directive <Directory> peut être utilisée; la majorité de ces directives ne seront pas affectées par <Limit>. Exemple:
Si une directive de contrôle d'accès apparaît en dehors d'une section <Limit>, alors elle s'applique à toutes les méthodes d'accès. Les méthodes possibles peuvent être l'une des suivantes : GET, POST, PUT, DELETE, CONNECT ou OPTIONS. Si la méthode GET est mentionnée, la restriction s'appliquera aussi aux requêtes HEAD. Si vous souhaitez implémenter une restriction pour toutes les méthodes, n'incluez aucune section <Limit>.
La directive Listen enjoint Apache à écouter plus d'une adresse IP ou port; par défaut Apache répond aux requêtes reçues sur toutes les interfaces IP, mais seulement celles arrivant sur le port donné par la directive Port.
Listen peut être utilisée à la place de BindAddress et Port. Elle indique au serveur d'accepter des requêtes entrantes sur le port spécifié ou sur une combinaison adresse-port. Si le premier format est utilisé (avec seule mention d'un numéro de port), le serveur "écoutera" tous les ports spécifiés sur chacune des interfaces IP qu'il connaît, plutôt que sur le port donné par la directive Port. Si une adresse IP
adresse IP est précisée en complément, le serveur restreindra son écoute à la combinaison adresse-port précisée.
Notez que vous avez toujours besoin de la directive Port qui permettent à Apache de générer les URL de retour vers votre serveur.
Plusieurs directives Listen peuvent être utilisées pour spécifier un ensemble d'adresses et de ports à écouter. Le serveur répondra aux requêtes reçues sur n'importe laquelle des combinaisons adresse-port ainsi spécifiée.
Par exemple, pour autoriser le serveur à accepter des connexions sur les ports 80 et 8000, écrire :
Pour autoriser un serveur à accepter des connexions sur deux "sockets" qualifiés, écrire :
Voir aussi: Apache et DNS
La longueur maximale de la file d'attente des connexions en attente. En général, aucun ajustement n'est nécessaire, cependant, il est souhaitable sur certains systèmes d'augmenter cette longueur de file pour répondre à des attaques TCP SYN. Voir les paramètres backlog dans l'appel système
La directive <Location> permet d'instaurer un contrôle d'accès sur une base URL. Elle est comparable à la directive <Directory>, et doit s'apparier à une directive </Location>. Les directives s'appliquant à l'URL précisée seront à inclure entre ces deux balises. Les sections <Location> sont traitées dans l'ordre où elles apparaissent dans le fichier de configuration, une fois les sections <Directory> et les fichiers Notez que, du fait du fontionnement d'HTTP, le préfixe d'URL devra, sauf pour des requêtes à un proxy, être de la forme Apache 1.2 et plus :
Des expression régulières peuvent être utilisées, à condition de les faire précéder du caractère correspondrait à des URL contenant la sous-chaîne "/extra/data" ou "/special/data". Cependant, sous Apache 1.3, l'utilisation de la directive <LocationMatch> est conseillée.
La fonctionnalité Location est particulièrement pratique lorsque combinée à la directive SetHandler. Par exemple, pour permettre des requêtes sur les rapports d'état, mais ne les autoriser que pour des agents requérant à partir du domaine foo.com, vous pourriez écrire :
Voir aussi: Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée.
La directive <LocationMatch> permet l'établissement d'un contrôle d'accès sur une base URL, d'une façon identique à la directive <Location>. Cependant, elle n'accepte qu'une expression régulière comme argument. Par exemple :
La directive LockFile indique le chemin d'accès du fichier de verrouillage utilisé lorsqu'Apache est compilé en mode
La directive MaxClients indique le nombre limite de requêtes simultanées pouvant être acceptées par le serveur ; il représente le nombre maximum de processus serveur fils qui peuvent tourner à un instant donné.
La directive MaxKeepAliveRequests limite le nombre de requêtes permises pour une connexion unique lorsque la directive KeepAlive est activée. Si nombre vaut "
La directive MaxRequestsPerChild indique le nombre limite de requêtes qu'un processus serveur fils peut traîter. Après MaxRequestsPerChild requêtes, ce processus fils meurt. Si ce paramètre est fixé à 0, alors les processus fils ne meurent jamais.
Le fait de mettre MaxRequestsPerChild à une valeur non nulle a deux conséquences bénéfiques :
La directive MaxSpareServers indique le nombre maximal de processus fils en attente. Un processus en attente est un processus qui existe, mais qui ne traite pas de requête. S'il existe plus de MaxSpareServers de ces processus, alors le père viendra tuer les processus en supplémentaires.
L'activation de cette fonctionnalité ne devrait être nécessaire que sur les site vraiment très chargés. Régler ce paramètre sur une grande valeur est de toutes façon toujours une mauvaise idée.
Voir aussi MinSpareServers et StartServers.
La directive MinSpareServers indique le nombre minimum de processus fils en attente qu'un serveur pourra conserver. S'il existe moins de MinSpareServers processus serveurs fils en attente, le processus père recréera des processus fils au rythme de 1 par seconde.
L'activation de cette fonctionnalité ne devrait être nécessaire que sur des sites très chargés. Régler ce paramètre sur une grande valeur est de toutes façons toujours une mauvaise idée.
Voir aussi MaxSpareServers et StartServers.
La directive NameVirtualHost est nécessaire si vous souhaitez configurer des hôtes virtuels nommés.
Bien que addr puisse être exprimée comme un nom d'hôte, il est recommandé d'utiliser une adresse IP, exemple :
Avec cette directive NameVirtualHost, l'adresse nommée par le nom de votre hôte virtuel se résout. Si vous exploitez plusieurs hôtes nommés sur des adresses multiples, répétez cette directive autant de fois que nécessaire (pour chaque adresse).
En option, vous pouvez préciser un numéro de port sur lequel l'hôte virtuel nommé sera atteint, par exemple :
La directive Options contrôle quelles fonctions du serveur sont disponibles dans un répertoire particulier.
option peut valoir Note: même si le serveur suit le lien symbolique, il ne doit pas changer le chemin d'accès afin de ne pas entrer en contradiction avec les sections <Directory>.
Normalement, si plusieurs options Par exemple, sans symboles + ni - :
seul alors les options
La directive PidFile définit le fichier dans lequel le serveur enregistre l'identificateur de processus du démon. Si le nom de fichier ne commence pas par un slash (/) alors le fichier est défini relativement au ServerRoot. Le fichier PidFile n'est utilisé que dans le mode standalone.
Il est souvent utile de pouvoir envoyer un signal au serveur, pour qu'il referme et réouvre ses fichiers ErrorLog et TransferLog, et relise ses fichiers de configuration. Ceci peut être fait en envoyant un signal SIGHUP (kill -1) au processus identifié par l'identificateur de processus marqué dans PidFile.
Le fichier PidFile est concerné par les mêmes problèmes d'emplacement et de securité que les fichiers de trace.
numéro est un nombre compris entre 0 et 65535; certains numéros de ports (surtout en dessous de 1024) sont réservés pour des protocoles spécifiques. Une liste des ports prédéfinis est consultable dans la RFC 1340 "Assigned Numbers" La directive Port a deux comportements, le premier est nécessaire pour assurer la compatibilité NCSA (et qui peut préter à confusion dans le contexte d'Apache).
Dans aucun cas une définition du Port ne définit à quel port un VirtualHost répond, la directive VirtualHost elle-même se chargeant de cette définition.
Le comportement premier de la directive Port doit être considéré comme similaire à celui de la directive ServerName. ServerName et Port spécifient conjointement ce que vous considérez être l'adresse canonique du serveur.
Le Port 80 est l'un des ports prédéfinis d'Unix. Tous les ports numérotés en dessous de 1024 sont réservés à un usage système, c-à-d. que des utilisateurs non privilégiés (non-root) ne peuvent les utiliser ; ces derniers peuvent par contre utiliser des ports de plus haut rang. Pour utiliser le port 80, le serveur doit être exécuté sous Si vous ne pouvez utiliser le port 80, choisissez tout autre port libre. Les utilisateurs non-root devront choisir un numéro de port supérieur à 1023, 8000 par exemple.
Cette directive choisi quels utilisateurs autorisés peuvent accéder à un répertoire. Les syntaxes valides sont :
Seuls les utilisateurs nommés peuvent accéder au répertoire.
Seuls les utilisateurs des groupes cités peuvent accéder au répertoire.
Tout utilisateur reconnu peut accéder au répertoire (par opposition aux non utilisateurs).
Si Pour fonctionner correctement, la directive Require doit être accompagné de directives AuthName et AuthType, et de directives de type AuthUserFile et AuthGroupFile (servant à définir les utilisateurs et les groupes).
Le serveur lit dans ce fichier des directives supplémentaires, après avoir lu le fichier Historiquement, ce fichier contenait essentiellement les directives autres que celles servant à la configuration du serveur ou les sections <Directory> ; en fait, il peut contenir maintenant toute directive admise dans le contexte configuration serveur.
Voir aussi AccessConfig.
Accepte 1 ou 2 parametères. Le premier paramètre indique la limite logicielle pour tous les processus et le second paramètre la limite supérieure en termes de ressources. Chacun des paramètres peut être exprimé par un nombre, ou max pour indiquer au serveur que la limite est celle imposée par le système d'exploitation. La limite supérieure en ressource ne peut être atteinte que si le serveur tourne sous root, ou éventuellement pendant la phase de démarrage.
La limite de ressources CPU est exprimée en secondes par processus.
Voir aussi RLimitMEM ou RLimitNPROC.
Accepte 1 ou 2 paramètres. Le premier paramètre fixe la limite logicielle en ressources mémoire pour tous les processus tandis que le second paramètre fixe la limite absolue de ressources mémoire. Chaque paramètre peut être un nombre, ou max pour indiquer au serveur que la limite est fixée par le système d'exploitation. La limite supérieure en ressource ne peut être atteinte que si le serveur tourne sous root, ou éventuellement pendant la phase de démarrage.
Les ressources mémoire sont exprimées en octets par processus.
Voir aussi RLimitCPU ou RLimitNPROC.
Accepte 1 ou 2 paramètres. Le premier paramètre fixe la limite logicielle en ressources pour tous les processus tandis que le second paramètre fixe la limite absolue de ressources mémoire. Chaque paramètre peut être un nombre, ou max pour indiquer au serveur que la limite est fixée par le système d'exploitation. La limite supérieure en ressource ne peut être atteinte que si le serveur tourne sous root, ou éventuellement pendant la phase de démarrage.
Cette limite contrôle le nombre de processus maximum par utilisateur.
Note : Si les processus CGI ne tournent pas sous un autre utilisateur que l'utilisateur du serveur, cette directive limitera aussi le nombre de processus que le serveur lui-même peut créer. Cette situation sera indiquée de façon évidente par des messages d'erreur cannot fork dans le fichier error_log.
Voir aussi RLimitMEM ou RLimitCPU.
Politique d'accès si à la fois 'allow' et 'require' sont utilisés. Le paramètre peut valoir soit 'all' soit 'any'. Cette directive n'est utile que si l'accès à une zone particulière est à la fois restreinte par un username/password et et par l'adresse d'hôte client. Dans ce cas le comportement par défaut ("all") impose au client de passer la restriction d'adresse et d'entrer un identificateur d'utilisateur et un mot de passe valides. Avec l'option "any", le client sera servi si son adresse d'hôte est conforme ou s'il rentre des paramètres d'identification corrects. Ceci peut être utilisé pour restreindre un zone par un mot de passe, tout en laissant quelques client bien identifiés entrer dans le domaine sans avoir à se soumettre à la procédure d'identification.
La directive ScoreBoardFile est nécessaire sur certaines architectures pour créer un fichier servant à la communication entre des processus pères et des processus fils. La meilleure façon de savoir si votre système nécessite un tel fichier est d'exécuter Apache et de voir s'il crée le fichier mentionné dans la directive. Si votre système nécessite l'emploi de ce fichier, alors vous devez vous assurer que celui-ci ne peut être utilisé que par une et une seule invocation d'Apache.
Si vous devez utiliser un ScoreBoardFile, vous pourrez optimiser votre temps d'exécution en le plaçant sur un disque virtuel en RAM. Cependant, rappelez-vous que les mêmes recommandations sont à prendre en compte pour la position de ce fichier que pour la position des fichiers de trace quant à la securité.
A partir d'Apache 1.2 :
Les utilisateurs de Linux 1.x doivent pouvoir ajouter Les utilisateurs de SVR4 devront considérer l'opportunité d'ajouter Voir aussi : Arrêter et redémarrer Apache
Le serveur règle la taille du tampon interne de TCP au nombre d'octets spécifié. Très utile pour augmenter les tailles par défaut dans le cas d'utilisation de liaisons haute vitesse (ex. des liaisons transcontinantales rapides).
La directive ServerAdmin définit l'adresse e-mail que le serveur inclut dans tout message d'erreur retourné au client.
Il peut être utile de dédier une adresse réservée à cet usage, par exemple :
car les utilisateur ne rappellent pas toujours dans leur message ce à propos de quoi ils interviennent!
La directive ServerAlias défini un nom secondaire pour un hôte, utilisable dans le contexte d'hôte virtuels nommés.
Voir aussi : Hôtes virtuels sur Apache
La directive ServerName définit le nom d'hôte du serveur ; celui-ci n'est utilisé que pour créer des URL de redirection. S'il n'est pas défini, alors le serveur tentera de le résoudre à partir de sa propre adresse IP ; cependant, cette résolution n'est pas d'une fiabilité absolue, ou peut résulter en un nom autre que le nom "souhaité". Par exemple :
peut être défini lorsque le nom canonique (principal) de la machine actuelle est Voir aussi : Apache et DNS
La directive ServerPath définit le chemin d'accès servant de base pour les URL ciblant un hôte virtuel nommé.
Voir aussi : Hôtes virtuels sur Apache
La directive ServerRoot définit le répertoire dans lequel se situe le serveur. Typiquement, ce répertoire contiendra les sous-répertoires
La directive ServerType définit comment le serveur est exécuté par le système d'exploitation.
Type peut prendre l'une des valeurs suivantes :
Inetd est l'option la moins utilisée des deux. Pour chaque connexion http demandée, une nouvelle instance du serveur est créée ; une fois la connexion établie, ce programme tourne. Ceci implique un coût important en ressources pour chaque connexion, mais certains administrateurs préfèrent parfois ce mode pour des raisons de sécurité.
Standalone est l'option la plus fréquente pour la directive ServerType dans la mesure où ce dernier est de loin plus performant. Le serveur n'est démarré qu'une fois, et dessert toutes les connexions ultérieures. Si vous utilisez Apache sur un site très chargé, le mode standalone sera certainement le seul choix possible.
Sécurité : si vous êtes quelque peu paranoïaque sur ces questions de sécurité, utilisez le mode inetd. La sécurité absolue ne peut être garantie dans aucun des deux modes, mais du fait que le mode standalone est le plus utilisé, il y a de forte chances que plus de tentatives d'attaques concernent le mode standalone que le mode inetd. La directive StartServers définit le nombre de processus fils créés dès le démarrage du serveur. Le nombre de ces processus étant contrôlé dynamiquement en fonction de la charge, il y a en général peu d'intérêt à modifier la valeur par défaut de ce paramètre.
Lorsque le serveur est exécuté sous Microsoft Windows, cette directive définit le nombre total de processus fils actifs. Comme la version Windows d'Apache est écrite en multithread, un seul processus gère l'intégralité des requêtes. Les autres processus sont mises en réserve jusqu'à ce que le processus actif meure.
Voir aussi MinSpareServers et
MaxSpareServers.
Cette directive indique au serveur combien de threads (tâches) il doit lancer. Cela est équivalent au nombre maximum de connexions que le serveur peut traiter simultanément ; soyez sûr de vous et réglez le nombre suffisament haut si votre site est très fréquenté.
Voir aussi StartServers et MaxRequestsPerChild. La directive TimeOut définit la temporisation courante pendant laquelle Apache attendra l'une de ces trois choses :
Nous prévoyons dans le futur de permettre une configuration individuelle de chacune de ces temporisations. La valeur par défaut était de 1200 avant la version 1.2, mais a été abaissée à 300 depuis, ce qui est déjà largement plus que nécessaire dans la plupart des situations. Il n'est cependant pas réglé plsu bas car il peut exister (encore) des portions de code un peu "floues" par lesquelles le temporisateur n'est pas remis à zéro lors de la transmission d'un paquet.
La directive User définit l'utilisateur associé au serveur. Pour utiliser cette directive, un serveur standalone devra être lancé sous L'utilisateur peut n'avoir aucun privilège ce qui lui permet néanmoins de pouvoir avoir accès à des fichiers qui ne sont pas sensés être visibles du "reste du monde", mais pas d'exécuter du code qui ne serait pas explicitement exécutable par l'utilisateur associé à httpd. Il est d'ailleurs recommandé de créer un utilisateur et un groupe specialement pour exécuter le serveur. Certains administrateurs utilisent souvent l'utilisateur Note : si vous démarrez le serveur sous un utilisateur non-root, la tentative pour passer sous un utilisateur de moindre privilège échouera, et le serveur continuera à sexécuter sous l'utilisateur d'origine. Si vous démarrez le serveur sous Note spécifique : L'utilisation de cette directive dans une section <VirtualHost> nécessite un wrapper suEXEC correctement configuré. Lorsqu'elle est utilisée de cette façon dans une section <VirtualHost>, seul l'utilisateur associé à l'exécution des scripts CGI est affecté. Les requêtes non-CGI seront toujours traitées sous l'utilisateur défini dans la directive User de la section principale.
Sécurité : Ne définissez pas l'utilisateur (ni le groupe) comme
Les directives <VirtualHost> et </VirtualHost> sont utilisées pour "encapsuler" un groupe de directives qui s'appliquent à un hôte virtuel particulier. Toute directive autorisée dans un contexte "hôte virtuel" peut être présente. Lorsque le serveur reçoit une requête demandant un document spécifique sur un hôte virtuel spécifique, il utilise les directives de configuration explicitées dans la section <VirtualHost> correspondante. Adresse peut être :
Exemple :
Chaque hôte virtuel doit être associé à une adresse IP, à un numéro de port ou à un nom d'hôte différents que celui attribué au server, dans le dernier cas la machine du serveur doit être configurée pour accepter des paquets IP sur plusieurs adresses. (Si la machine ne dispose pas de plusieurs interfaces réseau physiques, ceci peut être obtenu par la commande Le nom prédéfini Vous pouvez specifier une commande
Sécurité: Voir les conseils de sécurité
pour plus de détails sur les risques encourus si le répertoire contenant les fichiers de trace peut être écrit par un autre utilisateur que celui sous lequel est exécuté le serveur.
Note: L'utilisation de la directive <VirtualHost> n' affecte pas les adresses qu'écoute Apache. Vous devez vous assurer que les adresses définies pour les hôtes virtuels font aussi partie de l'ensemble des adresses écoutées par Apache et définies par des directives BindAddress ou Listen.
Voir aussi : Hôtes virtuels sur Apache Voir aussi : Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée.
Adaptation française © Valery Fremaux / EISTI 1998
~
. Par exemple :
<Directory ~ "^/www/.*/[0-9]{3}">
<Directory />
AllowOverride None
</Directory>
<Directory /home/*>
AllowOverride FileInfo
</Directory>
/home/web/dir/doc.html
les étapes d'évaluation sont les suivantes :
<Directory ~ abc$>
... directives ici ...
</Directory>
/home/abc/public_html/abc/index.html
. Le serveur considère chacune des sections /
, /home
, /home/abc
, /home/abc/public_html
, et /home/abc/public_html/abc
dans cet ordre. Sous Apache 1.2, lorsque /home/abc
est pris en compte, l'expression régulière correspondra et ses termes seront appliqués. Sous Apache 1.3 l'expression régulière n'est pas considérée du tout à ce point de l'arbre. Elle ne le sera pas tant que toutes les sections "normales" <Directory>s et celles des fichiers .htaccess
n'ont pas été appliquées. A ce moment seulement l'expression régulière reconnaîtra /home/abc/public_html/abc
et les directives seront appliquées.
Allow from All
. Ceci veut dire que par défaut, Apache desservira tout fichier indiqué par une URL. Nous recommandons de modifier ceci à l'aide d'un bloc tel que
<Directory />
Order Deny,Allow
Deny from All
</Directory>
Directive : <DirectoryMatch>
Syntaxe : <DirectoryMatch regex> ... </DirectoryMatch>
Contexte : configuration serveur, hôtes virtuels
Statut : Core
Compatibilité : Disponible à partir de la version 1.3 d'Apache
<DirectoryMatch "^/www/.*/[0-9]{3}">
Voir aussi : Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée
Directive : DocumentRoot
Syntaxe : DocumentRoot directory-filename
Défaut : DocumentRoot /usr/local/apache/htdocs
Contexte : configuration serveur, hôtes virtuels
Statut : core
DocumentRoot /usr/web
http://www.my.host.com/index.html
se réferre au document /usr/web/index.html
.
Directive : ErrorDocument
Syntaxe : ErrorDocument error-code document
Contexte : configuration serveur, hôtes virtuels, répertoire, .htaccess
Statut : core
Surcharge : FileInfo
Compatibilité : Les contextes répertoire et .htaccess ne sont utilisables qu'à partir de la version 1.1 d'Apache.
"
), qui ne fait pas partie du message lui-même. Apache ajoutera souvent des informations complémentaires explicitant le problème (ou l'erreur).
ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/bad_urls.pl
ErrorDocument 401 /subscription_info.html
ErrorDocument 403 "Sorry can't allow you access today
Directive : ErrorLog
Syntaxe : ErrorLog nomfichier
Défaut : ErrorLog logs/error_log
Contexte : configuration serveur, hôtes virtuels
Statut : core
ErrorLog /dev/null
Directive : <Files>
Syntaxe : <Files nomfichier>
... </Files>
Contexte : configuration serveur, hôtes virtuels, .htaccess
Statut : core
Compatibilité : Disponible à partir de la version 1.2 d'Apache.
~
. Par exemple :
<Files ~ "\.(gif|jpe?g|png)$">
.htaccess
. Ceci permet aux utilisateurs de contrôler l'accès à leurs propres fichiers, sur un mode individuel. Lorsqu'elles sont utilisées dans un fichier .htaccess
, si nomfichier ne commence pas par un slash (/), le répertoire courant contenant ledit fichier .htaccess
y sera préfixé automatiquement.
Directive : <FilesMatch>
Syntaxe : <FilesMatch regex> ... </Files>
Contexte : configuration serveur, hôtes virtuels, .htaccess
Statut : core
Compatibilité : Disponible à partir de la version 1.3 d'Apache.
<FilesMatch "\.(gif|jpe?g|png)$">
Directive : Group
Syntaxe : Group groupeUnix
Défaut : Group #-1
Contexte : configuration serveur, hôte virtuel
Statut : core
nobody
, mais ceci n'est pas toujours possible ou souhaîtable.
Directive : HostNameLookups
Syntaxe : HostNameLookups on | off | double
Défaut : HostNameLookups off
Contexte : configuration serveur, hôte virtuel, répertoire, .htaccess
Statut : core
Compatibilité : double
n'est disponible qu'à partir de la version 1.3 d'Apache.
Compatibilité : La valeur par défaut était on
pour toute version antérieure à la version 1.3 d'Apache.
REMOTE_HOST
). La valeur double
signifie une résolution DNS inverse double. C'est-à-dire, après qu'une résolution inverse soit effectuée, une résolution est ensuite effectuée à partir du résultat obtenu. Au moins une des adresses IP obtenues par la deuxième résolution doit correspondre à l'adresse originale. (Dans le langage des "fous de tcp" ceci s'appelle PARANOID
.)
REMOTE_HOST
.
on
dans les versions d'apache antérieures à la version 1.3. Elle est aujourd'hui à off
afin de diminuer le trafic pour les sites qui n'ont pas un besoin absolu de la résolution inverse. C'est aussi un avantage pour les utilisateurs finaux qui n'auront pas à attendre la fin du processus de résolution avant d'être servis. Des sites chargés devraient plutôt laisser cette opyion à off
, dans la mesure où une recherche DNS peut consommer un temps non négligeable. L'utilitaire logresolve
, fourni dans le répertoire /support, peut être utilisé pour résoudre des noms d'hôtes à partir des adresses IP tracées en mode "offline".
Directive : IdentityCheck
Syntaxe : IdentityCheck booléen
Défaut : IdentityCheck off
Contexte : configuration serveur, hôte virtuel, répertoire, .htaccess
Statut : core
access log
. booléen vaut soit on
ou off
.
Directive : <IfModule>
Syntaxe : <IfModule [!]nomModule> ...
</IfModule>
Défaut : None
Contexte : all
Statut : Core
Compatibilité : IfModule n'est disponible qu'à partir de la version 1.2 d'Apache.
mod_rewrite.c
.
Directive : Include
Syntaxe : (Apache 1.2) Include nomfichier
Contexte : configuration server
Statut : Core
Compatibilité : Include n'est disponible qu'à partir de la version 1.3 d'Apache.
Directive : KeepAlive
Syntaxe : (Apache 1.1) KeepAlive requêtesMax
Défaut : (Apache 1.1) KeepAlive 5
Syntaxe : (Apache 1.2) KeepAlive on/off
Défaut : (Apache 1.2) KeepAlive On
Contexte : configuration serveur
Statut : Core
Compatibilité : KeepAlive est disponible à partir de la version 1.1 d'Apache.
0
pour désactiver ce support.
On
pour autoriser des connexions rémanentes, Off
pour les interdire. Voir aussi la directive MaxKeepAliveRequests.
Directive : KeepAliveTimeout
Syntaxe : KeepAliveTimeout secondes
Défaut : KeepAliveTimeout 15
Contexte : configuration serveur
Statut : Core
Compatibilité : KeepAliveTimeout est disponible à partir de la version 1.1 d'Apache.
Directive : <Limit>
Syntaxe :
<Limit méthode méthode ... > ... </Limit>
Contexte : any
Statut : core
<Limit GET POST>
require valid-user
</Limit>
Directive : Listen
Syntaxe :
Listen [adresseIp:]numéroPort
Contexte : configuration serveur
Statut : core
Compatibilité : Listen est disponible à partir de la version 1.1 d'Apache.
Listen 80
Listen 8000
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
Voir aussi: Configurer les ports et adresses utilisée par Apache
Voir aussi : Bogues connus
Directive : ListenBacklog
Syntaxe : ListenBacklog backlog
Défaut : ListenBacklog 511
Contexte : configuration serveur
Statut : Core
Compatibilité : ListenBacklog n'est disponible qu'à partir de la version 1.2.0 d'Apache.
listen(2)
.
Directive : <Location>
Syntaxe : <Location URL>
... </Location>
Contexte : configuration serveur, hôtes virtuels
Statut : core
Compatibilité : Location est disponible à partir des versions 1.1 d'Apache.
.htaccess
traités.
/chemin/
, et ne devra pas inclure de mention http://nomserveur
. Elle ne protège pas nécessairement un répertoire (cela peut être un fichier individuel, ou un ensemble de fichiers), et peut inclure des métacaractères. Dans un motif (avec des métacaractères), '?' remplace un caractère quelconque, et '*' remplace toute chaîne quelconque de 0 ou plus caractères.
~
. Par exemple :
<Location ~ "/(extra|special)/data">
<Location /status>
SetHandler server-status
order deny,allow
deny from all
allow from .foo.com
</Location>
Directive : <LocationMatch>
Syntaxe : <LocationMatch regex>
... </LocationMatch>
Contexte : configuration serveur, hôte virtuel
Statut : core
Compatibilité : Location est disponible à partir de la version 1.3 d'Apache.
<LocationMatch "/(extra|special)/data">
représente des URL contenant l'une des sous-chaînes "/extra/data" ou "/special/data".
Voir aussi : Comment fonctionnent les sections concernant les répertoires, chemins et fichiers pour une explication plus précise concernant la manière dont ces sections sont combinées lorsqu'une requête est traitée.
Directive : LockFile
Syntaxe : LockFile nomfichier
Défaut : LockFile logs/accept.lock
Contexte : configuration serveur
Statut : core
USE_FCNTL_SERIALIZED_ACCEPT
ou USE_FLOCK_SERIALIZED_ACCEPT
. Ce paramètre sera laissé généralement dans son état par défaut. La raison principale qui conduirait à modifier ce paramètre serait le fait que le répertoire des traces (logs
) soit monté sous NFS, le fichier de verrouillage devant de préférence être situé sur un disque local à la machine serveur pour autant que possible. Le PID du processus serveur principal est automatiquement rajouté au nom de fichier.
Directive : MaxClients
Syntaxe : MaxClients nombre
Défaut : MaxClients 256
Contexte : configuration serveur
Statut : core
Directive : MaxKeepAliveRequests
Syntaxe : MaxKeepAliveRequests nombre
Défaut : MaxKeepAliveRequests 100
Contexte : configuration serveur
Statut : core
Compatibilité : Uniquement à partir de la version 1.2 d'Apache.
0
", chaque connexion peut admettre un nombre illimité de requêtes. Nous recommendons que ce paramètre soit réglé sur une valeur relativement haute pour obtenir des performances optimales du serveur.
Directive : MaxRequestsPerChild
Syntaxe : MaxRequestsPerChild nombre
Défaut : MaxRequestsPerChild 0
Contexte : configuration serveur
Statut : core
Directive : MaxSpareServers
Syntaxe : MaxSpareServers nombre
Défaut : MaxSpareServers 10
Contexte : configuration serveur
Statut : core
Directive : MinSpareServers
Syntaxe : MinSpareServers nombre
Défaut : MinSpareServers 5
Contexte : configuration serveur
Statut : core
Directive : NameVirtualHost
Syntaxe : NameVirtualHost addr[:port]
Contexte : configuration serveur
Statut : core
Compatibilité : NameVirtualHost n'est disponible qu'à partir de la version 1.3 d'Apache.
NameVirtualHost 111.22.33.44
Voir aussi : Hôtes virtuels sur Apache
NameVirtualHost 111.22.33.44:8080
Directive : Options
Syntaxe : Options [+|-]option [+|-]option ...
Contexte : configuration serveur, hôte virtuel, répertoire, .htaccess
Surcharge: Options
Statut : core
None
, auquel cas aucune fonction supplémentaire n'est disponible, ou une ou plus des possibilités suivantes :
#include
des scripts CGI.
MultiViews
est permis.
Options
peuvent être appliquées à un répertoire, alors la plus restrictive est appliquée ; les options ne sont pas combinées. Cependant, si all les options dans la directive Options
sontprécédées d'un symbole + ou -, alors les options sont alors combinées entre elles. Toute option précédée d'un + est ajoutée aux options en cours, toute option précédée d'un - est désactivée.
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options Includes
</Directory>
Includes
sera activé pour le répertoire /web/docs/spec
. Cependant, si la seconde directive d'Options
utilise les symboles + et - :
<Directory /web/docs>
Options Indexes FollowSymLinks
</Directory>
<Directory /web/docs/spec>
Options +Includes -Indexes
</Directory>
FollowSymLinks
et Includes
sont validées pour le répertoire /web/docs/spec
.
Directive : PidFile
Syntaxe : PidFile filename
Défaut : PidFile logs/httpd.pid
Contexte : configuration serveur
Statut : core
Directive : Port
Syntaxe : Port numéro
Défaut : Port 80
Contexte : configuration serveur
Statut : core
/etc/services
; le port standard assigné au protocole http est le port 80.
:numéro
alors la directive Port n'a aucun effet quant au socket que le serveur écoute.
SERVER_PORT
(pour les CGI et les SSI), laquelle est utilisée lorsque le serveur génère une URL qui point sur lui-même (par exemple lorsqu'il indique une indirection externe vers lui-même).
root
.
Après avoir lié le port (bind) et avant d'accepter des requêtes, Apache changera son utilisateur associé tel que défini par la directive User.
root
, assurez vous que la directive User ne mentionne pas root
. Si vous traitez des requêtes en disposant toujours de super privilèges, vous ouvrez votre système à des attaques majeures.
Directive : require
Syntaxe : require nomEntite Entite Entite...
Contexte : répertoire, .htaccess
Surcharge: AuthConfig
Statut : core
require
apparaît dans une section <Limit>, alors les restrictions ne sont appliquées qu'aux méthodes http mentionnées. Autrement, toutes les méthodes http sont restreintes. Exemple :
AuthType Basic
AuthName unDomaine
AuthUserFile /web/users
AuthGroupFile /web/groups
<Limit GET POST>
require group admin
</Limit>
Directive : ResourceConfig
Syntaxe : ResourceConfig nomfichier
Défaut : ResourceConfig conf/srm.conf
Contexte : configuration serveur, hôte virtuel
Statut : core
httpd.conf
. nomfichier est considéré relativement à ServerRoot. Cette fonctionnalité peut être désactivée par l'écriture :
ResourceConfig /dev/null
Directive : RLimitCPU
Syntaxe : RLimitCPU # ou 'max' [# ou 'max']
Défaut :
Contexte : configuration serveur, hôte virtuel
Statut : core
Compatibilité : RLimitCPU n'est disponible qu'à partir de la version 1.2 d'Apache
Directive : RLimitMEM
Syntaxe : RLimitMEM # ou 'max' [# ou 'max']
Défaut :
Contexte : configuration serveur, hôte virtuel
Statut : core
Compatibilité : RLimitMEM is only available in Apache 1.2 and later
Directive : RLimitNPROC
Syntaxe : RLimitNPROC # ou 'max' [# ou 'max']
Défaut :
Contexte : configuration serveur, hôte virtuel
Statut : core
Compatibilité : RLimitNPROC n'est disponible qu'à partir de la version 1.2 d'Apache
Directive : Satisfy
Syntaxe : Satisfy 'any' ou 'all'
Défaut : Satisfy all
Contexte : répertoire, .htaccess
Statut : core
Compatibilité : Satisfy n'est disponible qu'à partir de la version 1.2 d'Apache
Directive : ScoreBoardFile
Syntaxe : ScoreBoardFile nomfichier
Défaut : ScoreBoardFile logs/apache_status
Contexte : configuration serveur
Statut : core
-DHAVE_SHMGET
aux EXTRA_CFLAGS
dans leur fichier de Configuration
. Ceci devrait fonctionner sur certaines installations en 1.x, mais pas forcément sur toutes.
-DHAVE_SHMGET
aux EXTRA_CFLAGS
dans leur fichier de Configuration
. Il semble que cela fonctionne, mais nous n'avons pu le tester pour la version 1.2.
Directive : SendBufferSize
Syntaxe : SendBufferSize octets
Contexte : configuration serveur
Statut : core
Directive : ServerAdmin
Syntaxe : ServerAdmin adresseEMail
Contexte : configuration serveur, hôte virtuel
Statut : core
ServerAdmin www-admin@foo.bar.com
Directive : ServerAlias
Syntaxe : ServerAlias hôte1 hôte2 ...
Contexte : hôte virtuel
Statut : core
Compatibilité : ServerAlias est disponible à partir de la version 1.1 d'Apache
Directive : ServerName
Syntaxe : ServerName nom de domaine entièrement qualifié
Contexte : configuration serveur, hôte virtuel
Statut : core
ServerName www.wibble.com
monster.wibble.com
.
Directive : ServerPath
Syntaxe : ServerPath chemin
Contexte : hôte virtuel
Statut : core
Compatibilité : ServerPath est disponible à partir de la version 1.1 d'Apache.
Directive : ServerRoot
Syntaxe : ServerRoot nomrépertoire
Défaut : ServerRoot /usr/local/apache
Contexte : configuration serveur
Statut : core
conf/
et logs/
. Les chemins d'accès relatifs pour d'autres fichiers de configuration seront considérés relativement à ce répertoire.
Voir aussi les -d
options de httpd.
Directive : ServerType
Syntaxe : ServerType type
Défaut : ServerType standalone
Contexte : configuration serveur
Statut : core
/etc/inetd.conf
/etc/rc.local
ou /etc/rc3.d/...
.)
Directive : StartServers
Syntaxe : StartServers nombre
Défaut : StartServers 5
Contexte : configuration serveur
Statut : core
Directive : ThreadsPerChild
Syntaxe : ThreadsPerChild nombre
Défaut : ThreadsPerChild 50
Contexte : configuration serveur
Statut : core (Windows)
Compatibilité : Disponible seulement à partir de la version 1.3 pour Windows d'Apache
Directive : TimeOut
Syntaxe : TimeOut nombre
Défaut : TimeOut 300
Contexte : configuration serveur
Statut : core
Directive : User
Syntaxe : User utilisateurUnix
Défaut : User #-1
Contexte : configuration serveur, hôte virtuel
Statut : core
root
. utilisateurUnix est l'un parmi :
nobody
, mais ceci n'est pas toujours possible ou souhaitable.
root
, alors il sera normal que le processus père continue à s'exécuter sous root
.
root
sauf si vous savez exactement ce que vous faites, et si vous êtes totalement conscients des risques qui sont encourus.
Directive : <VirtualHost>
Syntaxe : <VirtualHost adresse[:port] ...> ...
</VirtualHost>
Contexte : configuration serveur
Statut : Core
Compatibilité : la "virtualisation" d'hôtes non basés sur l'adressage IP n'est disponible qu'à partir de la version 1.1 d'Apache
Compatibilité : le support d'adresses multiples n'est disponible qu'à partir de la version 1.2 d'Apache
<VirtualHost 10.1.2.3>
ServerAdmin webmaster@host.foo.com
DocumentRoot /www/docs/host.foo.com
ServerName host.foo.com
ErrorLog logs/host.foo.com-error_log
TransferLog logs/host.foo.com-access_log
</VirtualHost>
ifconfig alias
(si votre OS l'accepte), ou par des patchs du kernel du type VIF (pour SunOS(TM) 4.1.x)).
_default_
peut être attribué auquel cas cet hôte virtuel lira toutes les adresses IP qui ne sont pas explicitement listées dans les autres hôtes virtuels définis. En l'absence d'un hôte virtuel _default_, la configuration serveur "principale", à savoir toutes les définitions en dehors des sections VirtualHost, seront utilisées si aucun hôte virtuel ne reconnaît l'adresse.
:port
pour changer le port reconnu par l'hôte virtuel. Si aucun port n'est mentionné, alors le port reconnu est par défaut celui mentionné dans la dernière directive de Port
de la section principale qui précède. Vous pouvez également spécifier :*
pour reconnaître tous les ports à cette adresse. (Ceci est conseillé lorsque l'hôte virtuel est le _default_
.)
Avertissement concernant DNS et Apache
Configurer les ports et adresses utilisés par Apache
Apache HTTP Server Version 1.3