<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision : 1242913 -->
+<!-- English Revision: 1555569:1562300 (outdated) -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<syntax>AcceptFilter <var>protocole</var> <var>filtre
d'acceptation</var></syntax>
<contextlist><context>server config</context></contextlist>
-<compatibility>Disponible depuis la version 2.3.3 sous Windows et 2.1.5
-sur les autres plates-formes.</compatibility>
+<compatibility>Sous Windows, disponible depuis la version 2.3.3.</compatibility>
<usage>
<p>Cette directive permet d'effectuer une optimisation de la socket
filtre d'acceptation pour ce protocole. Ceci s'avère utile pour les
protocoles qui nécessitent l'envoi de données par le serveur en
premier, comme <code>ftp:</code> ou <code>nntp</code>:</p>
- <example>AcceptFilter nntp none</example>
+ <highlight language="config">
+ AcceptFilter nntp none
+ </highlight>
<p>Les noms de protocoles par défaut sont <code>https</code> pour le
port 443 et <code>http</code> pour tous les autres ports. Pour
module="mpm_common">Listen</directive>.</p>
<p>Sous FreeBSD, les valeurs par défaut sont :</p>
- <example>
- AcceptFilter http httpready <br/>
- AcceptFilter https dataready
- </example>
+ <highlight language="config">
+AcceptFilter http httpready
+AcceptFilter https dataready
+ </highlight>
<p>Le filtre d'acceptation <code>httpready</code> met en tampon des
requêtes HTTP entières au niveau du noyau. Quand une requête
sektion=9">accf_data(9)</a>.</p>
<p>Sous Linux, les valeurs par défaut sont :</p>
- <example>
- AcceptFilter http data <br/>
- AcceptFilter https data
- </example>
+ <highlight language="config">
+AcceptFilter http data
+AcceptFilter https data
+ </highlight>
<p>Le filtre <code>TCP_DEFER_ACCEPT</code> de Linux ne supporte pas
la mise en tampon des requêtes http. Toute valeur autre que
tcp.7.html">tcp(7)</a>.</p>
<p>Sous Windows, les valeurs par défaut sont :</p>
- <example>
- AcceptFilter http data <br/>
- AcceptFilter https data
- </example>
+ <highlight language="config">
+AcceptFilter http data
+AcceptFilter https data
+ </highlight>
<p>Le module MPM pour Windows mpm_winnt utilise la directive
AcceptFilter comme commutateur de l'API AcceptEx(), et ne supporte
anti-spyware.</p>
</usage>
-<seealso><directive>Protocol</directive></seealso>
+<seealso><directive module="core">Protocol</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
-<compatibility>Disponible dans Apache httpd version 2.0.30 et
-supérieures</compatibility>
<usage>
sur <code>PATH_INFO</code>. Le gestionnaire de base va en général
rejeter la requête, et vous pouvez utiliser la configuration
suivante pour utiliser un tel script :</p>
-
- <example>
- <Files "mes-chemins.shtml"><br />
- <indent>
- Options +Includes<br />
- SetOutputFilter INCLUDES<br />
- AcceptPathInfo On<br />
- </indent>
- </Files>
- </example>
+<highlight language="config">
+<Files "mypaths.shtml">
+ Options +Includes
+ SetOutputFilter INCLUDES
+ AcceptPathInfo On
+</Files>
+ </highlight>
+
</usage>
</directivesynopsis>
href="#allowoverride">activés pour ce répertoire</a>. Par exemple
:</p>
- <example>
- AccessFileName .acl
- </example>
+ <highlight language="config">AccessFileName .acl</highlight>
<p>avant de renvoyer le document
<code>/usr/local/web/index.html</code>, le serveur va rechercher les
pour y lire d'éventuelles directives, à moins quelles n'aient été
désactivées avec</p>
- <example>
- <Directory /><br />
- <indent>
- AllowOverride None<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ AllowOverride None
+</Directory>
+ </highlight>
</usage>
<seealso><directive module="core">AllowOverride</directive></seealso>
<seealso><a href="../configuring.html">Fichiers de configuration</a></seealso>
types de média Internet (types MIME).
Par exemple :</p>
- <example>
- AddDefaultCharset utf-8
- </example>
+ <highlight language="config">AddDefaultCharset utf-8</highlight>
<p>La directive <directive>AddDefaultCharset</directive> ne doit
être utilisée que lorsque toutes les ressources textes auxquelles
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
-<compatibility>Disponible dans Apache httpd version 2.0.46 et
-supérieures. L'option NoDecode est disponible depuis la version
+<compatibility>L'option NoDecode est disponible depuis la version
2.3.12.</compatibility>
<usage>
<dd>
Permet l'utilisation des directives d'autorisation (<directive
- module="mod_authn_dbm">AuthDBMGroupFile</directive>,
+ module="mod_authz_dbm">AuthDBMGroupFile</directive>,
<directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
<directive module="mod_authz_groupfile">AuthGroupFile</directive>,
<directive module="mod_authn_core">AuthName</directive>,
module="mod_usertrack">CookieStyle</directive>, <directive
module="mod_usertrack">CookieTracking</directive>, <directive
module="mod_usertrack">CookieName</directive>), des directives du
- module <module>mod_rewrite</module> <directive
+ module <module>mod_rewrite</module> directives (<directive
module="mod_rewrite">RewriteEngine</directive>, <directive
module="mod_rewrite">RewriteOptions</directive>, <directive
module="mod_rewrite">RewriteBase</directive>, <directive
module="mod_rewrite">RewriteCond</directive>, <directive
- module="mod_rewrite">RewriteRule</directive>) et de la directive
+ module="mod_rewrite">RewriteRule</directive>), des directives du
+ module <module>mod_alias</module> directives (<directive
+ module="mod_alias">Redirect</directive>, <directive
+ module="mod_alias">RedirectTemp</directive>, <directive
+ module="mod_alias">RedirectPermanent</directive>, <directive
+ module="mod_alias">RedirectMatch</directive>), et de la directive
<directive module="mod_actions">Action</directive> du module
<module>mod_actions</module>.
</dd>
<directive module="mod_autoindex">AddIconByType</directive>,
<directive module="mod_autoindex">DefaultIcon</directive>, <directive
module="mod_dir">DirectoryIndex</directive>, <directive
- module="mod_autoindex">FancyIndexing</directive>, <directive
+ module="mod_dir">FallbackResource</directive>, <a
+ href="mod_autoindex.html#indexoptions.fancyindexing"><code>FancyIndexing</code></a>,
+ <directive
module="mod_autoindex">HeaderName</directive>, <directive
module="mod_autoindex">IndexIgnore</directive>, <directive
module="mod_autoindex">IndexOptions</directive>, <directive
<dd>
Permet l'utilisation des directives contrôlant l'accès au serveur
(<directive
- module="mod_authz_host">Allow</directive>, <directive
- module="mod_authz_host">Deny</directive> et <directive
- module="mod_authz_host">Order</directive>).</dd>
+ module="mod_access_compat">Allow</directive>, <directive
+ module="mod_access_compat">Deny</directive> et <directive
+ module="mod_access_compat">Order</directive>).</dd>
+
+<!-- TODO - Update this for 2.4 syntax -->
+
+
+
<dt>Nonfatal=[Override|Unknown|All]</dt>
<em>activée</em> tout en permettant à toute autre option d'être
activée.
</p></note>
+
+ <example>
+ AllowOverride Options=Indexes,MultiViews
+ </example>
</dd>
</dl>
<p>Exemple :</p>
- <example>
- AllowOverride AuthConfig Indexes
- </example>
+ <highlight language="config">AllowOverride AuthConfig Indexes</highlight>
<p>Dans l'exemple ci-dessus, toutes les directives qui ne font
partie ni du groupe <code>AuthConfig</code>, ni du groupe
<p>Example:</p>
- <example>
- AllowOverride None<br />
- AllowOverrideList Redirect RedirectMatch
- </example>
+ <highlight language="config">
+AllowOverride None
+AllowOverrideList Redirect RedirectMatch
+ </highlight>
<p>Dans l'exemple ci-dessus, seules les directives
<code>Redirect</code> et <code>RedirectMatch</code> sont autorisées.
<p>Example:</p>
- <example>
- AllowOverride AuthConfig<br />
- AllowOverrideList CookieTracking CookieName
- </example>
+ <highlight language="config">
+AllowOverride AuthConfig
+AllowOverrideList CookieTracking CookieName
+ </highlight>
<p>Dans l'exemple ci-dessus, la directive <directive
module="core">AllowOverride</directive> autorise les directives du
</usage>
</directivesynopsis>
+<directivesynopsis>
+<name>DefaultRuntimeDir</name>
+<description>Répertoire de base des fichiers créés au cours de l'exécution du serveur</description>
+<syntax>DefaultRuntimeDir <var>chemin-répertoire</var></syntax>
+<default>DefaultRuntimeDir DEFAULT_REL_RUNTIMEDIR (logs/)</default>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+ <p>La directive <directive>DefaultRuntimeDir</directive> permet de
+ définir le répertoire dans lequel le serveur va créer les différents
+ fichiers relatifs à son exécution (mémoire partagée, verrous,
+ etc...). Si le chemin spécifié est relatif, le chemin absolu sera
+ généré relativement à la valeur de la directive
+ <directive>ServerRoot</directive>.</p>
+
+ <p><strong>Example</strong></p>
+ <highlight language="config">
+DefaultRuntimeDir scratch/
+ </highlight>
+
+ <p>La valeur par défaut de la directive
+ <directive>DefaultRuntimeDir</directive> peut être modifiée en
+ changeant la valeur de la macro <code>DEFAULT_REL_RUNTIMEDIR</code>
+ définie à la compilation.</p>
+
+ <p>Note: si la valeur de <directive>ServerRoot</directive> n'a pas
+ été spécifiée avant d'utiliser cette directive, c'est la valeur par
+ défaut de <directive>ServerRoot</directive> qui sera utilisée pour
+ définir la base du répertoire.</p>
+
+</usage>
+<seealso>Voir les <a
+href="../misc/security_tips.html#serverroot">conseils à propos de
+sésurité</a> pour plus d'informations en vue de définir correctement les
+permissions sur la racine du serveur <directive>ServerRoot</directive></seealso>
+</directivesynopsis>
+
<directivesynopsis>
<name>DefaultType</name>
<description>Les seuls effets de cette directive sont des émissions
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>L'argument <code>none</code> est disponible dans les
-versions d'Apache httpd 2.2.7 et supérieures. Tous les autres choix sont
-DESACTIVÉS à partir des version 2.3.x.</compatibility>
+<compatibility>Tous les arguments, excepté <code>none</code>, sont
+DESACTIVÉS à partir de la version 2.3.0.</compatibility>
<usage>
<p>Cette directive a été désactivée. Pour la compatibilité
être spécifiée avec la valeur <code>none</code>, c'est à dire sans
type de médium par défaut. Par exemple :</p>
- <example>
- DefaultType None
- </example>
+ <highlight language="config">DefaultType None</highlight>
+
<p><code>DefaultType None</code> n'est disponible que dans les
versions d'Apache 2.2.7 et supérieures.</p>
La portée de la variable est toujours globale, et n'est jamais
limitée à la section de configuration courante.</p>
- <example>
- <IfDefine TEST><br/>
- Define servername test.example.com<br/>
- </IfDefine><br/>
- <IfDefine !TEST><br/>
- Define servername www.example.com<br/>
- Define SSL<br/>
- </IfDefine><br/>
- </example>
+ <highlight language="config">
+<IfDefine TEST>
+ Define servername test.example.com
+</IfDefine>
+<IfDefine !TEST>
+ Define servername www.example.com
+ Define SSL
+</IfDefine>
+
+ DocumentRoot /var/www/${servername}/htdocs
+ </highlight>
<p>Le caractère ":" est interdit dans les noms de variables afin
d'éviter les conflits avec la syntaxe de la directive <directive
* <code>/home/user/public_html</code>, alors que <code><Directory
/home/*/public_html></code> conviendra. Exemple :</p>
- <example>
- <Directory /usr/local/httpd/htdocs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/usr/local/httpd/htdocs">
+ Options Indexes FollowSymLinks
+</Directory>
+ </highlight>
<note>
<p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il
peuvent aussi être utilisées en ajoutant le caractère
<code>~</code>. Par exemple :</p>
- <example>
- <Directory ~ "^/www/.*/[0-9]{3}">
- </example>
+ <highlight language="config">
+<Directory ~ "^/www/[0-9]{3}">
+
+</Directory>
+</highlight>
<p>pourra correspondre à tout répertoire situé dans /www/ et dont le
nom se compose de trois chiffres.</p>
directives des fichiers <a href="#accessfilename">.htaccess</a>. Par
exemple, avec</p>
- <example>
- <Directory /><br />
- <indent>
- AllowOverride None<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /home><br />
- <indent>
- AllowOverride FileInfo<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ AllowOverride None
+</Directory>
+
+<Directory "/home">
+ AllowOverride FileInfo
+</Directory>
+ </highlight>
<p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte
le chemin suivant :</p>
testés selon l'ordre dans lequel ils apparaissent dans le fichier de
configuration. Par exemple, avec</p>
- <example>
- <Directory ~ abc$><br />
- <indent>
- # ... directives here ...<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory ~ "abc$">
+ # ... directives ici ...
+</Directory>
+ </highlight>
<p>la section avec expression rationnelle ne sera prise en compte
qu'après les sections <directive
correspondant à une URL. Il est recommandé de modifier cette
situation à l'aide d'un bloc du style</strong></p>
- <example>
- <Directory /><br />
- <indent>
- Require all denied<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ Require all denied
+</Directory>
+ </highlight>
<p><strong>puis d'affiner la configuration pour les répertoires que vous
voulez rendre accessibles. Voir la page <a
répertoire est précisé sous la forme d'une <glossary
ref="regex">expression rationnelle</glossary>. Par exemple :</p>
- <example>
- <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
- </example>
+ <highlight language="config">
+<DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+ # ...
+</DirectoryMatch>
+</highlight>
<p>conviendrait pour les sous-répertoires de <code>/www/</code> dont
le nom se compose de trois chiffres.</p>
de ligne ($) doivent donc faire l'objet d'une attention
particulière.
</note>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
+ par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="expr.html">expressions</a>
+ ou au sein de modules comme <module>mod_rewrite</module>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<highlight language="config">
+<DirectoryMatch ^/var/www/combined/(?<sitename>[^/]+)>
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</DirectoryMatch>
+</highlight>
</usage>
<seealso><directive type="section" module="core">Directory</directive>
pour une description de la manière dont les expressions rationnelles
de l'URL sera ajouté par le serveur à la racine des documents afin
de construire le chemin du document recherché. Exemple :</p>
- <example>
- DocumentRoot /usr/web
- </example>
+ <highlight language="config">DocumentRoot "/usr/web"</highlight>
<p>un accès à <code>http://my.example.com/index.html</code> se
réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin
supérieure et dans la même portée n'ont pas été satisfaites. Par
exemple, dans :</p>
- <example>
- <If "-z req('Host')"><br/>
- ...<br/>
- </If><br/>
- <Else><br/>
- ...<br/>
- </Else><br/>
- </example>
+ <highlight language="config">
+<If "-z req('Host')">
+ # ...
+</If>
+<Else>
+ # ...
+</Else>
+ </highlight>
<p>La condition de la section <directive
type="section">If</directive> serait satisfaite pour les requêtes
ou <directive type="section">ElseIf</directive> de la même portée ne
l'est pas. Par exemple, dans :</p>
- <example>
- <If "-R '10.1.0.0/16'"><br/>
- ...<br/>
- </If><br/>
- <ElseIf "-R '10.0.0.0/8'"><br/>
- ...<br/>
- </ElseIf><br/>
- <Else><br/>
- ...<br/>
- </Else><br/>
- </example>
+ <highlight language="config">
+<If "-R '10.1.0.0/16'">
+ #...
+</If>
+<ElseIf "-R '10.0.0.0/8'">
+ #...
+</ElseIf>
+<Else>
+ #...
+</Else>
+ </highlight>
<p>La condition correspondant à la section <directive
type="section">ElseIf</directive> est satisfaite si l'adresse
problème, il est préférable de désactiver la projection en mémoire
des fichiers servis en spécifiant :</p>
- <example>
- EnableMMAP Off
- </example>
+ <highlight language="config">EnableMMAP Off</highlight>
<p>Pour les montages NFS, cette fonctionnalité peut être
explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
- <example>
- <Directory "/chemin vers montage NFS">
- <indent>
- EnableMMAP Off
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/path-to-nfs-files">
+ EnableMMAP Off
+</Directory>
+ </highlight>
</usage>
</directivesynopsis>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>Disponible dans les versions 2.0.44 et
-supérieures. Par défaut à Off depuis la version 2.3.9.</compatibility>
+<compatibility>Par défaut à Off depuis la version 2.3.9.</compatibility>
<usage>
<p>Cette directive définit si le programme <program>httpd</program>
problème, vous pouvez activer cette fonctionnalité en
spécifiant :</p>
- <example>
- EnableSendfile On
- </example>
+ <highlight language="config">EnableSendfile On</highlight>
<p>Pour les montages réseau, cette fonctionnalité peut être
explicitement désactivée pour les fichiers concernés en spécifiant
:</p>
- <example>
- <Directory "/chemin vers montage réseau">
- <indent>
- EnableSendfile Off
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/path-to-nfs-files">
+ EnableSendfile Off
+</Directory>
+ </highlight>
<p>Veuillez noter que la configuration de la directive
<directive>EnableSendfile</directive> dans un contexte de répertoire
ou de fichier .htaccess n'est pas supportée par
directive peut être utilisée pour générer un message d'erreur
personnalisé, et interrompre la lecture de la configuration. </p>
- <example><title>Exemple</title>
- # vérification du chargement de mod_include<br />
- <IfModule !include_module><br />
- Error mod_foo nécessite mod_include. Chargez-le via LoadModule.<br />
- </IfModule><br />
- <br />
- # vérification de la définition de SSL ou (exclusif) NOSSL<br />
- <IfDefine SSL><br />
- <IfDefine NOSSL><br />
- Error SSL et NOSSL sont définies. Vous devez définir soit l'une,
- soit l'autre.<br />
- </IfDefine><br />
- </IfDefine><br />
- <IfDefine !SSL><br />
- <IfDefine !NOSSL><br />
- Error Vous devez définir une et une seule des deux variables SSL
- ou NOSSL.<br />
- </IfDefine><br />
- </IfDefine><br />
- </example>
+ <highlight language="config">
+# Exemple
+# vérification du chargement de mod_include
+<IfModule !include_module>
+ Error "mod_include is required by mod_foo. Load it with LoadModule."
+</IfModule>
+
+# vérification de la définition de SSL ou (exclusif) NOSSL
+<IfDefine SSL>
+<IfDefine NOSSL>
+ Error "Both SSL and NOSSL are defined. Define only one of them."
+</IfDefine>
+</IfDefine>
+<IfDefine !SSL>
+<IfDefine !NOSSL>
+ Error "Either SSL or NOSSL must be defined."
+</IfDefine>
+</IfDefine>
+ </highlight>
</usage>
</directivesynopsis>
<li>afficher un message personnalisé</li>
- <li>rediriger vers un <var>chemin d'URL</var> local pour traiter
+ <li>rediriger en interne vers un <var>chemin d'URL</var> local pour traiter
le problème ou l'erreur</li>
<li>rediriger vers une <var>URL</var> externe pour traiter
Alternativement, un message à afficher par le navigateur pourra être
fourni. Exemples :</p>
- <example>
- ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
- ErrorDocument 401 /subscription_info.html<br />
- ErrorDocument 403 "Désolé, vous n'avez pas l'autorisation d'accès
- aujourd'hui"<br />
- ErrorDocument 403 Interdit!
- </example>
+ <highlight language="config">
+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"
+ErrorDocument 403 Forbidden!
+ </highlight>
<p>De plus, on peut spécifier la valeur spéciale <code>default</code>
pour indiquer l'utilisation d'un simple message d'Apache httpd codé en
les configurations qui sans cela, hériteraient d'une directive
<directive>ErrorDocument</directive> existante.</p>
- <example>
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
- <Directory /web/docs><br />
- <indent>
- ErrorDocument 404 default<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+ErrorDocument 404 /cgi-bin/bad_urls.pl
+
+<Directory /web/docs>
+ ErrorDocument 404 default
+</Directory>
+ </highlight>
<p>Notez que lorsque vous spécifiez une directive
<directive>ErrorDocument</directive> pointant vers une URL distante
absolu, il est considéré comme relatif au chemin défini par la
directive <directive module="core">ServerRoot</directive>.</p>
- <example><title>Exemple</title>
- ErrorLog /var/log/httpd/error_log
- </example>
+ <highlight language="config">ErrorLog "/var/log/httpd/error_log"</highlight>
<p>Si le <var>chemin fichier</var> commence par une barre verticale
"<code>(|)</code>", il est considéré comme une commande à lancer pour traiter la
journalisation de l'erreur.</p>
- <example><title>Exemple</title>
- ErrorLog "|/usr/local/bin/erreurs_httpd"
- </example>
+ <highlight language="config">ErrorLog "|/usr/local/bin/httpd_errors"</highlight>
<p>Voir les notes à propos des <a href="../logs.html#piped">journaux
redirigés</a> pour plus d'informations.</p>
<p>L'utilisation de <code>syslog</code> à la place d'un nom de
fichier active la journalisation via syslogd(8) si le système le
- supporte. Le dispositif syslog par défaut est <code>local7</code>,
+ supporte et si <module>mod_syslog</module> a été chargé. Le
+ dispositif syslog par défaut est <code>local7</code>,
mais vous pouvez le modifier à l'aide de la syntaxe
<code>syslog:<var>facility</var></code>, où <var>facility</var> peut
être remplacé par un des noms habituellement documentés dans la page
global, et si il est modifié dans un serveur virtuel, le dispositif
final spécifié affecte l'ensemble du serveur</p>
- <example><title>Exemple</title>
- ErrorLog syslog:user
- </example>
+ <highlight language="config">ErrorLog syslog:user</highlight>
+
+ <p>Des modules additionnels peuvent implémenter leur propre
+ fournisseur ErrorLog. La syntaxe est similaire à l'exemple
+ <code>syslog</code> ci-dessus.</p>
<p>SECURITE : Voir le document <a
href="../misc/security_tips.html#serverroot">conseils à propos de
spécifier quelles informations supplémentaires vont être enregistrées
dans le journal des erreurs en plus du message habituel.</p>
- <example><title>Exemple simple</title>
- ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
- </example>
+ <highlight language="config">
+# Exemple simple
+ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ </highlight>
<p>La spécification de <code>connection</code> ou
<code>request</code> comme premier paramètre permet de définir des
c'est son identifiant unique qui sera utilisé comme identifiant de
journal pour les requêtes.</p>
- <example><title>Exemple (format par défaut)</title>
- ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a]
- %M% ,\ referer\ %{Referer}i"
- </example>
+ <highlight language="config">
+# Exemple (format par défaut pour les MPMs threadés)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ </highlight>
<p>Cet exemple renverrait un message d'erreur du style :</p>
<p>Notez que, comme indiqué plus haut, certains champs sont
totalement supprimés s'ils n'ont pas été définis.</p>
- <example><title>Exemple (similaire au format 2.2.x)</title>
- ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a]
- %M% ,\ referer\ %{Referer}i"
- </example>
+ <highlight language="config">
+# Exemple (similaire au format 2.2.x)
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ </highlight>
- <example><title>Exemple avancé avec identifiants journal de
- requête/connexion</title>
- ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br/>
- ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br/>
- </example>
+ <highlight language="config">
+# Exemple avancé avec identifiants journal de requête/connexion
+ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
+ </highlight>
</usage>
<seealso><directive module="core">ErrorLog</directive></seealso>
<dd>La taille du fichier en octets sera incluse</dd>
<dt><strong>All</strong></dt>
<dd>Tous les champs disponibles seront utilisés. Cette définition
- est équivalente à : <example>FileETag INode MTime
- Size</example></dd>
+ est équivalente à :
+ <highlight language="config">FileETag INode MTime Size</highlight></dd>
<dt><strong>None</strong></dt>
<dd>Si le document se compose d'un fichier, aucun champ
<code>ETag</code> ne sera inclus dans la réponse</dd>
<p>L'argument <var>filename</var> peut contenir un nom de fichier
ou une chaîne de caractères avec caractères génériques, où
<code>?</code> remplace un caractère, et <code>*</code> toute chaîne
- de caractères. On peut aussi utiliser les <glossary
+ de caractères.</p>
+ <highlight language="config">
+<Files "cat.html">
+ # Insérer ici des directives qui s'appliquent au fichier cat.html
+</Files>
+
+<Files "?at.*">
+ # Les directives insérées ici s'appliqueront aux fichiers
+ # cat.html, bat.html, hat.php, et ainsi de suite.
+</Files>
+</highlight>
+
+ <p>On peut aussi utiliser les <glossary
ref="regex">Expressions rationnelles</glossary> en ajoutant la
caractère <code>~</code>. Par exemple :</p>
- <example>
- <Files ~ "\.(gif|jpe?g|png)$">
- </example>
+ <highlight language="config">
+<Files ~ "\.(gif|jpe?g|png)$">
+ #...
+</Files>
+</highlight>
<p>correspondrait à la plupart des formats graphiques de l'Internet.
Il est cependant préférable d'utiliser la directive <directive
<glossary ref="regex">expressions rationnelles</glossary>. Par
exemple :</p>
- <example>
- <FilesMatch "\.(gif|jpe?g|png)$">
- </example>
+ <highlight language="config">
+<FilesMatch "\.(gif|jpe?g|png)$">
+ # ...
+</FilesMatch>
+</highlight>
<p>correspondrait à la plupart des formats graphiques de
l'Internet.</p>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
+ par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="expr.html">expressions</a>
+ ou au sein de modules comme <module>mod_rewrite</module>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<highlight language="config">
+<FileMatch ^(?<sitename>[^/]+)>
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</FileMatch>
+</highlight>
</usage>
<seealso><a href="../sections.html">Comment fonctionnent les sections
<contextlist><context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>Intégré dans le coeur d'Apache httpd depuis la version
-2.0</compatibility>
<usage>
<p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou
pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser
:</p>
- <example>
- ForceType image/gif
- </example>
+ <highlight language="config">ForceType image/gif</highlight>
<p>Notez que cette directive l'emporte sur d'autres associations de
type de médium indirectes définies dans mime.types ou via la
<directive>ForceType</directive> en affectant la valeur
<code>None</code> à l'argument <var>type médium</var> :</p>
- <example>
- # force le type MIME de tous les fichiers à image/gif:<br />
- <Location /images><br />
- <indent>
- ForceType image/gif<br />
- </indent>
- </Location><br />
- <br />
- # mais utilise les méthodes classiques d'attribution du type MIME
- # dans le sous-répertoire suivant :<br />
- <Location /images/mixed><br />
- <indent>
- ForceType None<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+# force le type MIME de tous les fichiers à image/gif:
+<Location /images>
+ ForceType image/gif
+</Location>
+
+# mais utilise les méthodes classiques d'attribution du type MIME
+# dans le sous-répertoire suivant :
+<Location /images/mixed>
+ ForceType None
+</Location>
+ </highlight>
<p>A la base, cette directive écrase le type de contenu généré pour
les fichiers statiques servis à partir du sytème de fichiers. Pour
si et seulement si l'expression renvoie la valeur "vrai". Par
exemple :</p>
- <example>
- <If "-z req('Host')">
- </example>
+ <highlight language="config"><If "-z req('Host')"></highlight>
<p>serait satisfaite pour les requêtes HTTP/1.0 sans en-tête
<var>Host:</var>. Les expressions peuvent contenir différents
à usages divers (<code>-n</code>, <code>-z</code>, <code>-f</code>,
...). Les expressions rationnelles sont aussi supportées,</p>
- <example>
- <If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
- </example>
+ <highlight language="config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></highlight>
<p>ainsi que les comparaison de modèles de type shell et de
nombreuses autres opérations. Ces opérations peuvent être effectuées
propriétés. La documentation complète est disponible dans <a
href="../expr.html">Les expressions dans le serveur HTTP Apache</a>.</p>
+ <p>Cette section de configuration ne peut contenir que des
+ directives qui supportent le <a
+ href="mod/directive-dict.html#Context">contexte de répertoire</a>.</p>
+
</usage>
<seealso><a href="../expr.html">Les expressions dans le serveur HTTP
peuvent être imbriquées, ce qui permet d'implémenter un test
multi-paramètres simple. Exemple :</p>
- <example>
- httpd -DReverseProxy -DUseCache -DMemCache ...<br />
- <br />
- # httpd.conf<br />
- <IfDefine ReverseProxy><br />
- <indent>
- LoadModule proxy_module modules/mod_proxy.so<br />
- LoadModule proxy_http_module modules/mod_proxy_http.so<br />
- <IfDefine UseCache><br />
- <indent>
- LoadModule cache_module modules/mod_cache.so<br />
- <IfDefine MemCache><br />
- <indent>
- LoadModule mem_cache_module modules/mod_mem_cache.so<br />
- </indent>
- </IfDefine><br />
- <IfDefine !MemCache><br />
- <indent>
- LoadModule cache_disk_module modules/mod_cache_disk.so<br />
- </indent>
- </IfDefine>
- </indent>
- </IfDefine>
- </indent>
- </IfDefine>
- </example>
+ <example>httpd -DReverseProxy -DUseCache -DMemCache ...</example>
+ <highlight language="config">
+<IfDefine ReverseProxy>
+ LoadModule proxy_module modules/mod_proxy.so
+ LoadModule proxy_http_module modules/mod_proxy_http.so
+ <IfDefine UseCache>
+ LoadModule cache_module modules/mod_cache.so
+ <IfDefine MemCache>
+ LoadModule mem_cache_module modules/mod_mem_cache.so
+ </IfDefine>
+ <IfDefine !MemCache>
+ LoadModule cache_disk_module modules/mod_cache_disk.so
+ </IfDefine>
+ </IfDefine>
+</IfDefine>
+ </highlight>
</usage>
</directivesynopsis>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>All</override>
-<compatibility>Les identificateurs de modules sont disponibles dans les
-versions 2.1 et supérieures.</compatibility>
<usage>
<p>La section <code><IfModule
host</context>
<context>directory</context>
</contextlist>
-<compatibility>Utilisation des caractères génériques dans la partie nom
-de fichier depuis la version 2.0.41, et dans la partie chemin depuis la
-version 2.3.6</compatibility>
+<compatibility>Utilisation des caractères
+génériques dans la partie chemin depuis la version 2.3.6</compatibility>
<usage>
<p>Cette directive permet l'inclusion d'autres fichiers de
<p>Exemples :</p>
- <example>
- Include /usr/local/apache2/conf/ssl.conf<br />
- Include /usr/local/apache2/conf/vhosts/*.conf
- </example>
+ <highlight language="config">
+Include /usr/local/apache2/conf/ssl.conf
+Include /usr/local/apache2/conf/vhosts/*.conf
+ </highlight>
<p>ou encore, avec des chemins relatifs au répertoire défini par la
directive <directive module="core">ServerRoot</directive> :</p>
- <example>
- Include conf/ssl.conf<br />
- Include conf/vhosts/*.conf
- </example>
+ <highlight language="config">
+Include conf/ssl.conf
+Include conf/vhosts/*.conf
+ </highlight>
<p>On peut aussi insérer des caractères génériques dans la partie
répertoires du chemin. Dans l'exemple suivant, la directive
échouera si aucun sous-répertoire de conf/vhosts ne contient au
moins un fichier *.conf :</p>
- <example>
- Include conf/vhosts/*/*.conf
- </example>
+ <highlight language="config">Include conf/vhosts/*/*.conf</highlight>
<p>Par contre, dans l'exemple suivant, la directive sera simplement
ignorée si aucun sous-répertoire de conf/vhosts ne contient au
moins un fichier *.conf :</p>
- <example>
- IncludeOptional conf/vhosts/*/*.conf
- </example>
+ <highlight language="config">IncludeOptional conf/vhosts/*/*.conf</highlight>
</usage>
<code>DELETE</code>, en laissant les autres méthodes sans protection
:</p>
- <example>
- <Limit POST PUT DELETE><br />
- <indent>
- Require valid-user<br />
- </indent>
- </Limit>
- </example>
+ <highlight language="config">
+<Limit POST PUT DELETE>
+ Require valid-user
+</Limit>
+ </highlight>
<p>La liste des noms de méthodes peut contenir une ou plusieurs
valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>,
<code>POST</code>, et la directive <code>Require group
editors</code> sera ignorée dans tous les cas :</p>
- <example>
- <LimitExcept GET>
- <indent>
- Require valid-user
- </indent>
- </LimitExcept><br />
- <Limit POST>
- <indent>
- Require group editors
- </indent>
- </Limit>
- </example>
+ <highlight language="config">
+<LimitExcept GET>
+ Require valid-user
+</LimitExcept>
+<Limit POST>
+ Require group editors
+</Limit>
+ </highlight>
</usage>
</directivesynopsis>
<p>Par exemple :</p>
- <example>
- <LimitExcept POST GET><br />
- <indent>
- Require valid-user<br />
- </indent>
- </LimitExcept>
- </example>
+ <highlight language="config">
+<LimitExcept POST GET>
+ Require valid-user
+</LimitExcept>
+ </highlight>
</usage>
</directivesynopsis>
<contextlist><context>server config</context><context>virtual
host</context>
</contextlist>
-<compatibility>Disponible à partir de la version 2.0.47 d'Apache httpd</compatibility>
<usage>
<p>Une redirection interne survient, par exemple, quand on utilise
maximum des sous-requêtes. Si vous ne spécifiez qu'un seul
<var>nombre</var>, il sera affecté aux deux limites.</p>
- <example><title>Exemple</title>
- LimitInternalRecursion 5
- </example>
+ <highlight language="config">LimitInternalRecursion 5</highlight>
</usage>
</directivesynopsis>
fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante
:</p>
- <example>
- LimitRequestBody 102400
- </example>
+ <highlight language="config">LimitRequestBody 102400</highlight>
<note><p>Pour une description détaillée de la manière dont cette
directive est interprétée par les requêtes mandatées, voir la
<p>Par exemple :</p>
- <example>
- LimitRequestFields 50
- </example>
+ <highlight language="config">LimitRequestFields 50</highlight>
<note type="warning"><title>Avertissement</title>
<p>Dans le cas des serveurs virtuels à base de noms, la valeur de
<p>Par exemple ::</p>
- <example>
- LimitRequestFieldSize 4094
- </example>
+ <highlight language="config">LimitRequestFieldSize 4094</highlight>
<note>Dans des conditions normales, la valeur par défaut de cette
- directive ne doit pas être modifiée. En outre, vous ne
- pouvez pas spécifier une valeur supérieure à 8190 sans modifier le
- code source et recompiler.</note>
+ directive ne doit pas être modifiée.</note>
<note type="warning"><title>Avertissement</title>
<p>Dans le cas des serveurs virtuels à base de noms, la valeur de
<p>Par exemple :</p>
- <example>
- LimitRequestLine 4094
- </example>
+ <highlight language="config">LimitRequestLine 4094</highlight>
<note>Dans des conditions normales, la valeur par défaut de cette
directive ne doit pas être modifiée. En outre, vous ne
<p>Exemple :</p>
- <example>
- LimitXMLRequestBody 0
- </example>
+ <highlight language="config">LimitXMLRequestBody 0</highlight>
</usage>
</directivesynopsis>
directives contenues dans la section s'appliqueront à /private1,
/private1/ et /private1/file.txt, mais pas à /private1other.
</p>
- <example>
- <Location /private1>
- ...
- </example>
+ <highlight language="config">
+<Location /private1>
+ # ...
+</Location>
+ </highlight>
<p>
De même, dans l'exemple ci-dessous, où l'on utilise un slash de fin, les
directives contenues dans la section s'appliqueront à /private2/ et
à /private2/file.txt, mais pas à /private2other.
</p>
- <example>
- <Location /private2<em>/</em>>
- ...
- </example>
+ <highlight language="config">
+<Location /private2<em>/</em>>
+ # ...
+</Location>
+ </highlight>
<note><title>Quand utiliser la section <directive
type="section">Location</directive></title>
rationnelles</glossary>, moyennant l'addition d'un caractère
<code>~</code>. Par exemple :</p>
- <example>
- <Location ~ "/(extra|special)/data">
- </example>
+ <highlight language="config">
+<Location ~ "/(extra|special)/data">
+ #...
+</Location>
+</highlight>
<p>concernerait les URLs contenant les sous-chaîne
<code>/extra/data</code> ou <code>/special/data</code>. La directive
appartenant au domaine <code>example.com</code>, vous pouvez
utiliser :</p>
- <example>
- <Location /status><br />
- <indent>
- SetHandler server-status<br />
- Require host example.com<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+<Location /status>
+ SetHandler server-status
+ Require host example.com
+</Location>
+ </highlight>
<note><title>Note à propos du slash (/)</title>
<p>La signification du caractère slash dépend de l'endroit où il
ref="regex">expression rationnelle</glossary> au lieu d'une simple
chaîne de caractères. Par exemple :</p>
- <example>
- <LocationMatch "/(extra|special)/data">
- </example>
+ <highlight language="config">
+<LocationMatch "/(extra|special)/data">
+ # ...
+</LocationMatch>
+</highlight>
<p>correspondrait à toute URL contenant les sous-chaînes
<code>/extra/data</code> ou <code>/special/data</code>.</p>
+
+ <p>A partir de la version 2.4.8, les groupes nommés et les
+ références arrières sont extraits et enregistrés dans
+ l'environnement avec leur nom en majuscules et préfixé
+ par "MATCH_". Ceci permet
+ de référencer des URLs dans des <a href="expr.html">expressions</a>
+ ou au sein de modules comme <module>mod_rewrite</module>. Pour
+ éviter toute confusion, les références arrières numérotées (non
+ nommées) sont ignorées. Vous devez utiliser à la place des groupes
+ nommés.</p>
+
+<highlight language="config">
+<LocationMatch ^/combined/(?<sitename>[^/]+)>
+ require ldap-group cn=%{env:MATCH_SITENAME},ou=combined,o=Example
+</LocationMatch>
+</highlight>
</usage>
<seealso><a href="../sections.html">Comment fonctionnent les sections
<Directory>, <Location> et <Files></a> pour une
<p>Par exemple :</p>
- <example>
- LogLevel notice
- </example>
+ <highlight language="config">LogLevel notice</highlight>
<note><title>Note</title>
<p>Si la journalisation s'effectue directement dans un fichier,
identificateur, avec ou sans le suffixe <code>_module</code>. Les
trois spécifications suivantes sont donc équivalentes :</p>
- <example>
- LogLevel info ssl:warn<br />
- LogLevel info mod_ssl.c:warn<br />
- LogLevel info ssl_module:warn<br />
- </example>
+ <highlight language="config">
+LogLevel info ssl:warn
+LogLevel info mod_ssl.c:warn
+LogLevel info ssl_module:warn
+ </highlight>
<p>Il est aussi possible d'attribuer un niveau de journalisation par
répertoire :</p>
- <example>
- LogLevel info<br />
- <Directory /usr/local/apache/htdocs/app><br />
- LogLevel debug<br />
- </Files>
- </example>
+ <highlight language="config">
+LogLevel info
+<Directory "/usr/local/apache/htdocs/app">
+ LogLevel debug
+</Directory>
+ </highlight>
<note>
La configuration du niveau de journalisation par répertoire
n'affecte que les messages journalisés après l'interprétation de
la requête et qui sont associés à cette dernière. Les messages
- de journalisation associés à la connexion ou au serveur ne sont
- pas affectés.
+ de journalisation associés au serveur ou à la connexion ne sont
+ pas affectés. Il est cependant possible d'agir sur ces
+ derniers à l'aide de la directive <directive
+ module="core">LogLevelOverride</directive>.
+ </note>
+</usage>
+<seealso><directive module="core">ErrorLog</directive></seealso>
+<seealso><directive module="core">ErrorLogFormat</directive></seealso>
+<seealso><directive module="core">LogLevelOverride</directive></seealso>
+<seealso><a href="../logs.html">Journaux du serveur HTTP Apache</a></seealso>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>LogLevelOverride</name>
+<description>Surcharge la verbosité du journal des erreurs pour certains
+clients</description>
+<syntax>LogLevel <var>ipaddress</var>[/<var>prefixlen</var>]
+ [<var>module</var>:]<var>level</var> [<var>module</var>:<var>level</var>] ...
+</syntax>
+<default>non définie</default>
+<contextlist><context>server config</context><context>virtual host</context>
+</contextlist>
+<compatibility>Disponible à partir de la version 2.5.0 du serveur HTTP
+Apache.</compatibility>
+
+<usage>
+ <p>La directive <directive>LogLevelOverride</directive> permet
+ d'affiner la définition de la directive <directive
+ module="core">LogLevel</directive> pour les requêtes en provenance
+ de certaines adresses IP. Il est ainsi possible d'activer une
+ journalisation détaillée seulement pour certains clients à des fins
+ de test. Les adresses IP sont vérifiées à un stade très précoce du
+ processus de connexion. Ainsi, la directive
+ <directive>LogLevelOverride</directive> permet de modifier le niveau
+ de journalisation pour des processus comme la négociation SSL qui
+ intervient avant l'évaluation d'une éventuelle directive <directive
+ module="core">LogLevel</directive> au sein d'un conteneur <directive
+ type="section" module="core">If</directive>.</p>
+
+ <p>La directive <directive>LogLevelOverride</directive> accepte soit
+ une adresse IP simple, soit une spécification de sous-réseau CIDR de
+ la forme adresse-IP/masque. Pour la syntaxe de la spécification du
+ niveau de journalisation, voir la directive <directive
+ module="core">LogLevel</directive> directive.</p>
+
+ <p>Pour les requêtes concernées par une directive
+ <directive>LogLevelOverride</directive>, les spécifications de
+ niveau répertoire de la directive <directive
+ module="core">LogLevel</directive> sont ignorées.</p>
+
+ <p>Exemples:</p>
+
+ <highlight language="config">
+ LogLevelOverride 192.0.2.0/24 ssl:trace6
+ LogLevelOverride 192.0.2.7 ssl:trace8
+ </highlight>
+
+ <note>
+ La directive <directive
+ module="core">LogLevelOverride</directive> n'affecte que les
+ messages associés à la requête ou à la connexion. Les messages
+ associés au serveur ne sont pas affectés.
</note>
+
</usage>
+<seealso><directive module="core">LogLevel</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<p>Par exemple :</p>
- <example>
- MaxKeepAliveRequests 500
- </example>
+ <highlight language="config">MaxKeepAliveRequests 500</highlight>
</usage>
</directivesynopsis>
<p>Avec les mécanismes à base de fichier <em>fcntl</em> et
<em>flock</em>, le chemin, s'il est fourni, est un répertoire dans
lequel le fichier verrou sera créé. Le répertoire par défaut est le
- répertoire httpd défini par la directive <directive
- module="core">ServerRoot</directive>. Utilisez toujours un système
+ répertoire d'exécution httpd défini par la directive <directive
+ module="core">DefaultRuntimeDir</directive>. Si le répertoire
+ spécifié est un chemin relatif, il est relatif au chemin défini par
+ la directive <directive module="core">DefaultRuntimeDir</directive>.
+ Utilisez toujours un système
de fichiers local sur disque pour <code>/chemin/vers/mutex</code> et
jamais un répertoire se trouvant dans un système de fichiers NFS ou
AFS. Le nom de base du fichier se composera du type de mutex, d'une
mutex par défaut pour tous les autres mutex deviendra
<code>sysvsem</code>.</p>
- <example>
- Mutex sysvsem default<br />
- Mutex fcntl:/var/httpd/locks mpm-accept
- </example>
+ <highlight language="config">
+Mutex sysvsem default
+Mutex fcntl:/var/httpd/locks mpm-accept
+ </highlight>
</usage>
</directivesynopsis>
<em>pas</em> le nom de chemin concerné défini par la section
<directive type="section"
module="core">Directory</directive>.</p>
- <p>Notez aussi que cette option <strong>est ignorée</strong> si
- elle est définie dans une section <directive type="section"
- module="core">Location</directive>.</p>
+
+ <p>Les options <code>FollowSymLinks</code> et
+ <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
+ sections <directive type="section"
+ module="core">Directory</directive> ou les fichiers
+ <code>.htaccess</code>.</p>
+
<p>Le fait d'omettre cette option ne doit pas être considéré comme
une mesure de sécurité efficace, car il existe toujours une
situation de compétition (race condition) entre l'instant où l'on
vers un fichier ou un répertoire dont le propriétaire est le même
que celui du lien.
- <note><title>Note</title> <p>Cette option est ignorée si elle est
- définie dans une section <directive module="core"
- type="section">Location</directive>.</p>
+ <note><title>Note</title>
+ <p>Les options <code>FollowSymLinks</code> et
+ <code>SymLinksIfOwnerMatch</code> ne fonctionnent que dans les
+ sections <directive type="section"
+ module="core">Directory</directive> ou les fichiers
+ <code>.htaccess</code>.</p>
+
<p>Le fait d'omettre cette option ne doit pas être considéré comme
une mesure de sécurité efficace, car il existe toujours une
situation de compétition (race condition) entre l'instant où l'on
vérifie qu'un chemin n'est pas un lien symbolique, et l'instant où
- l'on utilise effectivement ce chemin.</p></note>
- </dd>
+ l'on utilise effectivement ce chemin.</p>
+ </note> </dd>
</dl>
<p>Normalement, si plusieurs directives
<p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code>
:</p>
- <example>
- <Directory /web/docs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /web/docs/spec><br />
- <indent>
- Options Includes<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/web/docs">
+ Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+ Options Includes
+</Directory>
+ </highlight>
<p>ici, seule l'option <code>Includes</code> sera prise en compte
pour le répertoire <code>/web/docs/spec</code>. Par contre, si la
seconde directive <directive>Options</directive> utilise les
symboles <code>+</code> et <code>-</code> :</p>
- <example>
- <Directory /web/docs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /web/docs/spec><br />
- <indent>
- Options +Includes -Indexes<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/web/docs">
+ Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+ Options +Includes -Indexes
+</Directory>
+ </highlight>
<p>alors, les options <code>FollowSymLinks</code> et
<code>Includes</code> seront prises en compte pour le répertoire
<description>Protocole pour une socket d'écoute</description>
<syntax>Protocol <var>protocole</var></syntax>
<contextlist><context>server config</context><context>virtual host</context></contextlist>
-<compatibility>Disponible depuis la version 2.1.5 d'Apache, mais
-seulement depuis la version 2.3.3 sous Windows.</compatibility>
+<compatibility>Sous Windows, disponible à partir de la version 2.3.3 du
+serveur HTTP Apache.</compatibility>
<usage>
<p>Cette directive permet de spécifier le protocole utilisé pour une
<code>https</code> sur un port non standard, spécifiez le protocole
de manière explicite :</p>
- <example>
- Protocol https
- </example>
+ <highlight language="config">Protocol https</highlight>
<p>Vous pouvez aussi spécifier le protocole via la directive
<directive module="mpm_common">Listen</directive>.</p>
</usage>
-<seealso><directive>AcceptFilter</directive></seealso>
+<seealso><directive module="core">AcceptFilter</directive></seealso>
<seealso><directive module="mpm_common">Listen</directive></seealso>
</directivesynopsis>
host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
-<compatibility>Win32 seulement ;
-l'option <code>Registry-Strict</code> est disponible dans les versions
-2.0 et supérieures du serveur HTTP Apache</compatibility>
+<compatibility>Win32 seulement</compatibility>
<usage>
<p>Cette directive permet de contrôler la méthode qu'utilise Apache
<code>#!</code>). Sur les systèmes Win32, cette ligne ressemble
souvent à ceci :</p>
- <example>
- #!C:/Perl/bin/perl.exe
- </example>
+ <highlight language="perl">#!C:/Perl/bin/perl.exe</highlight>
<p>ou simplement, dans le cas où <code>perl</code> est dans le
<code>PATH</code> :</p>
- <example>
- #!perl
- </example>
+ <highlight language="perl">#!perl</highlight>
<p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va
effectuer une recherche dans l'arborescence
<syntax>SeeRequestTail On|Off</syntax>
<default>SeeRequestTail Off</default>
<contextlist><context>server config</context></contextlist>
-<compatibility>Disponible depuis la version 2.2.7
-d'Apache httpd.</compatibility>
<usage>
<p>Avec <code>ExtendedStatus On</code>, mod_status affiche la
<p>Il peut s'avérer utile de définir une adresse dédiée à
l'administration du serveur, par exemple :</p>
- <example>
- ServerAdmin www-admin@foo.example.com
- </example>
+ <highlight language="config">ServerAdmin www-admin@foo.example.com</highlight>
<p>car les utilisateurs ne mentionnent pas systématiquement le
serveur dont ils parlent !</p>
</usage>
nom</a>. La directive <directive>ServerAlias</directive> peut
contenir des caractères génériques, si nécessaire.</p>
- <example>
- <VirtualHost *:80><br />
- ServerName serveur.example.com<br />
- ServerAlias serveur serveur2.example.com serveur2<br />
- ServerAlias *.example.com<br />
- UseCanonicalName Off<br />
- # ...<br />
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost *:80>
+ ServerName server.example.com
+ ServerAlias server server2.example.com server2
+ ServerAlias *.example.com
+ UseCanonicalName Off
+ # ...
+</VirtualHost>
+ </highlight>
+ <p>La recherche du serveur virtuel à base de nom correspondant au
+ plus près à la requête s'effectue selon l'ordre d'apparition des
+ directives <directive type="section"
+ module="core">virtualhost</directive> dans le fichier de
+ configuration. Le premier serveur virtuel dont le <directive
+ module="core">ServerName</directive> ou le <directive
+ module="core">ServerAlias</directive> correspond est choisi, sans
+ priorité particulière si le nom contient des caractères génériques
+ (que ce soit pour ServerName ou ServerAlias).</p>
+
+ <p>Tous les noms spécifiés au sein d'une section
+ <directive>VirtualHost</directive> sont traités comme un
+ <directive>ServerAlias</directive> (sans caractères génériques).</p>
+
</usage>
<seealso><directive module="core">UseCanonicalName</directive></seealso>
<seealso><a href="../vhosts/">Documentation sur les serveurs virtuels
web s'identifie avec cet alias, vous devez utilisez la définition
suivante :</p>
- <example>
- ServerName www.example.com
- </example>
+ <highlight language="config">ServerName www.example.com</highlight>
<p>La directive <directive>ServerName</directive> peut apparaître à
toutes les étapes de la définition du serveur. Toute occurrence
module="mod_so">LoadModule</directive>) seront définis par
rapport à ce répertoire.</p>
- <example><title>Example</title>
- ServerRoot /home/httpd
- </example>
+ <highlight language="config">ServerRoot "/home/httpd"</highlight>
<p>La valeur par défaut de <directive>ServerRoot</directive> peut
être modifiée via l'argument <code>--prefix</code> de la commande <a
<dl>
<dt><code>ServerTokens Full</code> (ou non spécifié)</dt>
- <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.1
+ <dd>Le serveur envoie par exemple : <code>Server: Apache/2.4.2
(Unix) PHP/4.2.2 MyMod/1.2</code></dd>
-
-
-
- <dt><code>ServerTokens Prod[uctOnly]</code></dt>
+ <dt><code>ServerTokens Prod[uctOnly]</code></dt>
<dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
Apache</code></dd>
<dt><code>ServerTokens Min[imal]</code></dt>
<dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
- Apache/2.4.1</code></dd>
+ Apache/2.4.2</code></dd>
<dt><code>ServerTokens OS</code></dt>
<dd>Le serveur renvoie (<em>par exemple</em>): <code>Server:
- Apache/2.4.1 (Unix)</code></dd>
+ Apache/2.4.2 (Unix)</code></dd>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>Intégré dans le noyau d'Apache httpd depuis la version
-2.0</compatibility>
<usage>
<p>Lorsqu'elle se situe à l'intérieur d'un fichier
extensions, vous pouvez ajouter la ligne suivante dans un fichier
<code>.htaccess</code> de ce répertoire :</p>
- <example>
- SetHandler imap-file
- </example>
+ <highlight language="config">SetHandler imap-file</highlight>
<p>Autre exemple : si vous voulez que le serveur affiche un
compte-rendu d'état chaque fois qu'une URL du type <code>http://nom
serveur/status</code> est appelée, vous pouvez ajouter ceci dans
<code>httpd.conf</code> :</p>
- <example>
- <Location /status><br />
- <indent>
- SetHandler server-status<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+<Location "/status">
+ SetHandler server-status
+</Location>
+ </highlight>
+
+ <p>Vous pouvez aussi utiliser cette directive pour associer un
+ gestionnaire à des fichiers possèdant une extension de nom de
+ fichier particulière. Par exemple :</p>
+
+ <highlight language="config">
+<FilesMatch \.php$>
+ SetHandler application/x-httpd-php
+</FilesMatch>
+ </highlight>
<p>Vous pouvez écraser la définition antérieure d'une directive
<directive>SetHandler</directive> en utilisant la valeur
fichiers du répertoire <code>/www/data/</code> comme des inclusions
côté serveur (SSI) :</p>
- <example>
- <Directory /www/data/><br />
- <indent>
- SetOutputFilter INCLUDES<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/www/data/">
+ SetOutputFilter INCLUDES
+</Directory>
+ </highlight>
<p>Si la directive comporte plusieurs filtres, ils doivent être
séparés par des points-virgules, et spécifiés selon l'ordre dans
maximum jusqu'à l'arrivée de l'accusé-réception d'un paquet si le
tampon d'envoi est plein.</li>
- <li>Avec <module>mod_cgi</module>, le temps d'attente maximum des
+ <li>Avec <module>mod_cgi</module> et <module>mod_cgid</module>, le temps d'attente maximum des
sorties d'un script CGI.</li>
<li>Avec <module>mod_ext_filter</module>, le temps d'attente
<syntax>TraceEnable <var>[on|off|extended]</var></syntax>
<default>TraceEnable on</default>
<contextlist><context>server config</context><context>virtual host</context></contextlist>
-<compatibility>Disponible dans les versions 1.3.34, 2.0.55 et
-supérieures du serveur HTTP Apache</compatibility>
<usage>
<p>Cette directive l'emporte sur le comportement de
y compris les en-têtes de fractionnement avec le corps de la
réponse. Dans le cas d'un serveur mandataire, la taille du corps de
requête n'est pas limitée à 64k.</p>
+
+ <note><title>Note</title>
+ <p>Bien que certains prétendent le contraire, <code>TRACE</code> ne
+ constitue pas une vulnérabilité en matière de sécurité, et il n'y a
+ aucune raison suffisante pour le désactiver, ce qui rendrait
+ votre serveur non conforme.</p>
+ </note>
</usage>
</directivesynopsis>
l'authentification, ceci va obliger l'utilisateur à s'authentifier
deux fois (une première fois pour <code>www</code> et une seconde
fois pour <code>www.example.com</code> -- voir <a
- href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">la
- foire aux questions sur ce sujet pour plus d'informations</a>). Par
- contre, si <directive>UseCanonicalName</directive> est définie à
+ href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F">la
+ foire aux questions sur ce sujet pour plus d'informations</a>).
+ Par contre, si <directive>UseCanonicalName</directive> est définie à
<code>Off</code>, Apache httpd redirigera l'utilisateur vers
<code>http://www/splat/</code>.</p>
</ul>
- <example><title>Exemple</title>
- <VirtualHost 10.1.2.3:80><br />
- <indent>
- ServerAdmin webmaster@host.example.com<br />
- DocumentRoot /www/docs/host.example.com<br />
- ServerName host.example.com<br />
- ErrorLog logs/host.example.com-error_log<br />
- TransferLog logs/host.example.com-access_log<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost 10.1.2.3:80>
+ ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+</VirtualHost>
+ </highlight>
<p>Les adresses IPv6 doivent être entourées de crochets car dans le
déterminé. Voici un exemple de serveur virtuel avec adresse IPv6
:</p>
- <example>
- <VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80><br />
- <indent>
- ServerAdmin webmaster@host.example.com<br />
- DocumentRoot /www/docs/host.example.com<br />
- ServerName host.example.com<br />
- ErrorLog logs/host.example.com-error_log<br />
- TransferLog logs/host.example.com-access_log<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
+ ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+</VirtualHost>
+ </highlight>
<p>Chaque serveur virtuel doit correspondre à une adresse IP, un
port ou un nom d'hôte spécifique ; dans le premier cas, le serveur
entre elles à la réception d'une requête</seealso>
</directivesynopsis>
+<directivesynopsis>
+<name>RegisterHttpMethod</name>
+<description>Enregistrement de méthodes HTTP non standards</description>
+<syntax>RegisterHttpMethod <var>méthode</var> [<var>méthode</var> [...]]</syntax>
+<contextlist><context>server config</context></contextlist>
+
+<usage>
+<p>Normalement, les méthodes HTTP non conformes aux RFCs correspondantes
+sont rejetées au cours du traitement de la requête par HTTPD. Pour
+éviter ceci, les modules peuvent enregistrer les méthodes HTTP non
+standards qu'ils supportent. La directive
+<directive>RegisterHttpMethod</directive> permet d'enregistrer de telles
+méthodes manuellement. Ceci peut s'avérer utile si de telle méthodes
+doivent être utilisées dans un traitement externe, comme un script CGI.</p>
+</usage>
+</directivesynopsis>
+
+<directivesynopsis>
+<name>Warning</name>
+<description>Message d'avertissement personnalisable en provenance de
+l'interprétation du fichier de configuration</description>
+<syntax>Warning <var>message</var></syntax>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context><context>.htaccess</context>
+</contextlist>
+<compatibility>Disponible à partir de la version 2.5 du serveur HTTP
+Apache.</compatibility>
+
+<usage>
+ <p>Cette directive permet de signaler la détection d'un problème de
+ configuration en générant un message d'avertissement
+ personnalisable. L'interprétation du fichier de configuration n'est
+ pas interrompue. Un exemple typique d'utilisation est la
+ vérification de la définition de certaines options définies par
+ l'utilisateur, et l'envoi d'un avertissement éventuel.</p>
+
+ <highlight language="config">
+# Exemple
+# signale que ReverseProxy n'est pas défini
+<IfDefine !ReverseProxy>
+ Warning "le mandataire inverse n'a pas été spécifié, veuillez corriger
+ si nécessaire"
+</IfDefine>
+
+<IfDefine ReverseProxy>
+ # définition de la configuration personnalisée du mandataire
+</IfDefine>
+ </highlight>
+
+</usage>
+</directivesynopsis>
+
</modulesynopsis>