diff options
Diffstat (limited to 'docs/manual/mod/core.html.fr')
-rw-r--r-- | docs/manual/mod/core.html.fr | 3905 |
1 files changed, 3905 insertions, 0 deletions
diff --git a/docs/manual/mod/core.html.fr b/docs/manual/mod/core.html.fr new file mode 100644 index 00000000..223bded9 --- /dev/null +++ b/docs/manual/mod/core.html.fr @@ -0,0 +1,3905 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>core - Serveur Apache HTTP</title> +<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> +<link href="../images/favicon.ico" rel="shortcut icon" /></head> +<body> +<div id="page-header"> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> +<p class="apache">Serveur Apache HTTP Version 2.2</p> +<img alt="" src="../images/feather.gif" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> +<div id="path"> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.2</a> > <a href="./">Modules</a></div> +<div id="page-content"> +<div id="preamble"><h1>Fonctionalités de Base Apache</h1> +<div class="toplang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/core.html" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> +<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache disponibles +en toutes circonstances</td></tr> +<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table> +</div> +<div id="quickview"><h3 class="directives">Directives</h3> +<ul id="toc"> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptfilter">AcceptFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#acceptpathinfo">AcceptPathInfo</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#accessfilename">AccessFileName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#adddefaultcharset">AddDefaultCharset</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#addoutputfilterbytype">AddOutputFilterByType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowencodedslashes">AllowEncodedSlashes</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#allowoverride">AllowOverride</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authname">AuthName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#authtype">AuthType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#cgimapextension">CGIMapExtension</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#contentdigest">ContentDigest</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#defaulttype">DefaultType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directory"><Directory></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#directorymatch"><DirectoryMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#documentroot">DocumentRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablemmap">EnableMMAP</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#enablesendfile">EnableSendfile</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errordocument">ErrorDocument</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#errorlog">ErrorLog</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#fileetag">FileETag</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#files"><Files></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#filesmatch"><FilesMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#forcetype">ForceType</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#gprofdir">GprofDir</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#hostnamelookups">HostnameLookups</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifdefine"><IfDefine></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#ifmodule"><IfModule></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#include">Include</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalive">KeepAlive</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#keepalivetimeout">KeepAliveTimeout</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limit"><Limit></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitexcept"><LimitExcept></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitinternalrecursion">LimitInternalRecursion</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestbody">LimitRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfields">LimitRequestFields</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestfieldsize">LimitRequestFieldSize</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitrequestline">LimitRequestLine</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#limitxmlrequestbody">LimitXMLRequestBody</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#location"><Location></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#locationmatch"><LocationMatch></a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#loglevel">LogLevel</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#namevirtualhost">NameVirtualHost</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#require">Require</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#satisfy">Satisfy</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#scriptinterpretersource">ScriptInterpreterSource</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveradmin">ServerAdmin</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serveralias">ServerAlias</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servername">ServerName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverpath">ServerPath</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serverroot">ServerRoot</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#serversignature">ServerSignature</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#servertokens">ServerTokens</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#sethandler">SetHandler</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setinputfilter">SetInputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#setoutputfilter">SetOutputFilter</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#suexec">Suexec</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#timeout">TimeOut</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#traceenable">TraceEnable</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalname">UseCanonicalName</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#virtualhost"><VirtualHost></a></li> +</ul> +</div> + +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptFilter" id="AcceptFilter">AcceptFilter</a> <a name="acceptfilter" id="acceptfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet d'optimiser la configuration d'un socket pour +l'écoute d'un protocole</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptFilter <var>protocole</var> <var>filtre +d'acceptation</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible avec Apache version 2.1.5 et +supérieures</td></tr> +</table> + <p>Cette directive permet d'effectuer une optimisation du socket + d'écoute d'un type de protocole en fonction du système + d'exploitation. Le but premier est de faire en sorte que le noyau + n'envoie pas de socket au processus du serveur jusqu'à ce que + des données soient reçues, ou qu'une requête HTTP complète soit mise + en tampon. Seuls les <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter& sektion=9">Filtres d'acceptation de FreeBSD</a> et le filtre plus + primitif <code>TCP_DEFER_ACCEPT</code> sous Linux sont actuellement + supportés.</p> + + <p>Sous FreeBSD, les valeurs par défaut sont :</p> + <div class="example"><p><code> + AcceptFilter http httpready <br /> + AcceptFilter https dataready + </code></p></div> + + <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 + entière a été reçue, le noyau l'envoie au serveur. Voir la page de + manuel de <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_http& sektion=9">accf_http(9)</a> pour plus de détails. Comme les requêtes + HTTPS sont chiffrées, celles-ci n'autorisent que le filtre <a href="http://www.freebsd.org/cgi/man.cgi?query=accf_data& sektion=9">accf_data(9)</a>.</p> + + <p>Sous Linux, les valeurs par défaut sont :</p> + <div class="example"><p><code> + AcceptFilter http data <br /> + AcceptFilter https data + </code></p></div> + + <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 + <code>none</code> active le filtre <code>TCP_DEFER_ACCEPT</code> + pour ce protocole. Pour plus de détails, voir la page de + manuel Linux de <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/ tcp.7.html">tcp(7)</a>.</p> + + <p>L'utilisation de la valeur <code>none</code> comme argument + désactive tout filtre d'acceptation pour ce protocole. Elle peut + être utile dans le cas d'un protocole pour lequel un serveur doit + d'abord envoyer des données, comme <code>nntp</code> :</p> + <div class="example"><p><code>AcceptFilter nntp none</code></p></div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive">Protocol</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AcceptPathInfo" id="AcceptPathInfo">AcceptPathInfo</a> <a name="acceptpathinfo" id="acceptpathinfo">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Les ressources acceptent des informations sous forme d'un +nom de chemin en fin de requête.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AcceptPathInfo On|Off|Default</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AcceptPathInfo Default</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible avec Apache version 2.0.30 et +supérieures</td></tr> +</table> + + <p>Cette directive permet de définir si les requêtes contenant des + informations sous forme d'un nom de chemin suivant le nom d'un + fichier réel (ou un fichier qui n'existe pas dans un répertoire qui + existe) doivent être acceptées ou rejetées. Les scripts peuvent + accéder à cette information via la variable d'environnement + <code>PATH_INFO</code>.</p> + + <p>Supposons par exemple que <code>/test/</code> pointe vers un + répertoire qui ne contient que le fichier <code>here.html</code>. + Les requêtes pour <code>/test/here.html/more</code> et + <code>/test/nothere.html/more</code> vont affecter la valeur + <code>/more</code> à la variable d'environnement + <code>PATH_INFO</code>.</p> + + <p>L'argument de la directive <code class="directive">AcceptPathInfo</code> + possède trois valeurs possibles :</p> + <dl> + <dt><code>Off</code></dt><dd>Une requête ne sera acceptée que si + elle correspond à un chemin qui existe. Par conséquent, une requête + contenant une information de chemin après le nom de fichier réel + comme <code>/test/here.html/more</code> dans l'exemple ci-dessus + renverra une erreur "404 NOT FOUND".</dd> + + <dt><code>On</code></dt><dd>Une requête sera acceptée si la partie + principale du chemin correspond à un fichier existant. Dans + l'exemple ci-dessus <code>/test/here.html/more</code>, la requête + sera acceptée si <code>/test/here.html</code> correspond à un nom de + fichier valide.</dd> + + <dt><code>Default</code></dt><dd>Le traitement des requêtes est + déterminé par le <a href="../handler.html">gestionnaire</a> responsable de la requête. + Le gestionnaire de base pour les fichiers normaux rejette par défaut + les requêtes avec <code>PATH_INFO</code>. Les gestionnaires qui + servent des scripts, comme<a href="mod_cgi.html">cgi-script</a> et <a href="mod_isapi.html">isapi-handler</a>, acceptent en général par + défaut les requêtes avec <code>PATH_INFO</code>.</dd> + </dl> + + <p>Le but premier de la directive <code>AcceptPathInfo</code> est de + vous permettre de remplacer le choix du gestionnaire d'accepter ou + de rejeter <code>PATH_INFO</code>. Ce remplacement est nécessaire + par exemple, lorsque vous utilisez un <a href="../filter.html">filtre</a>, comme <a href="mod_include.html">INCLUDES</a>, pour générer un contenu basé + 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> + + <div class="example"><p><code> + <Files "mes-chemins.shtml"><br /> + <span class="indent"> + Options +Includes<br /> + SetOutputFilter INCLUDES<br /> + AcceptPathInfo On<br /> + </span> + </Files> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AccessFileName" id="AccessFileName">AccessFileName</a> <a name="accessfilename" id="accessfilename">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom du fichier de configuration distribué</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AccessFileName <var>nom-du-fichier</var> +[<var>nom-du-fichier</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AccessFileName .htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Au cours du traitement d'une requête, le serveur recherche le + premier fichier de configuration existant à partir de la liste + de noms dans chaque répertoire composant le chemin du document, à + partir du moment où les fichiers de configuration distribués sont <a href="#allowoverride">activés pour ce répertoire</a>. Par exemple + :</p> + + <div class="example"><p><code> + AccessFileName .acl + </code></p></div> + + <p>avant de renvoyer le document + <code>/usr/local/web/index.html</code>, le serveur va rechercher les + fichiers <code>/.acl</code>, <code>/usr/.acl</code>, + <code>/usr/local/.acl</code> et <code>/usr/local/web/.acl</code> + pour y lire d'éventuelles directives, à moins quelles n'aient été + désactivées avec</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory> + </code></p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#allowoverride">AllowOverride</a></code></li> +<li><a href="../configuring.html">Fichiers de configuration</a></li> +<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddDefaultCharset" id="AddDefaultCharset">AddDefaultCharset</a> <a name="adddefaultcharset" id="adddefaultcharset">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Paramètre jeu de caractères par défaut à ajouter quand le +type de contenu d'une réponse est <code>text/plain</code> ou +<code>text/html</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddDefaultCharset On|Off|<var>jeu de caractères</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AddDefaultCharset Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive spécifie une valeur par défaut pour le paramètre + jeu de caractères du type de média (le nom d'un codage de + caractères) à ajouter à une réponse, si et seulement si le type de + contenu de la réponse est soit <code>text/plain</code>, soit + <code>text/html</code>. Ceci va remplacer + tout jeu de caractères spécifié dans le corps de la réponse via un + élément <code>META</code>, bien que cet effet dépende en fait + souvent de la configuration du client de l'utilisateur. La + définition de <code>AddDefaultCharset Off</code> désactive cette + fonctionnalité. <code>AddDefaultCharset On</code> ajoute un jeu de + caractères par défaut de <code>iso-8859-1</code>. Toute autre valeur + peut être définie via le paramètre <var>jeu de caractères</var>, qui + doit appartenir à la liste des <a href="http://www.iana.org/assignments/character-sets">valeurs de + jeux de caractères enregistrés par l'IANA</a> à utiliser dans les + types de média MIME. + Par exemple :</p> + + <div class="example"><p><code> + AddDefaultCharset utf-8 + </code></p></div> + + <p>La directive <code class="directive">AddDefaultCharset</code> ne doit + être utilisée que lorsque toutes les ressources textes auxquelles + elle s'applique possèdent le jeu de caractère spécifié, et qu'il est + trop contraignant de définir leur jeu de caractères + individuellement. Un exemple de ce type est l'ajout du paramètre jeu + de caractères aux ressources comportant un contenu généré, comme les + scripts CGI hérités qui peuvent être vulnérables à des attaques de + type cross-site scripting à cause des données utilisateurs incluses + dans leur sortie. Notez cependant qu'une meilleur solution consiste + à corriger (ou supprimer) ces scripts, car la définition d'un jeu de + caractères par défaut ne protège pas les utilisateurs qui ont activé + la fonctionnalité "Détection automatique de l'encodage des + caractères" dans leur navigateur.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addcharset">AddCharset</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AddOutputFilterByType" id="AddOutputFilterByType">AddOutputFilterByType</a> <a name="addoutputfilterbytype" id="addoutputfilterbytype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>assigne un filtre en sortie pour un type MIME +particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AddOutputFilterByType <var>filtre</var>[;<var>filtre</var>...] +<var>type MIME</var> [<var>type MIME</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.33 et supérieures ; +obsolète depuis les versions 2.1</td></tr> +</table> + <p>Cette directive active un <a href="../filter.html">filtre</a> en sortie particulier pour une + requête en fonction du <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> de la réponse. + Suite à certains problèmes évoqués plus loin, cette directive a été + abandonnée. Le même résultat peut être obtenu à l'aide du module + <code class="module"><a href="../mod/mod_filter.html">mod_filter</a></code>.</p> + + <p>L'exemple suivant active le filtre <code>DEFLATE</code> qui est + fourni par le module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Il va compresser + toute sortie dont le type MIME est <code>text/html</code> ou + <code>text/plain</code> avant de l'envoyer au client.</p> + + <div class="example"><p><code> + AddOutputFilterByType DEFLATE text/html text/plain + </code></p></div> + + <p>Si vous voulez assigner plusieurs filtres au contenu, leurs noms + doivent être séparés par des points-virgules. On peut aussi utiliser + une directive <code class="directive">AddOutputFilterByType</code> pour + chacun des filtres à assigner.</p> + + <p>La configuration ci-dessous impose le traitement de toute sortie + de script dont le type MIME est <code>text/html</code> en premier + lieu par le filtre <code>INCLUDES</code>, puis par le filtre + <code>DEFLATE</code>.</p> + + <div class="example"><p><code> + <Location /cgi-bin/><br /> + <span class="indent"> + Options Includes<br /> + AddOutputFilterByType INCLUDES;DEFLATE text/html<br /> + </span> + </Location> + </code></p></div> + + <div class="warning"><h3>Note</h3> + <p>L'activation de filtres par la directive + <code class="directive">AddOutputFilterByType</code> peut partiellement + échouer, ou même complètement dans certains cas. Par exemple, + aucun filtre n'est appliqué si le <a class="glossarylink" href="../glossary.html#type mime" title="voir glossaire">type MIME</a> + n'a pas pu être déterminé et est dans ce cas défini par la + directive <code class="directive"><a href="#defaulttype">DefaultType</a></code>, même + si la directive <code class="directive"><a href="#defaulttype">DefaultType</a></code> a + la même valeur.</p> + + <p>Cependant, si vous voulez vous assurer que les filtres seront + appliqués, assignez explicitement le type de contenu à une + ressource, par exemple à l'aide d'une directive <code class="directive"><a href="../mod/mod_mime.html#addtype">AddType</a></code> ou <code class="directive"><a href="#forcetype">ForceType</a></code>. Il est aussi recommandé de + définir le type de contenu dans un script CGI (non-nph).</p> + + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code></li> +<li><code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code></li> +<li><a href="../filter.html">Les filtres</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowEncodedSlashes" id="AllowEncodedSlashes">AllowEncodedSlashes</a> <a name="allowencodedslashes" id="allowencodedslashes">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si les séparateurs de chemin encodés sont +autorisés à transiter dans les URLs tel quel</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowEncodedSlashes On|Off|NoDecode</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowEncodedSlashes Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans Apache version 2.0.46 et +ultérieures. L'option NoDecode est disponible depuis la version +2.2.18.</td></tr> +</table> + <p>La directive <code class="directive">AllowEncodedSlashes</code> permet + l'utilisation des URLs contenant des séparateurs de chemin + encodés dans la partie chemin + (<code>%2F</code> pour <code>/</code> et même <code>%5C</code> pour + <code>\</code> sur les systèmes concernés).</p> + + <p>Avec la valeur par défaut, <code>Off</code>, de telles URLs sont + refusées et provoquent le renvoi d'une erreur 404 (Not found).</p> + + <p>Avec la valeur <code>On</code>, ces URLs sont acceptées, et les + slashes encodés sont décodés comme tout autre caractère codé.</p> + + <p>Avec la valeur <code>NoDecode</code>, ces URLs sont acceptées, + mais les slashes codés ne sont pas décodés et laissés dans leur état + codé.</p> + + <p>Définir <code class="directive">AllowEncodedSlashes</code> à + <code>On</code> est surtout utile en association avec + <code>PATH_INFO</code>.</p> + + <div class="note"><h3>Note</h3> + <p>Si le codage des slashes dans la partie chemin est nécessaire, + l'utilisation de l'option <code>NoDecode</code> est fortement + recommandée par mesure de sécurité. Permettre le décodage des + slashes pourrait éventuellement induire l'autorisation de chemins + non sûrs.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#acceptpathinfo">AcceptPathInfo</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AllowOverride" id="AllowOverride">AllowOverride</a> <a name="allowoverride" id="allowoverride">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Types de directives autorisées dans les fichiers +<code>.htaccess</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AllowOverride All|None|<var>type directive</var> +[<var>type directive</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AllowOverride All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Lorsque le serveur trouve un fichier <code>.htaccess</code> (dont + le nom est défini par la directive <code class="directive"><a href="#accessfilename">AccessFileName</a></code>), il doit savoir lesquelles + des directives placées dans ce fichier sont autorisées à modifier la + configuration préexistante.</p> + + <div class="note"><h3>Valable seulement dans les sections + <Directory></h3> + La directive <code class="directive">AllowOverride</code> ne peut être + utilisée que dans les sections <code class="directive"><a href="#directory"><Directory></a></code> définies sans expressions + rationnelles, et non dans les sections <code class="directive"><a href="#location"><Location></a></code>, <code class="directive"><a href="#directorymatch"><DirectoryMatch></a></code> ou + <code class="directive"><a href="#files"><Files></a></code>. + </div> + + <p>Lorsque cette directive est définie à <code>None</code>, les + fichiers <a href="#accessfilename">.htaccess</a> sont totalement + ignorés. Dans ce cas, le serveur n'essaiera même pas de lire les + fichiers <code>.htaccess</code> du système de fichiers.</p> + + <p>Lorsque cette directive est définie à <code>All</code>, toute + directive valable dans le <a href="directive-dict.html#Context">Contexte</a> .htaccess sera + autorisée dans les fichiers <code>.htaccess</code>.</p> + + <p>L'argument <var>type directive</var> peut contenir les + groupements de directives suivants :</p> + + <dl> + <dt>AuthConfig</dt> + + <dd> + + Permet l'utilisation des directives d'autorisation (<code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmgroupfile">AuthDBMGroupFile</a></code>, + <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>, + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code>, + <code class="directive"><a href="#authname">AuthName</a></code>, + <code class="directive"><a href="#authtype">AuthType</a></code>, <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>, <code class="directive"><a href="#require">Require</a></code>, <em>etc.</em>).</dd> + + <dt>FileInfo</dt> + + <dd> + Permet l'utilisation des directives qui contrôlent les types de + documents (directives <code class="directive"><a href="#defaulttype">DefaultType</a></code>, <code class="directive"><a href="#errordocument">ErrorDocument</a></code>, <code class="directive"><a href="#forcetype">ForceType</a></code>, <code class="directive"><a href="../mod/mod_negotiation.html#languagepriority">LanguagePriority</a></code>, + <code class="directive"><a href="#sethandler">SetHandler</a></code>, <code class="directive"><a href="#setinputfilter">SetInputFilter</a></code>, <code class="directive"><a href="#setoutputfilter">SetOutputFilter</a></code>, et directives du + module <code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code> Add* et Remove*, + <em>etc...</em>), des metadonnées des documents (<code class="directive"><a href="../mod/mod_headers.html#header">Header</a></code>, <code class="directive"><a href="../mod/mod_headers.html#requestheader">RequestHeader</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvif">SetEnvIf</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code>, <code class="directive"><a href="../mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookieexpires">CookieExpires</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiedomain">CookieDomain</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiestyle">CookieStyle</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookietracking">CookieTracking</a></code>, <code class="directive"><a href="../mod/mod_usertrack.html#cookiename">CookieName</a></code>), des directives du + module <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> <code class="directive"><a href="../mod/mod_rewrite.html#rewriteengine">RewriteEngine</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriteoptions">RewriteOptions</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritebase">RewriteBase</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code>) et de la directive + <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> du module + <code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code>. + </dd> + + <dt>Indexes</dt> + + <dd> + Permet l'utilisation des directives qui contrôlent l'indexation + des répertoires (<code class="directive"><a href="../mod/mod_autoindex.html#adddescription">AddDescription</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addicon">AddIcon</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#addiconbyencoding">AddIconByEncoding</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#addiconbytype">AddIconByType</a></code>, + <code class="directive"><a href="../mod/mod_autoindex.html#defaulticon">DefaultIcon</a></code>, <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#fancyindexing">FancyIndexing</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#headername">HeaderName</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexignore">IndexIgnore</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#indexoptions">IndexOptions</a></code>, <code class="directive"><a href="../mod/mod_autoindex.html#readmename">ReadmeName</a></code>, + <em>etc...</em>).</dd> + + <dt>Limit</dt> + + <dd> + Permet l'utilisation des directives contrôlant l'accès au serveur + (<code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code> et <code class="directive"><a href="../mod/mod_authz_host.html#order">Order</a></code>).</dd> + + <dt>Options[=<var>Option</var>,...]</dt> + + <dd> + Permet l'utilisation des directives contrôlant les fonctionnalités + spécifiques d'un répertoire (<code class="directive"><a href="#options">Options</a></code> et <code class="directive"><a href="../mod/mod_include.html#xbithack">XBitHack</a></code>). "Options" doit être + suivi d'un signe "égal", puis d'une liste d'options séparées par des + virgules (pas d'espaces) ; ces options doivent être définies à + l'aide de la commande <code class="directive"><a href="#options">Options</a></code>.</dd> + </dl> + + <p>Exemple :</p> + + <div class="example"><p><code> + AllowOverride AuthConfig Indexes + </code></p></div> + + <p>Dans l'exemple ci-dessus, toutes les directives qui ne font + partie ni du groupe <code>AuthConfig</code>, ni du groupe + <code>Indexes</code>, provoquent une "internal + server error".</p> + + <div class="note"><p>Pour des raisons de sécurité et de performances, n'affectez + pas à <code>AllowOverride</code> une autre valeur que + <code>None</code> dans votre bloc <code><Directory /></code>. + Configurez plutôt le bloc <code><Directory></code> qui + concerne le répertoire dans lequel vous voulez placer votre fichier + <code>.htaccess</code> (ou créez-le s'il n'existe pas).</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#accessfilename">AccessFileName</a></code></li> +<li><a href="../configuring.html">Fichiers de Configuration</a></li> +<li><a href="../howto/htaccess.html">Fichiers .htaccess</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthName" id="AuthName">AuthName</a> <a name="authname" id="authname">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Identificateur d'autorisation à utiliser pour +l'authentification HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthName <var>domaine d'authentification</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir l'identificateur d'autorisation + pour un répertoire. Cet identificateur est fourni au client afin que + ce dernier sache quels nom d'utilisateur et mot de passe envoyer. + <code class="directive">AuthName</code> n'accepte qu'un seul argument ; si + l'identificateur contient des espaces, il doit être entouré + d'apostrophes. Il doit être associé à des directives <code class="directive"><a href="#authtype">AuthType</a></code> et <code class="directive"><a href="#require">Require</a></code>, ainsi qu'à des directives telles + que <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et + <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> + pour pouvoir fonctionner.</p> + + <p>Par exemple :</p> + + <div class="example"><p><code> + AuthName "Top Secret" + </code></p></div> + + <p>La chaîne de caractères définie par la directive + <code>AuthName</code> correspond à celle que la plupart des + navigateurs vont fournir dans la boîte de dialogue de saisie du mot + de passe.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/auth.html">Authentification, Autorisation, et + contrôle d'accès</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="AuthType" id="AuthType">AuthType</a> <a name="authtype" id="authtype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le type d'authentification de l'utilisateur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthType Basic|Digest</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir le type d'authentification de + l'utilisateur pour un répertoire. Les types d'authentification + disponibles sont <code>Basic</code> (implémenté par + <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>), et <code>Digest</code> (implémenté + par <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>).</p> + + <p>Pour que l'authentification fonctionne, vous devez aussi définir + les directives <code class="directive"><a href="#authname">AuthName</a></code> et <code class="directive"><a href="#require">Require</a></code>. + En outre, le serveur doit avoir à sa disposition un module + fournisseur d'authentification tel que + <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation tel que + <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/auth.html">Authentification, Autorisation, et + contrôle d'accès</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="CGIMapExtension" id="CGIMapExtension">CGIMapExtension</a> <a name="cgimapextension" id="cgimapextension">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Technique permettant de localiser l'interpréteur des +scripts CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CGIMapExtension <var>chemin CGI</var> <var>.extension</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>NetWare uniquement</td></tr> +</table> + <p>Cette directive permet de contrôler la manière dont Apache trouve + l'interpréteur servant à exécuter les scripts CGI. Par exemple, avec + la définition <code>CGIMapExtension sys:\foo.nlm .foo</code>, tous + les fichiers scripts CGI possédant une extension <code>.foo</code> + seront passés à l'interpréteur FOO.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ContentDigest" id="ContentDigest">ContentDigest</a> <a name="contentdigest" id="contentdigest">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la génération d'un en-tête <code>Content-MD5</code> +dans la réponse HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ContentDigest On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ContentDigest Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive active la génération d'un en-tête + <code>Content-MD5</code> selon les définitions des RFC 1864 et + 2616.</p> + + <p>MD5 est un algorithme permettant de générer un condensé (parfois + appelé "empreinte") à partir de données d'une taille aléatoire ; le + degré de précision est tel que la moindre altération des données + d'origine entraîne une altération de l'empreinte.</p> + + <p>L'en-tête <code>Content-MD5</code> permet de vérifier + l'intégrité de la réponse HTTP dans son ensemble. Un serveur mandataire + ou un client peut utiliser cet en-tête pour rechercher une + éventuelle modification accidentelle de la réponse au cours de sa + transmission. Exemple d'en-tête :</p> + + <div class="example"><p><code> + Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA== + </code></p></div> + + <p>Notez que des problèmes de performances peuvent affecter votre + serveur, car l'empreinte est générée pour chaque requête (il n'y a + pas de mise en cache).</p> + + <p>L'en-tête <code>Content-MD5</code> n'est envoyé qu'avec les + documents servis par le module <code class="module"><a href="../mod/core.html">core</a></code>, à l'exclusion + de tout autre module. Ainsi, les documents SSI, les sorties de + scripts CGI, et les réponses à des requêtes partielles (byte range) + ne comportent pas cet en-tête.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DefaultType" id="DefaultType">DefaultType</a> <a name="defaulttype" id="defaulttype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Type de contenu MIME qui sera envoyé par défaut si le +serveur ne peut le déterminer d'aucune manière</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DefaultType <var>type MIME|none</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DefaultType text/plain</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>L'argument <code>none</code> est disponible dans les +versions d'Apache 2.2.7 et supérieures</td></tr> +</table> + <p>Il peut arriver que le serveur doive servir un document dont il + ne peut pas déterminer le type à partir de sa table de <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">types MIME</a>.</p> + + <p>Le serveur DEVRAIT fournir au client le type de contenu du + document. Si le serveur n'est pas capable de le déterminer par la + voie normale, il fournira le type défini par la directive + <code>DefaultType</code>. Par exemple :</p> + + <div class="example"><p><code> + DefaultType image/gif + </code></p></div> + + <p>conviendra pour un répertoire contenant de nombreuses images GIF + dont le fichier ne comporte pas l'extension <code>.gif</code>.</p> + + <p>Dans les cas où ni le serveur, ni l'administrateur (ou un + serveur mandataire) ne sont en mesure de déterminer le type du + document, il est préférable de ne pas le mentionner, plutôt que de + fournir de fausses informations. À cet effet, on utilise </p> + <div class="example"><p><code> + DefaultType None + </code></p></div> + <p><code>DefaultType None</code> n'est disponible que dans les + versions d'Apache 2.2.7 et supérieures.</p> + + <p>Notez qu'à la différence de la directive <code class="directive"><a href="#forcetype">ForceType</a></code>, cette directive ne définit que + le type MIME par défaut. Toute autre définition de type MIME, y + compris l'extension des noms de fichiers, susceptible de + permettre d'identifier le type de média l'emportera sur la valeur + par défaut.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Directory" id="Directory"><Directory></a> <a name="directory" id="directory">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe un ensemble de directives qui ne s'appliquent +qu'au répertoire concerné du système de fichiers, à ses +sous-répertoires, et à leur contenu.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Directory <var>chemin répertoire</var>> +... </Directory></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les balises <code class="directive"><Directory></code> et + <code></Directory></code> permettent de regrouper un ensemble + de directives qui ne s'appliquent qu'au répertoire + précisé, à ses sous-répertoires, et aux fichiers situés dans ces + sous-répertoires. Toute directive + autorisée dans un contexte de répertoire peut être utilisée. + <var>chemin répertoire</var> est soit le chemin absolu d'un + répertoire, soit une chaîne de caractères avec caractères génériques + utilisant la comparaison Unix de style shell. Dans une chaîne de + caractères avec caractères génériques, <code>?</code> correspond à + un caractère quelconque, et <code>*</code> à toute chaîne de + caractères. Les intervalles de caractères <code>[]</code> sont aussi + autorisés. Aucun caractère générique ne peut remplacer le caractère + `/', si bien que l'expression <code><Directory + /*/public_html></code> ne conviendra pas pour le chemin + * <code>/home/user/public_html</code>, alors que <code><Directory + /home/*/public_html></code> conviendra. Exemple :</p> + + <div class="example"><p><code> + <Directory /usr/local/httpd/htdocs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory> + </code></p></div> + + <div class="note"> + <p>Soyez prudent avec l'argument <var>chemin répertoire</var> : il + doit correspondre exactement au chemin du système de fichier + qu'Apache utilise pour accéder aux fichiers. Les directives + comprises dans une section <code><Directory></code> ne + s'appliqueront pas aux fichiers du même répertoire auxquels on + aura accédé via un chemin différent, per exemple via un lien + symbolique.</p> + </div> + + <p> Les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> + peuvent aussi être utilisées en ajoutant le caractère + <code>~</code>. Par exemple :</p> + + <div class="example"><p><code> + <Directory ~ "^/www/.*/[0-9]{3}"> + </code></p></div> + + <p>pourra correspondre à tout répertoire situé dans /www/ et dont le + nom se compose de trois chiffres.</p> + + <p>Si plusieurs sections <code class="directive"><Directory></code> (sans expression rationnelle) + correspondent au répertoire (ou à un de ses parents) qui contient le + document, les directives de la section <code class="directive"><Directory></code> dont le chemin est le plus + court sont appliquées en premier, en s'intercalant avec les + directives des fichiers <a href="#accessfilename">.htaccess</a>. Par + exemple, avec</p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + AllowOverride None<br /> + </span> + </Directory><br /> + <br /> + <Directory /home><br /> + <span class="indent"> + AllowOverride FileInfo<br /> + </span> + </Directory> + </code></p></div> + + <p>l'accès au document <code>/home/web/dir/doc.html</code> emprunte + le chemin suivant :</p> + + <ul> + <li>Aplication de la directive <code>AllowOverride None</code> + (qui désactive les fichiers <code>.htaccess</code>).</li> + + <li>Application de la directive <code>AllowOverride + FileInfo</code> (pour le répertoire <code>/home</code>).</li> + + <li>Application de toute directive <code>FileInfo</code> qui se + trouverait dans d'éventuels fichiers <code>/home/.htaccess</code>, + <code>/home/web/.htaccess</code> ou + <code>/home/web/dir/.htaccess</code>, dans cet ordre.</li> + </ul> + + <p>Les directives associées aux répertoires sous forme d'expressions + rationnelles ne sont prises en compte qu'une fois toutes les + directives des sections sans expressions rationnelles appliquées. + Alors, tous les répertoires avec expressions rationnelles sont + testés selon l'ordre dans lequel ils apparaissent dans le fichier de + configuration. Par exemple, avec</p> + + <div class="example"><p><code> + <Directory ~ abc$><br /> + <span class="indent"> + # ... directives here ...<br /> + </span> + </Directory> + </code></p></div> + + <p>la section avec expression rationnelle ne sera prise en compte + qu'après les sections <code class="directive"><Directory></code> sans expressions rationnelles + et les fichiers <code>.htaccess</code>. Alors, l'expression + rationnelle conviendra pour <code>/home/abc/public_html/abc</code> + et la section <code class="directive"><Directory></code> + correspondante s'appliquera.</p> + + <p><strong>Notez que pour Apache, la politique d'accès par défaut + dans les sections <code><Directory /></code> est <code>Allow + from All</code>. Ceci signifie qu'Apache va servir tout fichier + correspondant à une URL. Il est recommandé de modifier cette + situation à l'aide d'un bloc du style</strong></p> + + <div class="example"><p><code> + <Directory /><br /> + <span class="indent"> + Order Deny,Allow<br /> + Deny from All<br /> + </span> + </Directory> + </code></p></div> + + <p><strong>puis d'affiner la configuration pour les répertoires que vous + voulez rendre accessibles. Voir la page <a href="../misc/security_tips.html">Conseils à propos de la sécurité</a> + pour plus de détails.</strong></p> + + <p>Les sections directory se situent dans le fichier + <code>httpd.conf</code>. Les directives <code class="directive"><Directory></code> ne peuvent pas être imbriquées + et ne sont pas autorisées dans les sections <code class="directive"><a href="#limit"><Limit></a></code> ou <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour des +explications à propos de la manière dont ces différentes sections se +combinent entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DirectoryMatch" id="DirectoryMatch"><DirectoryMatch></a> <a name="directorymatch" id="directorymatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Regroupe des directives qui s'appliquent à des répertoires +du système de fichiers correspondant à une expression rationnelle et à +leurs sous-répertoires</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><DirectoryMatch <var>regex</var>> +... </DirectoryMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les balises <code class="directive"><DirectoryMatch></code> + et <code></DirectoryMatch></code> permettent de regrouper un + ensemble de directives qui ne s'appliqueront qu'au répertoire + précisé (et aux fichiers qu'il contient), comme pour la section <code class="directive"><a href="#directory"><Directory></a></code>. Cependant, le + répertoire est précisé sous la forme d'une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a>. Par exemple :</p> + + <div class="example"><p><code> + <DirectoryMatch "^/www/(.+/)?[0-9]{3}"> + </code></p></div> + + <p>conviendrait pour les sous-répertoires de <code>/www/</code> dont + le nom se compose de trois chiffres.</p> + + <div class="note"><h3>Caractère de fin de ligne</h3> + <p>Cette directive ne tient pas compte du caractère de fin de + ligne ($).</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#directory"><Directory></a></code> +pour une description de la manière dont les expressions rationnelles +sont traitées en présence d'autres sections <code class="directive"><Directory></code> sans expressions rationnelles</li> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication à propos de la manière dont ces différentes sections se +combinent entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="DocumentRoot" id="DocumentRoot">DocumentRoot</a> <a name="documentroot" id="documentroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine de l'arborescence des documents principale visible +depuis Internet</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>DocumentRoot <var>chemin répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>DocumentRoot /usr/local/apache/htdocs</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir le répertoire à partir duquel + <code class="program"><a href="../programs/httpd.html">httpd</a></code> va servir les fichiers. S'il ne correspond + pas à un <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, le chemin + de l'URL sera ajouté par le serveur à la racine des documents afin + de construire le chemin du document recherché. Exemple :</p> + + <div class="example"><p><code> + DocumentRoot /usr/web + </code></p></div> + + <p>un accès à <code>http://www.my.host.com/index.html</code> se + réfère alors à <code>/usr/web/index.html</code>. Si <var>chemin + répertoire</var> n'est pas un chemin absolu, il est considéré comme + relatif au chemin défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <p>Le répertoire défini par la directive + <code class="directive">DocumentRoot</code> ne doit pas comporter de slash + terminal.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../urlmapping.html#documentroot">Mise en +correspondance des URLs avec le système de fichiers</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableMMAP" id="EnableMMAP">EnableMMAP</a> <a name="enablemmap" id="enablemmap">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise la projection en mémoire (Memory-Mapping) pour +lire les fichiers pendant qu'ils sont servis</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableMMAP On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableMMAP On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive définit si <code class="program"><a href="../programs/httpd.html">httpd</a></code> peut utiliser + la projection en mémoire (Memory-Mapping) s'il doit lire le contenu + d'un fichier pendant qu'il est servi. Par défaut, lorsque le + traitement d'une requête requiert l'accès aux données contenues dans + un fichier -- par exemple, pour servir un fichier interprété par le + serveur à l'aide de <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> -- Apache projette + le fichier en mémoire si le système d'exploitation le permet.</p> + + <p>Cette projection en mémoire induit parfois une amélioration des + performances. Cependant, sur certains systèmes, il est préférable de + désactiver la projection en mémoire afin d'éviter certains problèmes + opérationnels :</p> + + <ul> + <li>Sur certains systèmes multi-processeurs, la projection en + mémoire peut dégrader les performances du programme + <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</li> + <li>La suppression ou la troncature d'un fichier faisant l'objet + d'une image en mémoire peut provoquer un crash de + <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec une erreur de segmentation. + </li> + </ul> + + <p>Pour les configurations de serveur sujettes à ce genre de + problème, il est préférable de désactiver la projection en mémoire + des fichiers servis en spécifiant :</p> + + <div class="example"><p><code> + EnableMMAP Off + </code></p></div> + + <p>Pour les montages NFS, cette fonctionnalité peut être + explicitement désactivée pour les fichiers concernés en spécifiant + :</p> + + <div class="example"><p><code> + <Directory "/chemin vers montage NFS"> + <span class="indent"> + EnableMMAP Off + </span> + </Directory> + </code></p></div> + + + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="EnableSendfile" id="EnableSendfile">EnableSendfile</a> <a name="enablesendfile" id="enablesendfile">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Utilise le support sendfile du noyau pour servir les +fichiers aux clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>EnableSendfile On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>EnableSendfile On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 2.0.44 et +supérieures</td></tr> +</table> + <p>Cette directive définit si le programme <code class="program"><a href="../programs/httpd.html">httpd</a></code> + peut utiliser le support sendfile du noyau pour transmettre le + contenu des fichiers aux clients. Par défaut, lorsque le traitement + d'une requête ne requiert pas l'accès aux données contenues dans un + fichier -- par exemple, pour la transmission d'un fichier statique + -- Apache utilise sendfile pour transmettre le contenu du fichier + sans même lire ce dernier, si le système d'exploitation le + permet.</p> + + <p>Ce mécanisme sendfile évite la séparation des opérations de + lecture et d'envoi, ainsi que les réservations de tampons. sur + certains systèmes cependant, ou sous certains systèmes de fichiers, + il est préférable de désactiver cette fonctionnalité afin d'éviter + certains problèmes opérationnels :</p> + + <ul> + <li>Certains systèmes peuvent présenter un support sendfile + défectueux que le système de compilation n'a pas détecté, en + particulier si les exécutables ont été compilés sur une autre + machine, puis copiés sur la première avec un support sendfile + défectueux.</li> + <li>Sous Linux, l'utilisation de sendfile induit des bogues lors de + la récupération des paquets de vérification TCP (TCP-checksum) avec + certaines cartes réseau lorsqu'on utilise IPv6.</li> + <li>Sous Linux sur plateforme Itanium, sendfile peut s'avérer + r.{1,2}pertoireincapable de traiter les fichiers de plus de 2 Go.</li> + <li>Avec un montage réseau de <code class="directive"><a href="#documentroot">DocumentRoot</a></code> (par exemple NFS ou SMB), le + noyau peut s'avérer incapable de servir un fichier de ce montage + réseau en passant par son propre cache.</li> + </ul> + + <p>Pour les configurations de serveur sujettes à ce genre de + problème, il est recommandé de désactiver cette fonctionnalité en + spécifiant :</p> + + <div class="example"><p><code> + EnableSendfile Off + </code></p></div> + + <p>Pour les montages NFS ou SMB, cette fonctionnalité peut être + explicitement désactivée pour les fichiers concernés en spécifiant + :</p> + + <div class="example"><p><code> + <Directory "/chemin vers montage réseau"> + <span class="indent"> + EnableSendfile Off + </span> + </Directory> + </code></p></div> + <p>Veuillez noter que la configuration de la directive + <code class="directive">EnableSendfile</code> dans un contexte de répertoire + ou de fichier .htaccess n'est pas supportée par + <code class="module"><a href="../mod/mod_disk_cache.html">mod_disk_cache</a></code>. Le module ne prend en compte la + définition de <code class="directive">EnableSendfile</code> que dans un + contexte global. + </p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorDocument" id="ErrorDocument">ErrorDocument</a> <a name="errordocument" id="errordocument">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Document que le serveur renvoie au client en cas +d'erreur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ErrorDocument <var>code erreur</var> <var>document</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>La syntaxe des guillemets pour les messages textes est +différente dans Apache 2.0</td></tr> +</table> + <p>Apache peut traiter les problèmes et les erreurs de quatre + manières,</p> + + <ol> + <li>afficher un simple message d'erreur au contenu fixe</li> + + <li>afficher un message personnalisé</li> + + <li>rediriger 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 + le problème ou l'erreur</li> + </ol> + + <p>La première option constitue le comportement par défaut; pour + choisir une des trois autres options, il faut configurer Apache à + l'aide de la directive <code class="directive">ErrorDocument</code>, suivie + du code de la réponse HTTP et d'une URL ou d'un message. Apache + fournit parfois des informations supplémentaires à propos du + problème ou de l'erreur.</p> + + <p>Les URLs peuvent commencer par un slash (/) pour les chemins web + locaux (relatifs au répertoire défini par la directive <code class="directive"><a href="#documentroot">DocumentRoot</a></code>), ou se présenter sous la + forme d'une URL complète que le client pourra résoudre. + Alternativement, un message à afficher par le navigateur pourra être + fourni. Exemples :</p> + + <div class="example"><p><code> + 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" + </code></p></div> + + <p>De plus, on peut spécifier la valeur spéciale <code>default</code> + pour indiquer l'utilisation d'un simple message d'Apache codé en + dur. Bien que non nécessaire dans des circonstances normales, la + spécification de la valeur <code>default</code> va permettre de + rétablir l'utilisation du simple message d'Apache codé en dur pour + les configurations qui sans cela, hériteraient d'une directive + <code class="directive">ErrorDocument</code> existante.</p> + + <div class="example"><p><code> + ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br /> + <Directory /web/docs><br /> + <span class="indent"> + ErrorDocument 404 default<br /> + </span> + </Directory> + </code></p></div> + + <p>Notez que lorsque vous spécifiez une directive + <code class="directive">ErrorDocument</code> pointant vers une URL distante + (c'est à dire tout ce qui commence par le préfixe http), Apache va + envoyer une redirection au client afin de lui indiquer où trouver le + document, même dans le cas où ce document se trouve sur le serveur + local. Ceci a de nombreuses conséquences dont la plus importante + réside dans le fait que le client ne recevra pas le code d'erreur + original, mais au contraire un code de statut de redirection. Ceci + peut en retour semer la confusion chez les robots web et divers + clients qui tentent de déterminer la validité d'une URL en examinant + le code de statut. De plus, si vous utilisez une URL distante avec + <code>ErrorDocument 401</code>, le client ne saura pas qu'il doit + demander un mot de passe à l'utilisateur car il ne recevra pas le + code de statut 401. C'est pourquoi, <strong>si vous utilisez une + directive <code>ErrorDocument 401</code>, elle devra faire référence + à un document par le biais d'un chemin local.</strong></p> + + <p>Microsoft Internet Explorer (MSIE) ignore par défaut les messages + d'erreur générés par le serveur lorsqu'ils sont trop courts et + remplacent ces propres messages d'erreur "amicaux". Le seuil de + taille varie en fonction du type d'erreur, mais en général, si la + taille de votre message d'erreur est supérieure à 512 octets, il y a + peu de chances pour que MSIE l'occulte, et il sera affiché par ce + dernier. Vous trouverez d'avantage d'informations dans l'article de + la base de connaissances Microsoft <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>.</p> + + <p>Bien que la plupart des messages d'erreur internes originaux + puissent être remplacés, ceux-ci sont cependant conservés dans + certaines circonstances sans tenir compte de la définition de la + directive <code class="directive"><a href="#errordocument">ErrorDocument</a></code>. En + particulier, en cas de détection d'une requête mal formée, le + processus de traitement normal des requêtes est immédiatement + interrompu, et un message d'erreur interne est renvoyé, ceci afin de + se prémunir contre les problèmes de sécurité liés aux requêtes mal + formées.</p> + + <p>Si vous utilisez mod_proxy, il est en général préférable + d'activer <code class="directive"><a href="../mod/mod_proxy.html#proxyerroroverride">ProxyErrorOverride</a></code> afin d'être en + mesure de produire des messages d'erreur personnalisés pour le + compte de votre serveur d'origine. Si vous n'activez pas + ProxyErrorOverride, Apache ne générera pas de messages d'erreur + personnalisés pour le contenu mandaté.</p> + + <p>Avant la version 2.0, les messages étaient indiqués en les + préfixant par un seul caractère guillemet isolé.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../custom-error.html">documentation sur la +personnalisation des réponses</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ErrorLog" id="ErrorLog">ErrorLog</a> <a name="errorlog" id="errorlog">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définition du chemin du journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code> ErrorLog <var>chemin fichier</var>|syslog[:<var>facility</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows +et OS/2)</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ErrorLog</code> permet de définir le + nom du fichier dans lequel le serveur va journaliser toutes les + erreurs qu'il rencontre. Si le <var>chemin fichier</var> n'est pas + absolu, il est considére comme relatif au chemin défini par la + directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <div class="example"><h3>Exemple</h3><p><code> + ErrorLog /var/log/httpd/error_log + </code></p></div> + + <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> + + <div class="example"><h3>Exemple</h3><p><code> + ErrorLog "|/usr/local/bin/erreurs_httpd" + </code></p></div> + + <p>Voir les notes à propos des <a href="../logs.html#piped">journaux + redirigés</a> pour plus de détails.</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>, + 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 + de man syslog(1).</p> + + <div class="example"><h3>Exemple</h3><p><code> + ErrorLog syslog:user + </code></p></div> + + <p>SECURITE : Voir le document <a href="../misc/security_tips.html#serverroot">conseils à propos de + sécurité</a> pour des détails sur les raisons pour lesquelles votre + sécurité peut être compromise si le répertoire contenant les + fichiers journaux présente des droits en écriture pour tout autre + utilisateur que celui sous lequel le serveur est démarré.</p> + <div class="warning"><h3>Note</h3> + <p>Lors de la spécification d'un chemin de fichier sur les + plates-formes non-Unix, on doit veiller à n'utiliser que des + slashes (/), même si la plate-forme autorise l'utilisation des + anti-slashes (\). Et d'une manière générale, il est recommandé de + n'utiliser que des slashes (/) dans les fichiers de + configuration.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#loglevel">LogLevel</a></code></li> +<li><a href="../logs.html">Fichiers journaux d'Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FileETag" id="FileETag">FileETag</a> <a name="fileetag" id="fileetag">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Caractéristiques de fichier utilisés lors de la génération +de l'en-tête de réponse HTTP ETag pour les fichiers statiques</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>FileETag <var>composant</var> ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>FileETag INode MTime Size</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p> + La directive <code class="directive">FileETag</code> définit les + caractéristiques de fichier utilisées lors de la génération de + l'en-tête de réponse HTTP <code>ETag</code> (entity tag) quand le + document est contenu dans un fichier statique (la valeur de + <code>ETag</code> + est utilisée dans le cadre de la gestion du cache pour préserver la + bande passante réseau). Dans les versions 1.3.22 et antérieures + d'Apache, la valeur de l'en-tête <code>ETag</code> se composait + <em>toujours</em> de l'inode du fichier, de sa taille et de sa date + de dernière modification (mtime). La directive + <code class="directive">FileETag</code> vous permet désormais de choisir + quelles caractéristiques du fichier vont être éventuellement + utilisées. Les mots-clés reconnus sont : + </p> + + <dl> + <dt><strong>INode</strong></dt> + <dd>Le numéro d'i-node du fichier sera inclus dans le processus de + génération</dd> + <dt><strong>MTime</strong></dt> + <dd>La date et l'heure auxquelles le fichier a été modifié la + dernière fois seront incluses</dd> + <dt><strong>Size</strong></dt> + <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 à : <div class="example"><p><code>FileETag INode MTime + Size</code></p></div></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> + </dl> + + <p>Les mots-clés <code>INode</code>, <code>MTime</code>, et + <code>Size</code> peuvent être préfixés par <code>+</code> ou + <code>-</code>, ce qui permet de modifier les valeurs par défaut + héritées d'un niveau de configuration plus général. Tout mot-clé + apparaissant sans aucun préfixe annule entièrement et immédiatement + les configurations héritées.</p> + + <p>Si la configuration d'un répertoire contient + <code>FileETag INode MTime Size</code>, et si un de + ses sous-répertoires contient <code>FileETag -INode</code>, la + configuration de ce sous-répertoire (qui sera propagée vers tout + sous-répertoire qui ne la supplante pas), sera équivalente à + <code>FileETag MTime Size</code>.</p> + <div class="warning"><h3>Avertissement</h3> + Ne modifiez pas les valeurs par défaut pour les répertoires ou + localisations où WebDAV est activé et qui utilisent + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> comme fournisseur de stockage. + <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code> utilise + <code>INode MTime Size</code> comme format fixe pour les + comparaisons de champs <code>ETag</code> dans les requêtes + conditionnelles. Ces requêtes conditionnelles échoueront si le + format <code>ETag</code> est modifié via la directive + <code class="directive">FileETag</code>. + </div> + <div class="note"><h3>Inclusions côté serveur</h3> + Aucun champ ETag n'est généré pour les réponses interprétées par + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code>, car l'entité de la réponse peut + changer sans modification de l'INode, du MTime, ou de la taille du + fichier statique contenant les directives SSI. + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Files" id="Files"><Files></a> <a name="files" id="files">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent aux fichiers +précisés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Files <var>nom fichier</var>> ... </Files></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive"><Files></code> limite + la portée des directives qu'elle contient aux fichiers précisés. + Elle est comparable aux directives <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>. Elle doit se terminer par une + balise <code></Files></code>. Les directives contenues dans + cette section s'appliqueront à tout objet dont le nom de base (la + dernière partie du nom de fichier) correspond au fichier spécifié. + Les sections <code class="directive"><Files></code> sont + traitées selon l'ordre dans lequel elles apparaissent dans le + fichier de configuration, après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des fichiers + <code>.htaccess</code>, mais avant les sections <code class="directive"><a href="#location"><Location></a></code>. Notez que les + sections <code class="directive"><Files></code> peuvent être + imbriquées dans les sections <code class="directive"><a href="#directory"><Directory></a></code> afin de restreindre la portion + du système de fichiers à laquelle ces dernières vont + s'appliquer.</p> + + <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 <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions rationnelles</a> en ajoutant la + caractère <code>~</code>. Par exemple :</p> + + <div class="example"><p><code> + <Files ~ "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>correspondrait à la plupart des formats graphiques de l'Internet. + Il est cependant préférable d'utiliser la directive <code class="directive"><a href="#filesmatch"><FilesMatch></a></code>.</p> + + <p>Notez qu'à la différence des sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#location"><Location></a></code>, les sections <code class="directive"><Files></code> peuvent être utilisées dans les + fichiers <code>.htaccess</code>. Ceci permet aux utilisateurs de + contrôler l'accès à leurs propres ressources, fichier par + fichier.</p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="FilesMatch" id="FilesMatch"><FilesMatch></a> <a name="filesmatch" id="filesmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui s'appliquent à des fichiers +spécifiés sous la forme d'expressions rationnelles</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><FilesMatch <var>expression rationnelle</var>> ... +</FilesMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La section <code class="directive"><FilesMatch></code> + limite la portée des directives qu'elle contient aux fichiers + spécifiés, tout comme le ferait une section <code class="directive"><a href="#files"><Files></a></code>. Mais elle accepte aussi les + <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expressions rationnelles</a>. Par + exemple :</p> + + <div class="example"><p><code> + <FilesMatch "\.(gif|jpe?g|png)$"> + </code></p></div> + + <p>correspondrait à la plupart des formats graphiques de + l'Internet.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ForceType" id="ForceType">ForceType</a> <a name="forcetype" id="forcetype">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force un type de contenu MIME pour les fichiers +spécifiés</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ForceType <var>type MIME</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le coeur d'Apache depuis la version +2.0</td></tr> +</table> + <p>Lorsqu'elle est placée dans un fichier <code>.htaccess</code> ou + une section <code class="directive"><a href="#directory"><Directory></a></code>, <code class="directive"><a href="#location"><Location></a></code>, ou <code class="directive"><a href="#files"><Files></a></code>, cette directive force + l'identification du type MIME des fichiers spécifiés à la valeur de + l'argument <var>type MIME</var>. Par exemple, si vous possédez un + répertoire ne contenant que des fichiers GIF, et si vous ne voulez + pas leur ajouter l'extension <code>.gif</code>, vous pouvez utiliser + :</p> + + <div class="example"><p><code> + ForceType image/gif + </code></p></div> + + <p>Notez qu'à la différence de <code class="directive"><a href="#defaulttype">DefaultType</a></code>, cette directive l'emporte sur + toute méthode d'attribution du type MIME, y compris les extensions + de nom de fichier, qui parviendrait à identifier le type de + médium.</p> + + <p>Vous pouvez annuler toute autre définition + <code class="directive">ForceType</code> en affectant la valeur + <code>None</code> à l'argument <var>type MIME</var> :</p> + + <div class="example"><p><code> + # force le type MIME de tous les fichiers à image/gif:<br /> + <Location /images><br /> + <span class="indent"> + ForceType image/gif<br /> + </span> + </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 /> + <span class="indent"> + ForceType None<br /> + </span> + </Location> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="GprofDir" id="GprofDir">GprofDir</a> <a name="gprofdir" id="gprofdir">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire dans lequel écrire les données de profiling +gmon.out.</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>GprofDir <var>/tmp/gprof/</var>|<var>/tmp/gprof/</var>%</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Lorsque le serveur a été compilé avec le support du profiling + gprof, la directive <code class="directive">GprofDir</code> permet de + spécifier dans quel répertoire les fichiers <code>gmon.out</code> + doivent être écrits lorsque le processus s'arrête. Si l'argument se + termine par un caractère pourcentage ('%'), des sous-répertoires + sont créés pour chaque identifiant de processus.</p> + + <p>Cette directive ne fonctionne actuellement qu'avec le MPM + <code class="module"><a href="../mod/prefork.html">prefork</a></code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="HostnameLookups" id="HostnameLookups">HostnameLookups</a> <a name="hostnamelookups" id="hostnamelookups">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la recherche DNS sur les adresses IP des +clients</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>HostnameLookups On|Off|Double</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>HostnameLookups Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive active la recherche DNS afin de pouvoir + journaliser les noms d'hôtes (et les passer aux programmes CGI et aux + inclusions SSI via la variable <code>REMOTE_HOST</code>). La valeur + <code>Double</code> déclenche une double recherche DNS inverse. En + d'autres termes, une fois la recherche inverse effectuée, on lance + une recherche directe sur le résultat de cette dernière. Au moins + une des adresses IP fournies par la recherche directe doit + correspondre à l'adresse originale (ce que l'on nomme + <code>PARANOID</code> dans la terminologie "tcpwrappers").</p> + + <p>Quelle que soit la configuration, lorsqu'on utilise + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> pour contrôler l'accès en fonction + du nom d'hôte, une double recherche DNS inverse est effectuée, + sécurité oblige. Notez cependant que le résultat de cette double + recherche n'est en général pas accessible, à moins que vous n'ayez + spécifié <code>HostnameLookups Double</code>. Par exemple, si vous + n'avez spécifié que <code>HostnameLookups On</code>, et si une + requête concerne un objet protégé par des restrictions en fonction + du nom d'hôte, quel que soit le résultat de la double recherche + inverse, les programmes CGI ne recevront que le résultat de la + recherche inverse simple dans la variable + <code>REMOTE_HOST</code>.</p> + + <p>La valeur par défaut est <code>Off</code> afin de préserver le + traffic réseau des sites pour lesquels la recherche inverse n'est + pas vraiment nécessaire. Cette valeur par défaut est aussi bénéfique + pour les utilisateurs finaux car il n'ont ainsi pas à subir de temps + d'attente supplémentaires dus aux recherches DNS. Les sites + fortement chargés devraient laisser cette directive à + <code>Off</code>, car les recherches DNS peuvent prendre des temps + très longs. Vous pouvez éventuellement utiliser hors ligne + l'utilitaire <code class="program"><a href="../programs/logresolve.html">logresolve</a></code>, compilé par défaut dans + le sous-répertoire <code>bin</code> de votre répertoire + d'installation, afin de déterminer les noms d'hôtes associés aux + adresses IP journalisées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfDefine" id="IfDefine"><IfDefine></a> <a name="ifdefine" id="ifdefine">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliqueront que si un +test retourne "vrai" au démarrage du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfDefine [!]<var>paramètre</var>> ... + </IfDefine></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La section <code><IfDefine + <var>test</var>>...</IfDefine></code> permet de + conférer un caractère conditionnel à un ensemble de directives. Les + directives situées à l'intérieur d'une section <code class="directive"><IfDefine></code> ne s'appliquent que si + <var>test</var> est vrai. Si <var>test</var> est faux, tout ce qui + se trouve entre les balises de début et de fin est ignoré.</p> + + <p><var>test</var> peut se présenter sous deux formes :</p> + + <ul> + <li><var>nom paramètre</var></li> + + <li><code>!</code><var>nom paramètre</var></li> + </ul> + + <p>Dans le premier cas, les directives situées entre les balises de + début et de fin ne s'appliqueront que si le paramètre nommé <var>nom + paramètre</var> est défini. Le second format inverse le test, et + dans ce cas, les directives ne s'appliqueront que si <var>nom + paramètre</var> n'est <strong>pas</strong> défini.</p> + + <p>La définition de l'argument <var>nom paramètre</var> + s'effectue au niveau de la ligne de commande + <code class="program"><a href="../programs/httpd.html">httpd</a></code> via le paramètre + <code>-D<var>paramètre</var></code> au démarrage du serveur.</p> + + <p>Les sections <code class="directive"><IfDefine></code> + peuvent être imbriquées, ce qui permet de mettre en oeuvre un test + multi-paramètres simple. Exemple :</p> + + <div class="example"><p><code> + httpd -DReverseProxy -DUseCache -DMemCache ...<br /> + <br /> + # httpd.conf<br /> + <IfDefine ReverseProxy><br /> + <span class="indent"> + LoadModule proxy_module modules/mod_proxy.so<br /> + LoadModule proxy_http_module modules/mod_proxy_http.so<br /> + <IfDefine UseCache><br /> + <span class="indent"> + LoadModule cache_module modules/mod_cache.so<br /> + <IfDefine MemCache><br /> + <span class="indent"> + LoadModule mem_cache_module modules/mod_mem_cache.so<br /> + </span> + </IfDefine><br /> + <IfDefine !MemCache><br /> + <span class="indent"> + LoadModule disk_cache_module modules/mod_disk_cache.so<br /> + </span> + </IfDefine> + </span> + </IfDefine> + </span> + </IfDefine> + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="IfModule" id="IfModule"><IfModule></a> <a name="ifmodule" id="ifmodule">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'en fonction +de la présence ou de l'absence d'un module spécifique</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><IfModule [!]<var>fichier module</var>|<var>identificateur +module</var>> ... </IfModule></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Les identificateurs de modules sont disponibles dans les +versions 2.1 et supérieures.</td></tr> +</table> + <p>La section <code><IfModule + <var>test</var>>...</IfModule></code> permet de conférer à + des directives un caractère conditionnel basé sur la présence d'un + module spécifique. Les directives situées dans une section + <code class="directive"><IfModule></code> ne s'appliquent que + si <var>test</var> est vrai. Si <var>test</var> est faux, tout ce + qui se trouve entre les balises de début et de fin est ignoré.</p> + + <p><var>test</var> peut se présenter sous deux formes :</p> + + <ul> + <li><var>module</var></li> + + <li>!<var>module</var></li> + </ul> + + <p>Dans le premier cas, les directives situées entre les balises de + début et de fin ne s'appliquent que si le module <var>module</var> + est présent -- soit compilé avec le binaire httpd, soit chargé + dynamiquement via la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>. Le second format inverse le test, et dans + ce cas, les directives ne s'appliquent que si <var>module</var> + n'est <strong>pas</strong> présent.</p> + + <p>L'argument <var>module</var> peut contenir soit l'identificateur + du module, soit le nom du fichier source du module. Par exemple, + <code>rewrite_module</code> est un identificateur et + <code>mod_rewrite.c</code> le nom du fichier source + correspondant. Si un module comporte plusieurs fichiers sources, + utilisez le nom du fichier qui contient la chaîne de caractères + <code>STANDARD20_MODULE_STUFF</code>.</p> + + <p>Les sections <code class="directive"><IfModule></code> + peuvent être imbriquées, ce qui permet d'implémenter des tests + multi-modules simples.</p> + + <div class="note">Cette section ne doit être utilisée que si votre fichier de + configuration ne fonctionne qu'en fonction de la présence ou de + l'absence d'un module spécifique. D'une manière générale, il n'est + pas nécessaire de placer les directives à l'intérieur de sections + <code class="directive"><IfModule></code>.</div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Include" id="Include">Include</a> <a name="include" id="include">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Inclut d'autres fichiers de configuration dans un des +fichiers de configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Include <var>chemin fichier</var>|<var>chemin +répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Utilisation des caractères génériques depuis la version +2.0.41, utilisation des caractères génériques pour les répertoires +depuis la version 2.3.6</td></tr> +</table> + <p>Cette directive permet l'inclusion d'autres fichiers de + configuration dans un des fichiers de configuration du serveur.</p> + + <p>On peut utiliser des caractères génériques de style Shell + (<code>fnmatch()</code>) dans le nom du fichier ou la partie + répertoire pour inclure plusieurs fichiers en une + seule fois, selon leur ordre alphabétique. De plus, si la directive + <code class="directive">Include</code> pointe vers un répertoire, Apache + inclura tous les fichiers de ce répertoire et de tous ces + sous-répertoires. L'inclusion de répertoires entiers est cependant + déconseillée, car il est fréquent d'oublier des fichiers + temporaires dans un répertoire, ce qui causerait une erreur + <code class="program"><a href="../programs/httpd.html">httpd</a></code> en cas d'inclusion. Nous vous recommandons + plutôt d'utiliser la syntaxe avec caractères génériques vue ci-dessous + pour inclure des fichiers dont le nom correspond à un modèle + particulier, comme *.conf par exemple.</p> + + <p>Lorsqu'on utilise un caractère générique dans le nom de fichier + ou la partie répertoire du chemin, et si aucun fichier ou répertoire + ne correspond au modèle, la directive <code class="directive"><a href="#include">Include</a></code> sera silencieusement ignorée. Si + un nom de fichier ou un répertoire du chemin est spécifié sans + caractère générique, et si ce répertoire ou fichier n'existe pas, la + directive <code class="directive"><a href="#include">Include</a></code> échouera et + renverra un message d'erreur indiquant que le répertoire ou fichier + n'a pas pu être trouvé. Il + devient ainsi inutile de créer des fichiers fictifs destinés à + correspondre par défaut à un chemin contenant des caractères + génériques.</p> + + <p>Le chemin fichier spécifié peut être soit un chemin absolu, soit + un chemin relatif au répertoire défini par la directive <code class="directive"><a href="#serverroot">ServerRoot</a></code>.</p> + + <p>Exemples :</p> + + <div class="example"><p><code> + Include /usr/local/apache2/conf/ssl.conf<br /> + Include /usr/local/apache2/conf/vhosts/*.conf + </code></p></div> + + <p>ou encore, avec des chemins relatifs au répertoire défini par la + directive <code class="directive"><a href="#serverroot">ServerRoot</a></code> :</p> + + <div class="example"><p><code> + Include conf/ssl.conf<br /> + Include conf/vhosts/*.conf + </code></p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAlive" id="KeepAlive">KeepAlive</a> <a name="keepalive" id="keepalive">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active les connexions HTTP persistantes</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAlive On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAlive On</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>L'extension Keep-Alive de HTTP/1.0 et l'implémentation des + connexions persistantes dans HTTP/1.1 ont rendu possibles des + sessions HTTP de longue durée, ce qui permet de transmettre + plusieurs requêtes via la même connexion TCP. Dans certains cas, le + gain en rapidité pour des documents comportant de nombreuses images + peut atteindre 50%. Pour activer les connexions persistantes, + définissez <code>KeepAlive On</code>.</p> + + <p>Pour les clients HTTP/1.0, les connexions persistantes ne seront + mises en oeuvre que si elles ont été spécialement demandées par un + client. De plus, une connexion persistante avec un client HTTP/1.0 + ne peut être utilisée que si la taille du contenu est connue + d'avance. Ceci implique que les contenus dynamiques comme les + sorties CGI, les pages SSI, et les listings de répertoires générés + par le serveur n'utiliseront en général pas les connexions + persistantes avec les clients HTTP/1.0. Avec les clients HTTP/1.1, + les connexions persistantes sont utilisées par défaut, sauf + instructions contraires. Si le client le demande, le transfert par + tronçons de taille fixe (chunked encoding) sera utilisé afin de + transmettre un contenu de longueur inconnue via une connexion + persistante.</p> + + <p>Lorsqu'un client utilise une connexion persistante, elle comptera + pour une seule requête pour la directive MaxRequestsPerChild, quel + que soit le nombre de requêtes transmises via cette connexion.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#maxkeepaliverequests">MaxKeepAliveRequests</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="KeepAliveTimeout" id="KeepAliveTimeout">KeepAliveTimeout</a> <a name="keepalivetimeout" id="keepalivetimeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Durée pendant laquelle le serveur va attendre une requête +avant de fermer une connexion persistante</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>KeepAliveTimeout <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>KeepAliveTimeout 5</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Le nombre de secondes pendant lesquelles Apache va attendre une + requête avant de fermer la connexion. La valeur du délai spécifiée + par la directive <code class="directive"><a href="#timeout">Timeout</a></code> + s'applique dès qu'une requête a été reçue.</p> + + <p>Donner une valeur trop élévée à + <code class="directive">KeepAliveTimeout</code> peut induire des problèmes + de performances sur les serveurs fortement chargés. Plus le délai + est élévé, plus nombreux seront les processus serveur en attente de + requêtes de la part de clients inactifs.</p> + + <p>Dans un contexte de serveur virtuel à base de nom, c'est le délai + du premier serveur virtuel défini (le serveur par défaut) parmi un + ensemble de directives <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> qui sera utilisé. Les + autres valeurs seront ignorées.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Limit" id="Limit"><Limit></a> <a name="limit" id="limit">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Restreint les contrôles d'accès que la section contient à +certaines méthodes HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Limit <var>méthode</var> [<var>méthode</var>] ... > ... + </Limit></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les contrôles d'accès s'appliquent normalement à + <strong>toutes</strong> les méthodes d'accès, et c'est en général le + comportement souhaité. <strong>Dans le cas général, les directives + de contrôle d'accès n'ont pas à être placées dans une section + <code class="directive"><Limit></code>.</strong></p> + + <p>La directive <code class="directive"><Limit></code> a pour + but de limiter les effets des contrôles d'accès aux méthodes HTTP + spécifiées. Pour toutes les autres méthodes, les restrictions + d'accès contenues dans la section <code class="directive"><Limit></code> <strong>n'auront aucun + effet</strong>. L'exemple suivant n'applique les contrôles d'accès + qu'aux méthodes <code>POST</code>, <code>PUT</code>, et + <code>DELETE</code>, en laissant les autres méthodes sans protection + :</p> + + <div class="example"><p><code> + <Limit POST PUT DELETE><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </Limit> + </code></p></div> + + <p>La liste des noms de méthodes peut contenir une ou plusieurs + valeurs parmi les suivantes : <code>GET</code>, <code>POST</code>, + <code>PUT</code>, <code>DELETE</code>, <code>CONNECT</code>, + <code>OPTIONS</code>, <code>PATCH</code>, <code>PROPFIND</code>, + <code>PROPPATCH</code>, <code>MKCOL</code>, <code>COPY</code>, + <code>MOVE</code>, <code>LOCK</code>, et <code>UNLOCK</code>. + <strong>Le nom de méthode est sensible à la casse.</strong> Si la + valeur <code>GET</code> est présente, les requêtes <code>HEAD</code> + seront aussi concernées. La méthode <code>TRACE</code> ne peut pas + être limitée.</p> + + <div class="warning">Une section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> doit toujours être préférée à + une section <code class="directive"><a href="#limit"><Limit></a></code> pour la restriction d'accès, car une + section <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> fournit une protection contre + les méthodes arbitraires.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitExcept" id="LimitExcept"><LimitExcept></a> <a name="limitexcept" id="limitexcept">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Applique les contrôles d'accès à toutes les méthodes HTTP, +sauf celles qui sont spécifiées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LimitExcept <var>méthode</var> [<var>méthode</var>] ... > ... + </LimitExcept></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><code class="directive"><LimitExcept></code> et + <code></LimitExcept></code> permettent de regrouper des + directives de contrôle d'accès qui s'appliqueront à toutes les + méthodes d'accès HTTP qui ne font <strong>pas</strong> partie de la + liste des arguments ; en d'autres termes, elles ont un comportement + opposé à celui de la section <code class="directive"><a href="#limit"><Limit></a></code>, et on peut les utiliser pour + contrôler aussi bien les méthodes standards que les méthodes non + standards ou non reconnues. Voir la documentation de la section + <code class="directive"><a href="#limit"><Limit></a></code> pour plus + de détails.</p> + + <p>Par exemple :</p> + + <div class="example"><p><code> + <LimitExcept POST GET><br /> + <span class="indent"> + Require valid-user<br /> + </span> + </LimitExcept> + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitInternalRecursion" id="LimitInternalRecursion">LimitInternalRecursion</a> <a name="limitinternalrecursion" id="limitinternalrecursion">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le nombre maximal de redirections internes et de +sous-requêtes imbriquées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitInternalRecursion <var>nombre</var> [<var>nombre</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitInternalRecursion 10</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.0.47 d'Apache</td></tr> +</table> + <p>Une redirection interne survient, par exemple, quand on utilise + la directive <code class="directive"><a href="../mod/mod_actions.html#action">Action</a></code> qui + redirige en interne la requête d'origine vers un script CGI. Une + sous-requête est le mécanisme qu'utilise Apache pour déterminer ce + qui se passerait pour un URI s'il faisait l'objet d'une requête. Par + exemple, <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code> utilise les sous-requêtes pour + rechercher les fichiers listés dans la directive <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code>.</p> + + <p>La directive <code class="directive">LimitInternalRecursion</code> permet + d'éviter un crash du serveur dû à un bouclage infini de redirections + internes ou de sous-requêtes. De tels bouclages sont dus en général + à des erreurs de configuration.</p> + + <p>La directive accepte, comme arguments, deux limites qui sont + évaluées à chaque requête. Le premier <var>nombre</var> est le + nombre maximum de redirections internes qui peuvent se succéder. Le + second <var>nombre</var> détermine la profondeur d'imbrication + maximum des sous-requêtes. Si vous ne spécifiez qu'un seul + <var>nombre</var>, il sera affecté aux deux limites.</p> + + <div class="example"><h3>Exemple</h3><p><code> + LimitInternalRecursion 5 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestBody" id="LimitRequestBody">LimitRequestBody</a> <a name="limitrequestbody" id="limitrequestbody">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>limite la taille maximale du corps de la requête HTTP +envoyée par le client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestBody <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestBody 0</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive spécifie la taille maximale autorisée pour le + corps d'une requête ; la valeur de l'argument <var>octets</var> va + de 0 (pour une taille illimitée), à 2147483647 (2Go).</p> + + <p>La directive <code class="directive">LimitRequestBody</code> permet de + définir une limite pour la taille maximale autorisée du corps d'une + requête HTTP en tenant compte du contexte dans lequel la directive + a été placée (c'est à dire au niveau du serveur, d'un répertoire, + d'un fichier ou d'un chemin d'url). Si la requête du client dépasse + cette limite, le serveur répondra par un message d'erreur et ne + traitera pas la requête. La taille du corps d'une requête normale va + varier de manière importante en fonction de la nature de la + ressource et des méthodes autorisées pour cette dernière. Les + scripts CGI utilisent souvent le corps du message pour extraire les + informations d'un formulaire. Les implémentations de la méthode + <code>PUT</code> nécessitent une valeur au moins aussi élevée que la + taille maximale des représentations que le serveur désire accepter + pour cette ressource.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.</p> + + <p>Si par exemple, vous autorisez le chargement de fichiers vers une + localisation particulière, et souhaitez limiter la taille des + fichiers chargés à 100Ko, vous pouvez utiliser la directive suivante + :</p> + + <div class="example"><p><code> + LimitRequestBody 102400 + </code></p></div> + + <div class="note">Note : ne s'applique pas aux requêtes mandatées.</div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFields" id="LimitRequestFields">LimitRequestFields</a> <a name="limitrequestfields" id="limitrequestfields">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de champs d'en-tête autorisés dans une +requête HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFields <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFields 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p><var>nombre</var> est un entier de 0 (nombre de champs illimité) + à 32767. La valeur par défaut est définie à la compilation par la + constante <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> (100 selon la + distribution).</p> + + <p>La directive <code class="directive">LimitRequestFields</code> permet à + l'administrateur du serveur de modifier le nombre maximum de champs + d'en-tête autorisés dans une requête HTTP. Pour un serveur, cette + valeur doit être supérieure au nombre de champs qu'une requête + client normale peut contenir. Le nombre de champs d'en-tête d'une + requête qu'un client utilise dépasse rarement 20, mais ce nombre + peut varier selon les implémentations des clients, et souvent en + fonction des extensions que les utilisateurs configurent dans leurs + navigateurs pour supporter la négociation de contenu détaillée. Les + extensions HTTP optionnelles fonctionnent utilisent souvent les + champs d'en-tête des requêtes.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service. La valeur spécifiée doit être + augmentée si les clients standards reçoivent une erreur du serveur + indiquant que la requête comportait un nombre d'en-têtes trop + important.</p> + + <p>Par exemple :</p> + + <div class="example"><p><code> + LimitRequestFields 50 + </code></p></div> + + <div class="warning"><h3>Avertissement</h3> + <p>Dans le cas des serveurs virtuels par noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la connexion correspondait à la + directive <code class="directive">NameVirtualHost</code>.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestFieldSize" id="LimitRequestFieldSize">LimitRequestFieldSize</a> <a name="limitrequestfieldsize" id="limitrequestfieldsize">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dédinit la taille maximale autorisée d'un en-tête de +requête HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestFieldSize <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestFieldSize 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir le nombre maximum + d'<var>octets</var> autorisés dans un en-tête de requête HTTP.</p> + + <p>La directive <code class="directive">LimitRequestFieldSize</code> permet + à l'administrateur du serveur de réduire ou augmenter la taille + maximale autorisée d'un en-tête de requête HTTP. Pour un serveur, + cette valeur doit être suffisamment grande pour contenir tout + en-tête d'une requête client normale. La taille d'un champ d'en-tête + de requête normal va varier selon les implémentations des clients, + et en fonction des extensions que les utilisateurs + configurent dans leurs navigateurs pour supporter la négociation de + contenu détaillée. Les en-têtes d'authentification SPNEGO peuvent + atteindre une taille de 12392 octets.</p> + + <p>>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.</p> + + <p>Par exemple ::</p> + + <div class="example"><p><code> + LimitRequestFieldSize 4094 + </code></p></div> + + <div class="note">Dans des conditions normales, la valeur par défaut de cette + directive ne doit pas être modifiée.</div> + + <div class="warning"><h3>Avertissement</h3> + <p>Dans le cas des serveurs virtuels par noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la connexion correspondait à la + directive <code class="directive">NameVirtualHost</code>.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitRequestLine" id="LimitRequestLine">LimitRequestLine</a> <a name="limitrequestline" id="limitrequestline">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale d'une ligne de requête +HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitRequestLine <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitRequestLine 8190</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de définir la taille maximale autorisée + pour une ligne de requête HTTP en <var>octets</var>.</p> + + <p>La directive <code class="directive">LimitRequestLine</code> permet à + l'administrateur du serveur de réduire ou augmenter la taille + maximale autorisée d'une ligne de requête HTTP client. Comme une + requête comporte une méthode HTTP, un URI, et une version de + protocole, la directive <code class="directive">LimitRequestLine</code> + impose une restriction sur la longueur maximale autorisée pour un + URI dans une requête au niveau du serveur. Pour un serveur, cette + valeur doit être suffisamment grande pour référencer les noms de + toutes ses ressources, y compris toutes informations pouvant être + ajoutées dans la partie requête d'une méthode <code>GET</code>.</p> + + <p>L'administrateur du serveur peut utiliser cette directive pour + contrôler plus efficacement les comportements anormaux des requêtes + des clients, ce qui lui permettra de prévenir certaines formes + d'attaques par déni de service.</p> + + <p>Par exemple :</p> + + <div class="example"><p><code> + LimitRequestLine 4094 + </code></p></div> + + <div class="note">Dans des conditions normales, la valeur par défaut de cette + directive ne doit pas être modifiée.</div> + + <div class="warning"><h3>Avertissement</h3> + <p>Dans le cas des serveurs virtuels par noms, la valeur de + cette directive est extraite du serveur virtuel par défaut (le + premier de la liste) pour lequel la connexion correspondait à la + directive <code class="directive">NameVirtualHost</code>.</p> + </div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LimitXMLRequestBody" id="LimitXMLRequestBody">LimitXMLRequestBody</a> <a name="limitxmlrequestbody" id="limitxmlrequestbody">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la taille maximale du corps d'une requête au format +XML</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LimitXMLRequestBody <var>octets</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LimitXMLRequestBody 1000000</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Taille maximale (en octets) du corps d'une requête au format XML. + Une valeur de <code>0</code> signifie qu'aucune limite n'est + imposée.</p> + + <p>Exemple :</p> + + <div class="example"><p><code> + LimitXMLRequestBody 0 + </code></p></div> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Location" id="Location"><Location></a> <a name="location" id="location">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs +spécifiées</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><Location + <var>chemin URL</var>|<var>URL</var>> ... </Location></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive"><Location></code> + limite la portée des directives contenues aux URLs définies par + l'argument URL. Elle est similaire à la directive <code class="directive"><a href="#directory"><Directory></a></code>, et marque le + début d'une section qui se termine par une directive + <code></Location></code>. Les sections <code class="directive"><Location></code> sont traitées selon l'ordre dans + lequel elles apparaissent dans le fichier de configuration, mais + après les sections <code class="directive"><a href="#directory"><Directory></a></code> et la lecture des + fichiers <code>.htaccess</code>, et après les sections <code class="directive"><a href="#files"><Files></a></code>.</p> + + <p>Les sections <code class="directive"><Location></code> + agissent complètement en dehors du système de fichiers. Ceci a de + nombreuses conséquences. Parmi les plus importantes, on ne doit pas + utiliser les sections <code class="directive"><Location></code> + pour contrôler l'accès aux répertoires du système de fichiers. Comme + plusieurs URLs peuvent correspondre au même répertoire du système de + fichiers, un tel contrôle d'accès pourrait être contourné.</p> + + <p>Les directives que contient cette section seront appliquées aux + requêtes si la partie chemin de l'URL satisfait à l'un au moins de + ces critères :</p> + <ul> + <li>Le chemin spécifié correspond exactement à la partie chemin de + l'URL. + </li> + <li>Le chemin spécifié, qui se termine par un slash, est un + préfixe de la partie chemin de l'URL (traité comme une racine du + contexte). + </li> + <li>Le chemin spécifié, si on lui ajoute un slash de fin, est un + préfixe de la partie chemin de l'URL (aussi traité comme une racine du + contexte). + </li> + </ul> + <p>Dans l'exemple ci-dessous, où aucun slash de fin n'est utilisé, les + directives contenues dans la section s'appliqueront à /private1, + /private1/ et /private1/file.txt, mais pas à /private1other.</p> + <div class="example"><p><code> + <Location /private1> + ... + </code></p></div> + <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> + <div class="example"><p><code> + <Location /private2<em>/</em>> + ... + </code></p></div> + + <div class="note"><h3>Quand utiliser la section <code class="directive"><Location></code></h3> + + <p>Vous pouvez utiliser une section <code class="directive"><Location></code> pour appliquer des directives à + des contenus situés en dehors du système de fichiers. Pour les + contenus situés à l'intérieur du système de fichiers, utilisez + plutôt les sections <code class="directive"><a href="#directory"><Directory></a></code> et <code class="directive"><a href="#files"><Files></a></code>. <code><Location + /></code> constitue une exception à cette règle et permet d'appliquer + aisément une configuration à l'ensemble du serveur.</p> + </div> + + <p>Pour toutes les requêtes originales (non mandatées), l'argument + URL est un chemin d'URL de la forme + <code>/chemin/</code>. <em>Aucun protocole, nom d'hôte, port, ou chaîne + de requête ne doivent apparaître.</em> Pour les requêtes mandatées, l'URL + spécifiée doit être de la forme + <code>protocole://nom_serveur/chemin</code>, et vous devez inclure + le préfixe.</p> + + <p>L'URL peut contenir des caractères génériques. Dans une chaîne + avec caractères génériques, <code>?</code> correspond à un caractère + quelconque, et <code>*</code> à toute chaîne de caractères. Les + caractères génériques ne peuvent pas remplacer un / dans le chemin + URL.</p> + + <p>On peut également utiliser les <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">Expressions + rationnelles</a>, moyennant l'addition d'un caractère + <code>~</code>. Par exemple :</p> + + <div class="example"><p><code> + <Location ~ "/(extra|special)/data"> + </code></p></div> + + <p>concernerait les URLs contenant les sous-chaîne + <code>/extra/data</code> ou <code>/special/data</code>. La directive + <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> + présente un comportement identique à la version avec expressions + rationnelles de la directive <code class="directive"><Location></code>.</p> + + <p>La directive <code class="directive"><Location></code> + s'utilise principalement avec la directive <code class="directive"><a href="#sethandler">SetHandler</a></code>. Par exemple, pour activer les + requêtes d'état, mais ne les autoriser que depuis des navigateurs + appartenant au domaine <code>example.com</code>, vous pouvez + utiliser :</p> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + Order Deny,Allow<br /> + Deny from all<br /> + Allow from .example.com<br /> + </span> + </Location> + </code></p></div> + + <div class="note"><h3>Note à propos du slash (/)</h3> + <p>La signification du caractère slash dépend de l'endroit où il + se trouve dans l'URL. Les utilisateurs peuvent être habitués à + son comportement dans le système de fichiers où plusieurs slashes + successifs sont souvent réduits à un slash unique (en d'autres + termes, <code>/home///foo</code> est identique à + <code>/home/foo</code>). Dans l'espace de nommage des URLs, ce + n'est cependant pas toujours le cas. Pour la directive <code class="directive"><a href="#locationmatch"><LocationMatch></a></code> et la + version avec expressions rationnelles de la directive <code class="directive"><Location></code>, vous devez spécifier + explicitement les slashes multiples si telle est votre + intention.</p> + + <p>Par exemple, <code><LocationMatch ^/abc></code> va + correspondre à l'URL <code>/abc</code> mais pas à l'URL <code> + //abc</code>. La directive <code class="directive"><Location></code> sans expression rationnelle se comporte de + la même manière lorsqu'elle est utilisée pour des requêtes + mandatées. En revanche, lorsque la directive <code class="directive"><Location></code> sans expression rationnelle + est utilisée pour des requêtes non mandatées, elle fera + correspondre implicitement les slashes multiples à des slashes + uniques. Par exemple, si vous spécifiez <code><Location + /abc/def></code>, une requête de la forme + <code>/abc//def</code> correspondra.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LocationMatch" id="LocationMatch"><LocationMatch></a> <a name="locationmatch" id="locationmatch">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>N'applique les directives contenues qu'aux URLs +correspondant à une expression rationnelle</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><LocationMatch + <var>regex</var>> ... </LocationMatch></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive"><LocationMatch></code> + limite la portée des directives contenues à l'URL spécifiée, de + manière identique à la directive <code class="directive"><a href="#location"><Location></a></code>. Mais son argument permettant de + spécifier les URLs concernées est une <a class="glossarylink" href="../glossary.html#regex" title="voir glossaire">expression rationnelle</a> au lieu d'une simple + chaîne de caractères. Par exemple :</p> + + <div class="example"><p><code> + <LocationMatch "/(extra|special)/data"> + </code></p></div> + + <p>correspondrait à toute URL contenant les sous-chaînes + <code>/extra/data</code> ou <code>/special/data</code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête.</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="LogLevel" id="LogLevel">LogLevel</a> <a name="loglevel" id="loglevel">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la verbosité du journal des erreurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>LogLevel <var>niveau</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>LogLevel warn</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">LogLevel</code> permet d'ajuster la + verbosité des messages enregistrés dans les journaux d'erreur (voir + la directive <code class="directive"><a href="#errorlog">ErrorLog</a></code> + directive). Les <var>niveau</var>x disponibles sont présentés + ci-après, par ordre de criticité décroissante :</p> + + <table class="bordered"> + + <tr> + <th><strong>Niveau</strong> </th> + + <th><strong>Description</strong> </th> + + <th><strong>Exemple</strong> </th> + </tr> + + <tr> + <td><code>emerg</code> </td> + + <td>Urgences - le système est inutilisable.</td> + + <td>"Child cannot open lock file. Exiting"</td> + </tr> + + <tr> + <td><code>alert</code> </td> + + <td>Des mesures doivent être prises immédiatement.</td> + + <td>"getpwuid: couldn't determine user name from uid"</td> + </tr> + + <tr> + <td><code>crit</code> </td> + + <td>Conditions critiques.</td> + + <td>"socket: Failed to get a socket, exiting child"</td> + </tr> + + <tr> + <td><code>error</code> </td> + + <td>Erreurs.</td> + + <td>"Premature end of script headers"</td> + </tr> + + <tr> + <td><code>warn</code> </td> + + <td>Avertissements.</td> + + <td>"child process 1234 did not exit, sending another + SIGHUP"</td> + </tr> + + <tr> + <td><code>notice</code> </td> + + <td>Evènement important mais normal.</td> + + <td>"httpd: caught SIGBUS, attempting to dump core in + ..."</td> + </tr> + + <tr> + <td><code>info</code> </td> + + <td>Informations.</td> + + <td>"Server seems busy, (you may need to increase + StartServers, or Min/MaxSpareServers)..."</td> + </tr> + + <tr> + <td><code>debug</code> </td> + + <td>Messages de débogage.</td> + + <td>"Opening config file ..."</td> + </tr> + </table> + + <p>Lorsqu'un niveau particulier est spécifié, les messages de tous + les autres niveaux de criticité supérieure seront aussi enregistrés. + <em>Par exemple</em>, si <code>LogLevel info</code> est spécifié, + les messages de niveaux <code>notice</code> et <code>warn</code> + seront aussi émis.</p> + + <p>Il est recommandé d'utiliser un niveau <code>crit</code> ou + inférieur.</p> + + <p>Par exemple :</p> + + <div class="example"><p><code> + LogLevel notice + </code></p></div> + + <div class="note"><h3>Note</h3> + <p>Si la journalisation s'effectue directement dans un fichier, + les messages de niveau <code>notice</code> ne peuvent pas être + supprimés et sont donc toujours journalisés. Cependant, ceci ne + s'applique pas lorsque la journalisation s'effectue vers + <code>syslog</code>.</p> + </div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="MaxKeepAliveRequests" id="MaxKeepAliveRequests">MaxKeepAliveRequests</a> <a name="maxkeepaliverequests" id="maxkeepaliverequests">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre de requêtes permises pour une connexion +persistante</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MaxKeepAliveRequests <var>nombre</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>MaxKeepAliveRequests 100</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">MaxKeepAliveRequests</code> permet + de limiter le nombre de requêtes autorisées par connexion lorsque + <code class="directive"><a href="#keepalive">KeepAlive</a></code> est à "on". Si sa + valeur est <code>0</code>, le nombre de requêtes autorisées est + illimité. Il est recommandé de définir une valeur assez haute pour + des performances du serveur maximales.</p> + + <p>Par exemple :</p> + + <div class="example"><p><code> + MaxKeepAliveRequests 500 + </code></p></div> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="NameVirtualHost" id="NameVirtualHost">NameVirtualHost</a> <a name="namevirtualhost" id="namevirtualhost">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une adresse IP pour les serveurs virtuels à base de +nom</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>NameVirtualHost <var>adresse</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">NameVirtualHost</code> est + obligatoire si vous envisagez de configurer des <a href="../vhosts/">serveurs virtuels par nom</a>.</p> + + <p>Bien que <var>adresse</var> puisse être un nom d'hôte, il est + recommandé d'utiliser plutôt une adresse IP, comme</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44 + </code></p></div> + + <p>La directive <code class="directive">NameVirtualHost</code> vous permet + de spécifier l'adresse IP sur laquelle le serveur recevra des + requêtes pour des serveurs virtuels basés sur le nom. Il s'agit en + général de l'adresse à laquelle correspondent vos noms de serveurs + virtuels basés sur le nom. Dans le cas où un par-feu ou autre + mandataire reçoit les requêtes et les fait suivre au serveur avec + une adresse IP différente, vous devez spécifier l'adresse IP de + l'interface physique du serveur qui traite les requêtes. Si vous + avez plusieurs serveurs virtuels basés sur le nom avec plusieurs + adresses, utilisez une directive pour chaque adresse.</p> + + <div class="note"><h3>Note</h3> + <p>Notez que le "serveur principal" et tout serveur + <code>_default_</code> ne seront <strong>jamais</strong> + sollicités pour une requête vers une adresse + <code class="directive">NameVirtualHost</code> (à moins que pour une + raison ou pour une autre, vous spécifiiez un + <code class="directive">NameVirtualHost</code> sans définir de + <code class="directive">VirtualHost</code>s pour cette adresse).</p> + </div> + + <p>Vous pouvez également ajouter un numéro de port sur lequel + les serveurs virtuels basés sur le nom répondront, comme</p> + + <div class="example"><p><code> + NameVirtualHost 111.22.33.44:8080 + </code></p></div> + + <p>Les adresses IPv6 doivent être entourées de crochets, comme dans + l'exemple suivant :</p> + + <div class="example"><p><code> + NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080 + </code></p></div> + + <p>Pour recevoir les requêtes sur toutes les interfaces, vous pouvez + utiliser comme argument <code>*:80</code>, ou <code>*</code> dans le + cas où vous écoutez sur plusieurs ports et souhaitez vraiment que le + serveur réponde sur chacun d'entre eux avec un jeu de serveurs + virtuels particulier.</p> + + <div class="example"><p><code> + NameVirtualHost *:80 + </code></p></div> + + <div class="note"><h3>Argument de la directive <code class="directive"><VirtualHost></code></h3> + <p>Notez que l'argument de la directive <code class="directive"><VirtualHost></code> doit être identique à + l'argument de la directive <code class="directive">NameVirtualHost</code>.</p> + + <div class="example"><p><code> + NameVirtualHost 1.2.3.4<br /> + <VirtualHost 1.2.3.4><br /> + # ...<br /> + </VirtualHost><br /> + </code></p></div> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../vhosts/">Documentation sur les serveurs +virtuels</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Options" id="Options">Options</a> <a name="options" id="options">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les fonctionnalités disponibles pour un répertoire +particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Options + [+|-]<var>option</var> [[+|-]<var>option</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Options All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>Options</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">Options</code> permet de définir + les fonctionnalités de serveur disponibles pour un répertoire + particulier.</p> + + <p><var>option</var> peut être défini à <code>None</code>, auquel + cas aucune fonctionnalité spécifique n'est activée, ou comprendre + une ou plusieurs des options suivantes :</p> + + <dl> + <dt><code>All</code></dt> + + <dd>Toutes les options exceptée <code>MultiViews</code>. il s'agit + de la configuration par défaut.</dd> + + <dt><code>ExecCGI</code></dt> + + <dd>L'exécution de scripts CGI à l'aide du module + <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code> est permise.</dd> + + <dt><code>FollowSymLinks</code></dt> + + <dd> + + Le serveur va suivre les liens symboliques dans le répertoire + concerné. + <div class="note"> + <p>Bien que le serveur suive les liens symboliques, il ne modifie + <em>pas</em> le nom de chemin concerné défini par la section + <code class="directive"><a href="#directory"><Directory></a></code>.</p> + <p>Notez aussi que cette option <strong>est ignorée</strong> si + elle est définie dans une section <code class="directive"><a href="#location"><Location></a></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> + </div></dd> + + <dt><code>Includes</code></dt> + + <dd> + Les inclusions côté serveur (SSI) à l'aide du module + <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> sont autorisées.</dd> + + <dt><code>IncludesNOEXEC</code></dt> + + <dd> + + Les inclusions côté serveur (SSI) sont permises, mais <code>#exec + cmd</code> et <code>#exec cgi</code> sont désactivées. + L'utilisation de <code>#include virtual</code> pour les scripts + CGI est cependant toujours possible depuis des répertoires + définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>.</dd> + + <dt><code>Indexes</code></dt> + + <dd> + Si une URL requise correspond au répertoire concerné, et si aucun + <code class="directive"><a href="../mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> (<em>par + exemple</em> <code>index.html</code>) n'est défini pour ce + répertoire, le module <code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code> va renvoyer + un listing formaté du répertoire.</dd> + + <dt><code>MultiViews</code></dt> + + <dd> + Les vues multiples ("multiviews") à <a href="../content-negotiation.html">contenu négocié</a> à l'aide du + module <code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code> sont autorisées.</dd> + + <dt><code>SymLinksIfOwnerMatch</code></dt> + + <dd>Le serveur ne suivra que les liens symboliques qui renvoient + vers un fichier ou un répertoire dont le propriétaire est le même + que celui du lien. + + <div class="note"><h3>Note</h3> <p>Cette option est ignorée si elle est + définie dans une section <code class="directive"><a href="#location"><Location></a></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></div> + </dd> + </dl> + + <p>Normalement, si plusieurs directives + <code class="directive">Options</code> peuvent s'appliquer à un répertoire, + c'est la plus spécifique qui est utilisée et les autres sont + ignorées ; les options ne sont pas fusionnées (voir <a href="../sections.html#mergin">comment les sections sont + fusionnées</a>). Elles le sont cependant si <em>toutes</em> les + options de la directive <code class="directive">Options</code> sont + précédées d'un symbole <code>+</code> ou <code>-</code>. Toute + option précédée d'un <code>+</code> est ajoutée à la liste des + options courantes de manière forcée et toute option précédée d'un + <code>-</code> est supprimée de la liste des options courantes de la + même manière.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Mélanger des <code class="directive">Options</code> avec <code>+</code> + ou <code>-</code> avec des <code class="directive">Options</code> sans + <code>+</code> ou <code>-</code> constitue une erreur de syntaxe, et + peut résulter en des comportements inattendus.</p> + </div> + + <p>Par exemple, sans aucun symbole <code>+</code> et <code>-</code> + :</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options Includes<br /> + </span> + </Directory> + </code></p></div> + + <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 <code class="directive">Options</code> utilise les + symboles <code>+</code> et <code>-</code> :</p> + + <div class="example"><p><code> + <Directory /web/docs><br /> + <span class="indent"> + Options Indexes FollowSymLinks<br /> + </span> + </Directory><br /> + <br /> + <Directory /web/docs/spec><br /> + <span class="indent"> + Options +Includes -Indexes<br /> + </span> + </Directory> + </code></p></div> + + <p>alors, les options <code>FollowSymLinks</code> et + <code>Includes</code> seront prises en compte pour le répertoire + <code>/web/docs/spec</code>.</p> + + <div class="note"><h3>Note</h3> + <p>L'utilisation de <code>-IncludesNOEXEC</code> ou + <code>-Includes</code> désactive complètement les inclusions côté + serveur sans tenir compte des définitions précédentes.</p> + </div> + + <p>En l'absence de toute définition d'options, la valeur par défaut + est <code>All</code>.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Protocol" id="Protocol">Protocol</a> <a name="protocol" id="protocol">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Protocole pour une socket d'écoute</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Protocol <var>protocole</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1.5 d'Apache, mais +uniquement depuis la version 2.3.3 sous Windows.</td></tr> +</table> + <p>Cette directive permet de spécifier le protocole utilisé pour une + socket d'écoute particulière. Le protocole sert à déterminer quel + module doit traiter une requête, et d'appliquer les optimisations + spécifiques au protocole via la directive + <code class="directive">AcceptFilter</code>.</p> + + <p>Vous ne devez définir le protocole que si vous travaillez avec + des ports non standards ; dans le cas général, le protocole + <code>http</code> est associé au port 80 et le protocole + <code>https</code> au port 443.</p> + + <p>Par exemple, si vous travaillez avec le protocole + <code>https</code> sur un port non standard, spécifiez le protocole + de manière explicite :</p> + + <div class="example"><p><code> + Protocol https + </code></p></div> + + <p>Vous pouvez aussi spécifier le protocole via la directive + <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive">AcceptFilter</code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Require" id="Require">Require</a> <a name="require" id="require">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine les utilisateurs authentifiés autorisés à accéder +à une ressource</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Require <var>nom entité</var> [<var>nom entité</var>] ...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de déterminer les utilisateurs + authentifiés autorisés à accéder à une ressource. De multiples + instances de cette directive se combinent entre elles avec un "OU" + logique, si bien qu'un utilisateur qui convient à une ligne + <code class="directive">Require </code> reçoit l'autorisation d'accès. + Les restrictions + sont traitées par les modules d'autorisation. Voici quelques + exemples de syntaxes autorisées par <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code> + et <code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code> :</p> + + <dl> + <dt><code>Require user <var>identifiant_utilisateur</var> + [<var>identifiant_utilisateur</var>] + ...</code></dt> + <dd>Seuls les utilisateurs spécifiés peuvent accéder à la + ressource.</dd> + + <dt><code>Require group <var>nom_groupe</var> [<var>nom_groupe</var>] + ...</code></dt> + <dd>Seuls les utilisateurs appartenant aux groupes spécifiés + peuvent accéder à la ressource.</dd> + + <dt><code>Require valid-user</code></dt> + <dd>Tout utilisateur valide peut accéder à la ressource.</dd> + </dl> + + <p>D'autres modules d'autorisation comme + <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>, <code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, et + <code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code> implémentent les options de la + directive Require.</p> + + <p>La directive <code class="directive">Require</code> doit être associée + aux directives <code class="directive"><a href="#authname">AuthName</a></code> et + <code class="directive"><a href="#authtype">AuthType</a></code>, ainsi qu'à des + directives telles que <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> et <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> (pour la + définition des utilisateurs et des groupes) afin de pouvoir + fonctionner correctement. Exemple :</p> + + <div class="example"><p><code> + AuthType Basic<br /> + AuthName "Ressource à accès restreint"<br /> + AuthUserFile /web/users<br /> + AuthGroupFile /web/groups<br /> + Require group admin + </code></p></div> + + <p>Les contrôles d'accès appliqués de cette manière sont effectifs + pour <strong>toutes</strong> les méthodes HTTP. <strong>C'est en général + ce que l'on souhaite.</strong> Si vous désirez n'appliquer les + contrôles d'accès que pour certaines méthodes, tout en laissant les + autres méthodes sans protection, vous devez placer la directive + <code class="directive">Require</code> à l'intérieur d'une section + <code class="directive"><a href="#limit"><Limit></a></code>.</p> + + <p>Si la directive <code class="directive">Require</code> est utilisée + conjointement avec les directives <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> ou <code class="directive"><a href="../mod/mod_authz_host.html#deny">Deny</a></code>, l'interaction entre les + différentes restrictions imposées est contrôlée par la directive + <code class="directive"><a href="#satisfy">Satisfy</a></code>.</p> + + <div class="note"><h3>Désactivation des contrôles d'accès pour certains + sous-répertoires</h3> + <p>L'exemple suivant montre comment utiliser la directive <code class="directive"><a href="#satisfy">Satisfy</a></code> pour désactiver les contrôles + d'accès dans un sous-répertoire d'un répertoire protégé. Cette + technique doit être utilisée avec précautions, car elle va aussi + désactiver tout contrôle d'accès imposé par + <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>.</p> + <div class="example"><p><code> + <Directory /chemin/vers/protégé/><br /> + <span class="indent"> + Require user david<br /> + </span> + </Directory><br /> + <Directory /chemin/vers/protégé/non-protégé><br /> + <span class="indent"> + # Tous les contrôle d'accès et authentifications sont + # désactivés pour ce répertoire<br /> + Satisfy Any<br /> + Allow from all<br /> + </span> + </Directory><br /> + </code></p></div> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../howto/auth.html">Authentification, autorisation, + et contrôle d'accès</a></li> +<li><code class="directive"><a href="#satisfy">Satisfy</a></code></li> +<li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le temps CPU alloué aux processus initiés par les +processus enfants d'Apache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitCPU <var>secondes</var>|max [<var>secondes</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système +d'exploitation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit <code>max</code> pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa + phase de démarrage.</p> + + <p>Cette directive s'applique aux processus initiés par les + processus enfants d'Apache qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache comme les journalisations redirigées + vers un programme.</p> + + <p>Les limites de ressources CPU sont exprimées en secondes par + processus.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitMEM" id="RLimitMEM">RLimitMEM</a> <a name="rlimitmem" id="rlimitmem">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite la mémoire allouée aux processus initiés par les +processus enfants d'Apache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitMEM <var>octets</var>|max [<var>octets</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Non défini ; utilise les valeurs par défaut du système +d'exploitation</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit <code>max</code> pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa + phase de démarrage.</p> + + <p>Cette directive s'applique aux processus initiés par les + processus enfants d'Apache qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache comme les journalisations redirigées + vers un programme.</p> + + <p>Les limites de ressources mémoire sont exprimées en octets par + processus.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +<li><code class="directive"><a href="#rlimitnproc">RLimitNPROC</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="RLimitNPROC" id="RLimitNPROC">RLimitNPROC</a> <a name="rlimitnproc" id="rlimitnproc">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Limite le nombre de processus qui peuvent être initiés par +les processus initiés par les processus enfants d'Apache</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>RLimitNPROC <var>nombre</var>|max [<var>nombre</var>|max]</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Unset; uses operating system defaults</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Prend 1 ou 2 paramètres. Le premier definit la limite de + consommation de ressources pour tous les processus, et le second la + consommation de ressources maximale. Les deux paramètres peuvent + contenir soit un nombre, soit <code>max</code> pour indiquer au + serveur que la limite de consommation correspond à la valeur + maximale autorisée par la configuration du système d'exploitation. + Pour augmenter la consommation maximale de ressources, le serveur + doit s'exécuter en tant que <code>root</code>, ou se trouver dans sa + phase de démarrage.</p> + + <p>Cette directive s'applique aux processus initiés par les + processus enfants d'Apache qui traitent les requêtes, et non aux + processus enfants eux-mêmes. Sont concernés les scripts CGI et les + commandes exec des SSI, mais en aucun cas les processus initiés par + le processus parent d'Apache comme les journalisations redirigées + vers un programme.</p> + + <p>Les limites des processus contrôlent le nombre de processus par + utilisateur.</p> + + <div class="note"><h3>Note</h3> + <p>Si les processus CGI s'exécutent sous le même + utilisateur que celui du serveur web, cette + directive va limiter le nombre de processus que le serveur + pourra lui-même créer. La présence de messages + <strong><code>cannot fork</code></strong> dans le journal des + erreurs indiquera que la limite est atteinte.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#rlimitmem">RLimitMEM</a></code></li> +<li><code class="directive"><a href="#rlimitcpu">RLimitCPU</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Satisfy" id="Satisfy">Satisfy</a> <a name="satisfy" id="satisfy">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Interaction entre les contrôles d'accès par hôte +et l'authentification des utilisateurs</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Satisfy Any|All</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>Satisfy All</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Influencé par les sections <code class="directive"><a href="#limit"><Limit></a></code> et <code class="directive"><a href="#limitexcept"><LimitExcept></a></code> dans les versions 2.0.51 et +supérieures</td></tr> +</table> + <p>Cette directive permet de définir la politique d'accès lorsque + les directives <code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code> et <code class="directive"><a href="#require">Require</a></code> sont utilisées conjointement. + L'argument prend pour valeur <code>All</code> ou <code>Any</code>. + Cette directive ne s'avère utile que dans le cas où l'accès à une + zone particulière est contrôlé à la fois par une authentification + utilisateur/mot de passe <em>et</em> par l'adresse IP du client. + Avec la valeur par défaut de l'argument (<code>All</code>), le + client doit d'abord satisfaire à la condition d'accès en fonction de + son adresse IP, <em>puis</em> fournir un couple utilisateur/mot de + passe valide. Si l'argument est <code>Any</code>, le client se verra + accorder l'accès s'il satisfait à au moins une des conditions d'accès + : adresse IP et/ou un couple utilisateur/mot de passe valides. On + peut utiliser cette valeur pour restreindre l'accès à une zone à + l'aide d'un mot de passe, mais laisser cette zone en accès libre + pour les clients possédant certaines adresses IP.</p> + + <p>Par exemple, si vous souhaitez accorder un accès sans restriction + à une portion de votre site web aux clients de votre réseau, mais + n'accorder cet accès aux clients à l'extérieur de votre réseau qu'en + échange d'un mot de passe, vous pouvez utiliser une configuration de + ce style :</p> + + <div class="example"><p><code> + Require valid-user<br /> + Order allow,deny<br /> + Allow from 192.168.1<br /> + Satisfy Any + </code></p></div> + + <p>Depuis la version 2.0.51, les directives + <code class="directive">Satisfy</code> peuvent être limitées à certaines + méthodes particulières à l'aide des sections <code class="directive"><a href="#limit"><Limit></a></code> et <code class="directive"><a href="#limitexcept"><LimitExcept></a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_authz_host.html#allow">Allow</a></code></li> +<li><code class="directive"><a href="#require">Require</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ScriptInterpreterSource" id="ScriptInterpreterSource">ScriptInterpreterSource</a> <a name="scriptinterpretersource" id="scriptinterpretersource">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Permet de localiser l'interpréteur des scripts +CGI</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ScriptInterpreterSource Registry|Registry-Strict|Script</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ScriptInterpreterSource Script</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Win32 seulement ; +l'option <code>Registry-Strict</code> est disponible dans les versions +2.0 et supérieures d'Apache</td></tr> +</table> + <p>Cette directive permet de contrôler la méthode qu'utilise Apache + pour trouver l'interpréteur destiné à exécuter les scripts CGI. La + définition par défaut est <code>Script</code> : ceci indique à + Apache qu'il doit utiliser l'interpréteur précisé dans la ligne + shebang du script (la première ligne, commençant par + <code>#!</code>). Sur les systèmes Win32, cette ligne ressemble + souvent à ceci :</p> + + <div class="example"><p><code> + #!C:/Perl/bin/perl.exe + </code></p></div> + + <p>ou simplement, dans le cas où <code>perl</code> est dans le + <code>PATH</code> :</p> + + <div class="example"><p><code> + #!perl + </code></p></div> + + <p>Avec <code>ScriptInterpreterSource Registry</code>, Windows va + effectuer une recherche dans l'arborescence + <code>HKEY_CLASSES_ROOT</code> de la base de registre avec comme + mot-clé l'extension du fichier contenant le script (par exemple + <code>.pl</code>). C'est la commande définie par la sous-clé de + registre <code>Shell\ExecCGI\Command</code> ou, si elle n'existe + pas, la sous-clé <code>Shell\Open\Command</code> qui est utilisée + pour ouvrir le fichier du script. Si ces clés de registre ne sont + pas trouvées, Apache utilise la méthode de l'option + <code>Script</code>.</p> + + <p>Par exemple, pour que les scripts possédant l'extension .pl + soient traités par perl, la ligne du registre doit être :</p> + + <div class="example"><p><code><code>HKEY_CLASSES_ROOT\.pl\Shell\ExecCGI\Command\(Default) + => C:\Perl\bin\perl.exe -wT</code></code></p></div> + + <div class="warning"><h3>Sécurité</h3> + <p>Soyez prudent si vous utilisez <code>ScriptInterpreterSource + Registry</code> avec des répertoires faisant l'objet d'un <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>, car Apache va essayer + d'exécuter <strong>tous</strong> les fichiers contenus dans + celui-ci. L'option <code>Registry</code> peut causer des appels de + programmes non voulus sur des fichiers non destinés à être exécutés. + Par exemple, la commande par défaut open sur les fichiers + <code>.htm</code> sur la plupart des systèmes Windows va lancer + Microsoft Internet Explorer ; ainsi, toute requête HTTP pour un + fichier <code>.htm</code> situé dans le répertoire des scripts + va lancer le navigateur en arrière-plan sur le serveur, ce qui a + toutes les chances de crasher votre système dans les minutes qui + suivent.</p> + </div> + + <p>L'option <code>Registry-Strict</code>, apparue avec Apache 2.0, + agit de manière identique à <code>Registry</code>, mais n'utilise + que la sous-clé <code>Shell\ExecCGI\Command</code>. La présence de + la clé <code>ExecCGI</code> n'étant pas systématique, Elle doit être + définie manuellement dans le registre Windows et évite ainsi tout + appel de programme accidentel sur votre système.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAdmin" id="ServerAdmin">ServerAdmin</a> <a name="serveradmin" id="serveradmin">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'adresse électronique que le serveur inclut dans les +messages d'erreur envoyés au client</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAdmin <var>adresse électronique</var>|<var>URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerAdmin</code> permet de définir + l'adresse de contact que le serveur va inclure dans tout message + d'erreur qu'il envoie au client. Si le programme <code>httpd</code> + ne reconnait pas l'argument fourni comme une URL, il suppose que + c'est une <var>adresse électronique</var>, et lui ajoute le préfixe + <code>mailto:</code> dans les cibles des hyperliens. Il est + cependant recommandé d'utiliser exclusivement une adresse + électronique, car de nombreux scripts CGI considèrent ceci comme + implicite. Si vous utilisez une URL, elle doit pointer vers un autre + serveur que vous contrôlez. Dans le cas contraire, les utilisateurs + seraient dans l'impossibilité de vous contacter en cas de problème.</p> + + <p>Il peut s'avérer utile de définir une adresse dédiée à + l'administration du serveur, par exemple :</p> + + <div class="example"><p><code> + ServerAdmin www-admin@foo.example.com + </code></p></div> + <p>car les utilisateurs ne mentionnent pas systématiquement le + serveur dont ils parlent !</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerAlias" id="ServerAlias">ServerAlias</a> <a name="serveralias" id="serveralias">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Autres noms d'un serveur utilisables pour atteindre des +serveurs virtuels à base de nom</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerAlias <var>nom serveur</var> [<var>nom serveur</var>] +...</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerAlias</code> permet de définir + les noms alternatifs d'un serveur utilisables pour atteindre des <a href="../vhosts/name-based.html">serveurs virtuels à base de + nom</a>. La directive <code class="directive">ServerAlias</code> peut + contenir des caractères génériques, si nécessaire.</p> + + <div class="example"><p><code> + <VirtualHost *:80><br /> + ServerName serveur.domaine.com<br /> + ServerAlias serveur serveur2.domaine.com serveur2<br /> + ServerAlias *.example.com<br /> + UseCanonicalName Off<br /> + # ...<br /> + </VirtualHost> + </code></p></div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><a href="../vhosts/">Documentation sur les serveurs virtuels +d'Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerName" id="ServerName">ServerName</a> <a name="servername" id="servername">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom d'hôte et port que le serveur utilise pour +s'authentifier lui-même</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerName [<var>protocole</var>://]<var>nom de domaine +entièrement qualifié</var>[:<var>port</var>]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Dans la version 2.0, cette directive remplace la +fonctionnalité de la directive <code class="directive">Port</code> de la version +1.3.</td></tr> +</table> + <p>La directive <code class="directive">ServerName</code> permet de définir + les protocole, nom d'hôte et port d'une requête que le serveur + utilise pour s'authentifier lui-même. Ceci est utile lors de la + création de redirections d'URLs.</p> + + <p>La directive <code class="directive">ServerName</code> permet aussi + (éventuellement en conjonction avec la directive + <code class="directive">ServerAlias</code>) d'identifier de manière unique + un serveur virtuel, lorsqu'elle est utilisée dans un contexte de <a href="../vhosts/name-based.html">serveurs virtuels par + noms</a>.</p> + + <p>Par exemple, si le nom de la + machine hébergeant le serveur web est + <code>simple.example.com</code>, la machine possède l'alias + DNS <code>www.example.com</code>, et si vous voulez que le serveur + web s'identifie avec cet alias, vous devez utilisez la définition + suivante :</p> + + <div class="example"><p><code> + ServerName www.example.com + </code></p></div> + + <p>Si la directive <code class="directive">ServerName</code> n'est pas + définie, le serveur tente de déterminer le nom d'hôte en effectuant + une recherche DNS inverse sur son adresse IP. Si la directive + <code class="directive">ServerName</code> ne précise pas de port, le serveur + utilisera celui de la requête entrante. Il est recommandé de + spécifier un nom d'hôte et un port spécifiques à l'aide de la + directive <code class="directive">ServerName</code> pour une fiabilité + optimale et à titre préventif.</p> + + <p>Si vous définissez des <a href="../vhosts/name-based.html">serveurs virtuels à base de + nom</a>, une directive <code class="directive">ServerName</code> située à + l'intérieur d'une section <code class="directive"><a href="#virtualhost"><VirtualHost></a></code> spécifiera quel nom d'hôte + doit apparaître dans l'en-tête de requête <code>Host:</code> pour + pouvoir atteindre ce serveur virtuel.</p> + + + <p>Parfois, le serveur s'exécute en amont d'un dispositif qui + implémente SSL, comme un mandataire inverse, un répartiteur de + charge ou un boîtier dédié SSL. Dans ce cas, spécifiez le protocole + <code>https://</code> et le port auquel les clients se connectent + dans la directive <code class="directive">ServerName</code>, afin de + s'assurer que le serveur génère correctement ses URLs + d'auto-identification. + </p> + + <p>Voir la description des directives <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code> et <code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code> pour les + définitions qui permettent de déterminer si les URLs + auto-identifiantes (par exemple via le module + <code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code>) vont faire référence au port spécifié, ou + au port indiqué dans la requête du client. + </p> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../dns-caveats.html">Problèmes concernant le DNS et +Apache</a></li> +<li><a href="../vhosts/">Documentation sur les serveurs virtuels +d'Apache</a></li> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code></li> +<li><code class="directive"><a href="#serveralias">ServerAlias</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerPath" id="ServerPath">ServerPath</a> <a name="serverpath" id="serverpath">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nom de chemin d'URL hérité pour un serveur virtuel à base +de nom accédé par un navigateur incompatible</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerPath <var>chemin d'URL</var></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerPath</code> permet de définir + le nom de chemin d'URL hérité d'un hôte, à utiliser avec les <a href="../vhosts/">serveurs virtuels à base de nom</a>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../vhosts/">Documentation sur les serveurs virtuels +d'Apache</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerRoot" id="ServerRoot">ServerRoot</a> <a name="serverroot" id="serverroot">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Racine du répertoire d'installation du +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerRoot <var>chemin de répertoire</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerRoot /usr/local/apache</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerRoot</code> permet de définir + le répertoire dans lequel le serveur est installé. En particulier, + il contiendra les sous-répertoires <code>conf/</code> et + <code>logs/</code>. Les chemins relatifs indiqués dans les autres + directives (comme <code class="directive"><a href="#include">Include</a></code> ou <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>) seront définis par + rapport à ce répertoire.</p> + + <div class="example"><h3>Example</h3><p><code> + ServerRoot /home/httpd + </code></p></div> + + +<h3>Voir aussi</h3> +<ul> +<li><a href="../invoking.html">the <code>-d</code> + options de <code>httpd</code></a></li> +<li><a href="../misc/security_tips.html#serverroot">les conseils à +propos de la sécurité</a> pour des informations sur la manière de définir +correctement les permissions sur le répertoire indiqué par la directive +<code class="directive">ServerRoot</code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerSignature" id="ServerSignature">ServerSignature</a> <a name="serversignature" id="serversignature">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit un pied de page pour les documents générés par le +serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerSignature On|Off|EMail</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerSignature Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>All</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">ServerSignature</code> permet de + définir une ligne de pied de page fixe pour les documents générés + par le serveur (messages d'erreur, listings de répertoires ftp de + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, sorties de <code class="module"><a href="../mod/mod_info.html">mod_info</a></code>, + etc...). Dans le cas d'une chaîne de mandataires, l'utilisateur n'a + souvent aucun moyen de déterminer lequel des mandataires chaînés a + généré un message d'erreur, et c'est une des raisons pour lesquelles + on peut être amené à ajouter un tel pied de page.</p> + + <p>La valeur par défaut <code>Off</code> supprime la ligne de pied + de page (et est ainsi compatible avec le comportement des + versions 1.2 et antérieures d'Apache). la valeur <code>On</code> + ajoute simplement une ligne contenant le numéro de version du + serveur ainsi que le nom du serveur virtuel issu de la directive + <code class="directive"><a href="#servername">ServerName</a></code>, alors que la valeur + <code>EMail</code> ajoute en plus une référence "mailto:" à + l'administrateur du document référencé issu la directive + <code class="directive"><a href="#serveradmin">ServerAdmin</a></code>.</p> + + <p>Depuis la version 2.0.44, les détails à propos du numéro de + version du serveur sont contrôlés à l'aide de la directive + <code class="directive"><a href="#servertokens">ServerTokens</a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#servertokens">ServerTokens</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="ServerTokens" id="ServerTokens">ServerTokens</a> <a name="servertokens" id="servertokens">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configure l'en-tête <code>Server</code> de la réponse +HTTP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>ServerTokens Full</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Cette directive permet de contrôler le contenu de l'en-tête + <code>Server</code> inclus dans la réponse envoyée au client : cet + en-tête peut contenir le type de système d'exploitation du serveur, + ainsi que des informations à propos des modules compilés avec le + serveur.</p> + + <dl> + <dt><code>ServerTokens Prod[uctOnly]</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache</code></dd> + + <dt><code>ServerTokens Major</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2</code></dd> + + <dt><code>ServerTokens Minor</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.0</code></dd> + + <dt><code>ServerTokens Min[imal]</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.0.41</code></dd> + + <dt><code>ServerTokens OS</code></dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.0.41 (Unix)</code></dd> + + <dt><code>ServerTokens Full</code> (valeur par défaut)</dt> + + <dd>Le serveur renvoie (<em>par exemple</em>): <code>Server: + Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2</code></dd> + </dl> + + <p>Cette définition s'applique à l'ensemble du serveur et ne peut + être activée ou désactivée pour tel ou tel serveur virtuel.</p> + + <p>Dans les versions postérieures à 2.0.44, cette directive contrôle + également les informations fournies par la directive <code class="directive"><a href="#serversignature">ServerSignature</a></code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#serversignature">ServerSignature</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetHandler" id="SetHandler">SetHandler</a> <a name="sethandler" id="sethandler">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Force le traitement des fichiers spécifiés par un +gestionnaire particulier</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetHandler <var>nom gestionnaire</var>|None</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Intégré dans le noyau d'Apache depuis la version +2.0</td></tr> +</table> + <p>Lorsqu'elle se situe à l'intérieur d'un fichier + <code>.htaccess</code>, ou d'une section <code class="directive"><a href="#directory"><Directory></a></code> ou <code class="directive"><a href="#location"><Location></a></code>, cette directive force le + traitement de tous les fichiers spécifiés par le <a href="../handler.html">gestionnaire</a> défini par l'argument + <var>nom gestionnaire</var>. Par exemple, dans le cas d'un + répertoire dont vous voulez interpréter le contenu comme des + fichiers de règles d'images cliquables, sans tenir compte des + extensions, vous pouvez ajouter la ligne suivante dans un fichier + <code>.htaccess</code> de ce répertoire :</p> + + <div class="example"><p><code> + SetHandler imap-file + </code></p></div> + + <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> + + <div class="example"><p><code> + <Location /status><br /> + <span class="indent"> + SetHandler server-status<br /> + </span> + </Location> + </code></p></div> + + <p>Vous pouvez écraser la définition antérieure d'une directive + <code class="directive">SetHandler</code> en utilisant la valeur + <code>None</code>.</p> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetInputFilter" id="SetInputFilter">SetInputFilter</a> <a name="setinputfilter" id="setinputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les requêtes +client et les données POST</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetInputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">SetInputFilter</code> permet de + définir le ou les filtres par lesquels vont passer les requêtes + client et les données POST au moment où le serveur les reçoit. Cette + définition vient en ajout à tout autre filtre défini en + quelqu'endroit que ce soit, y compris via la directive <code class="directive"><a href="../mod/mod_mime.html#addinputfilter">AddInputFilter</a></code>.</p> + + <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 + lequel vous souhaitez les voir agir sur les contenus.</p> + +<h3>Voir aussi</h3> +<ul> +<li>documentation des <a href="../filter.html">Filtres</a></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="SetOutputFilter" id="SetOutputFilter">SetOutputFilter</a> <a name="setoutputfilter" id="setoutputfilter">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit les filtres par lesquels vont passer les réponses +du serveur</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>SetOutputFilter <var>filtre</var>[;<var>filtre</var>...]</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire, .htaccess</td></tr> +<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">SetOutputFilter</code> permet de + définir les filtres par lesquels vont passer les réponses du serveur + avant d'être envoyées au client. Cette définition vient en ajout à + tout autre filtre défini en quelqu'endroit que ce soit, y compris + via la directive <code class="directive"><a href="../mod/mod_mime.html#addoutputfilter">AddOutputFilter</a></code>.</p> + + <p>Par exemple, la configuration suivante va traiter tous les + fichiers du répertoire <code>/www/data/</code> comme des inclusions + côté serveur (SSI) :</p> + + <div class="example"><p><code> + <Directory /www/data/><br /> + <span class="indent"> + SetOutputFilter INCLUDES<br /> + </span> + </Directory> + </code></p></div> + + <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 + lequel vous souhaitez les voir agir sur les contenus.</p> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../filter.html">Filters</a> documentation</li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="Suexec" id="Suexec">Suexec</a> <a name="suexec" id="suexec">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active ou désactive la fonctionnalité suEXEC</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>Suexec On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>On si le binaire suexec existe avec un mode et un propriétaire +appropriés, Off dans le cas contraire</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.2.18 d'Apache httpd</td></tr> +</table> + <p>Lorsque cette directive est définie à On, le démarrage du serveur + échouera si le binaire suexec n'existe pas, ou possède un mode de + fichier ou un propriétaire invalides.</p> + <p>Lorsque cette directive est définie à Off, la fonctionnalité + suEXEC est désactivée, même si le binaire suexec existe et possède + un mode de fichier et un propriétaire valides.</p> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TimeOut" id="TimeOut">TimeOut</a> <a name="timeout" id="timeout">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Temps pendant lequel le serveur va attendre certains +évènements avant de considérer qu'une requête a échoué</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TimeOut <var>secondes</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TimeOut 300</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>La directive <code class="directive">TimeOut</code> permet + de définir le temps maximum pendant lequel Apache va attendre des + entrées/sorties dans diverses circonstances :</p> + + <ol> + <li>Lors de la lecture de données en provenance du client, le + temps maximum d'attente avant l'arrivée d'un paquet TCP si le + tampon de lecture est vide.</li> + + <li>Lors de l'envoi de données vers le client, le temps maximum + d'attente avant l'arrivée de l'accusé-réception d'un paquet si le + tampon d'envoi est plein.</li> + + <li>Avec <code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code>, le temps maximum + d'attente avant la sortie des données d'un script CGI.</li> + + <li>Avec <code class="module"><a href="../mod/mod_ext_filter.html">mod_ext_filter</a></code>, le temps maximum + d'attente avant la sortie des données d'un processus de + filtrage.</li> + + <li>Avec <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>, la valeur du délai par défaut + si la directive <code class="directive"><a href="../mod/mod_proxy.html#proxytimeout">ProxyTimeout</a></code> n'a pas été + définie.</li> + </ol> + + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="TraceEnable" id="TraceEnable">TraceEnable</a> <a name="traceenable" id="traceenable">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine le comportement des requêtes +<code>TRACE</code></td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>TraceEnable <var>[on|off|extended]</var></code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>TraceEnable on</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible dans les versions 1.3.34, 2.0.55 et +supérieures d'Apache</td></tr> +</table> + <p>Cette directive l'emporte sur le comportement de + <code>TRACE</code> pour le noyau du serveur et + <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code>. La définition par défaut + <code>TraceEnable on</code> permet des requêtes <code>TRACE</code> + selon la RFC 2616, qui interdit d'ajouter tout corps à la requête. + La définition <code>TraceEnable off</code> indique au noyau du + serveur et à <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> de retourner un code + d'erreur <code>405</code> (Méthode non autorisée) au client.</p> + + <p>En fait, et à des fins de test et de diagnostic seulement, on + peut autoriser l'ajout d'un corps de requête à l'aide de la + définition non standard <code>TraceEnable extended</code>. Le noyau + du serveur (dans le cas d'un serveur d'origine) va limiter la taille + du corps de requête à 64k (plus 8k pour les en-têtes de + fractionnement si <code>Transfer-Encoding: chunked</code> est + utilisé). Le noyau du serveur va reproduire l'ensemble des en-têtes, + 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> + +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalName" id="UseCanonicalName">UseCanonicalName</a> <a name="usecanonicalname" id="usecanonicalname">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom +et son port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalName On|Off|DNS</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalName Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Dans de nombreuses situations, Apache doit construire une URL + <em>auto-identifiante</em> -- c'est à dire une URL qui fait + référence au serveur lui-même. Avec <code>UseCanonicalName + On</code>, Apache va utiliser le nom d'hôte et le port spécifiés par + la directive <code class="directive"><a href="#servername">ServerName</a></code> pour + construire le nom canonique du serveur. Ce nom est utilisé dans + toutes les URLs auto-identifiantes, et affecté aux variables + <code>SERVER_NAME</code> et <code>SERVER_PORT</code> dans les + programmes CGI.</p> + + <p>Avec <code>UseCanonicalName Off</code>, Apache va construire ses + URLs auto-identifiantes à l'aide du nom d'hôte et du port fournis + par le client, si ce dernier en a fourni un (dans la négative, + Apache utilisera le nom canonique, de la même manière que + ci-dessus). Ces valeurs sont les mêmes que celles qui sont utilisées + pour implémenter les <a href="../vhosts/name-based.html">serveurs virtuels par + nom</a>, et sont disponibles avec les mêmes clients. De même, les + variables CGI <code>SERVER_NAME</code> et <code>SERVER_PORT</code> + seront affectées des valeurs fournies par le client.</p> + + <p>Cette directive peut s'avérer utile, par exemple, sur un serveur + intranet auquel les utilisateurs se connectent en utilisant des noms + courts tels que <code>www</code>. Si les utilisateurs tapent un nom + court suivi d'une URL qui fait référence à un répertoire, comme + <code>http://www/splat</code>, <em>sans le slash terminal</em>, vous + remarquerez qu'Apache va les rediriger vers + <code>http://www.domain.com/splat/</code>. Si vous avez activé + 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.domain.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 <code class="directive">UseCanonicalName</code> est définie à + <code>Off</code>, Apache redirigera l'utilisateur vers + <code>http://www/splat/</code>.</p> + + <p>Pour l'hébergement virtuel en masse par adresse IP, on + utilise une troisième option, <code>UseCanonicalName + DNS</code>, pour supporter les clients anciens qui ne + fournissent pas d'en-tête <code>Host:</code>. Apache effectue alors + une recherche DNS inverse sur l'adresse IP du serveur auquel le + client s'est connecté afin de construire ses URLs + auto-identifiantes.</p> + + <div class="warning"><h3>Avertissement</h3> + <p>Les programmes CGI risquent d'être perturbés par cette option + s'ils tiennent compte de la variable <code>SERVER_NAME</code>. Le + client est pratiquement libre de fournir la valeur qu'il veut comme + nom d'hôte. Mais si le programme CGI n'utilise + <code>SERVER_NAME</code> que pour construire des URLs + auto-identifiantes, il ne devrait pas y avoir de problème.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalphysicalport">UseCanonicalPhysicalPort</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="UseCanonicalPhysicalPort" id="UseCanonicalPhysicalPort">UseCanonicalPhysicalPort</a> <a name="usecanonicalphysicalport" id="usecanonicalphysicalport">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit la manière dont le serveur détermine son propre nom +et son port</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>UseCanonicalPhysicalPort On|Off</code></td></tr> +<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>UseCanonicalPhysicalPort Off</code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Dans de nombreuses situations, Apache doit construire une URL + <em>auto-identifiante</em> -- c'est à dire une URL qui fait + référence au serveur lui-même. Avec <code>UseCanonicalPhysicalPort + On</code>, Apache va fournir le numéro de port physique réel utilisé + par la requête en tant que port potentiel, pour construire le port + canonique afin que le serveur puisse alimenter la directive + <code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code>. Avec + <code>UseCanonicalPhysicalPort Off</code>, Apache n'utilisera pas le + numéro de port physique réel, mais au contraire se référera aux + informations de configuration pour construire un numéro de port + valide.</p> + + <div class="note"><h3>Note</h3> + <p>L'ordre dans lequel s'effectue la recherche du port est le + suivant :<br /><br /> + <code>UseCanonicalName On</code></p> + <ul> + <li>Port spécifié par <code>Servername</code></li> + <li>Port physique</li> + <li>Port par défaut</li> + </ul> + <code>UseCanonicalName Off | DNS</code> + <ul> + <li>Port spécifié dans l'en-tête <code>Host:</code></li> + <li>Port physique</li> + <li>Port spécifié par <code>Servername</code></li> + <li>Port par défaut</li> + </ul> + + <p>Avec <code>UseCanonicalPhysicalPort Off</code>, on reprend + l'ordre ci-dessus en supprimant "Port physique".</p> + </div> + + +<h3>Voir aussi</h3> +<ul> +<li><code class="directive"><a href="#usecanonicalname">UseCanonicalName</a></code></li> +<li><code class="directive"><a href="#servername">ServerName</a></code></li> +<li><code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code></li> +</ul> +</div> +<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> +<div class="directive-section"><h2><a name="VirtualHost" id="VirtualHost"><VirtualHost></a> <a name="virtualhost" id="virtualhost">Directive</a></h2> +<table class="directive"> +<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contient des directives qui ne s'appliquent qu'à un nom +d'hôte spécifique ou à une adresse IP</td></tr> +<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code><VirtualHost + <var>adresse IP</var>[:<var>port</var>] [<var>adresse + IP</var>[:<var>port</var>]] ...> ... + </VirtualHost></code></td></tr> +<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr> +<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr> +<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr> +</table> + <p>Les balises <code class="directive"><VirtualHost></code> et + <code></VirtualHost></code> permettent de rassembler un groupe + de directives qui ne s'appliquent qu'à un serveur virtuel + particulier. Toute directive autorisée dans un contexte de serveur + virtuel peut être utilisée. Lorsque le serveur reçoit un requête + pour un document hébergé par un serveur virtuel particulier, il + applique les directives de configuration rassemblées dans la section + <code class="directive"><VirtualHost></code>. <var>adresse + IP</var> peut être :</p> + + <ul> + <li>L'adresse IP du serveur virtuel ;</li> + + <li>Un nom de domaine entièrement qualifié correspondant à + l'adresse IP du serveur virtuel (non recommandé) ;</li> + + <li>Le caractère <code>*</code>, qui n'est utilisé qu'en + combinaison avec <code>NameVirtualHost *</code> pour intercepter + toutes les adresses IP ; ou</li> + + <li>La chaîne de caractères <code>_default_</code>, qui n'est + utilisée qu'avec l'hébergement virtuel à base d'adresse IP pour + intercepter les adresses IP qui ne correspondent à aucun serveur + virtuel.</li> + </ul> + + <div class="example"><h3>Exemple</h3><p><code> + <VirtualHost 10.1.2.3><br /> + <span class="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 /> + </span> + </VirtualHost> + </code></p></div> + + + <p>Les adresses IPv6 doivent être entourées de crochets car dans le + cas contraire, un éventuel port optionnel ne pourrait pas être + déterminé. Voici un exemple de serveur virtuel avec adresse IPv6 + :</p> + + <div class="example"><p><code> + <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br /> + <span class="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 /> + </span> + </VirtualHost> + </code></p></div> + + <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 + doit être configuré pour recevoir les paquets IP de plusieurs + adresses (si le serveur n'a qu'une interface réseau, on peut + utiliser à cet effet la commande <code>ifconfig alias</code> -- si + votre système d'exploitation le permet).</p> + + <div class="note"><h3>Note</h3> + <p>L'utilisation de la directive <code class="directive"><VirtualHost></code> n'affecte en rien les + adresses IP sur lesquelles Apache est en écoute. Vous devez vous + assurer que les adresses des serveurs virtuels sont bien incluses + dans la liste des adresses précisées par la directive <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code>.</p> + </div> + + <p>Avec l'hébergement virtuel à base d'adresse IP, on peut utiliser + le nom spécial <code>_default_</code>, auquel cas le serveur virtuel + considéré interceptera toute adresse IP qui n'est pas explicitement + associée à un autre serveur virtuel. En l'absence de serveur virtuel + associé à <code>_default_</code>, et si l'adresse IP demandée ne + correspond à aucun serveur virtuel, c'est la configuration du + serveur "principal" qui sera utilisée, c'est à dire l'ensemble des + définitions situées en dehors de toute section VirtualHost (Notez + cependant que toute adresse IP correspondant à une directive + <code class="directive"><a href="#namevirtualhost">NameVirtualHost</a></code> n'utilisera ni + la configuration du serveur "principal", ni le serveur virtuel + <code>_default_</code>. Voir la documentation de l'<a href="../vhosts/name-based.html">hébergement virtuel par + nom</a> pour plus de détails).</p> + + <p>Vous pouvez spécifier <code>:port</code> pour modifier le port du + serveur virtuel. S'il n'est pas spécifié, sa valeur par défaut + correspond à celle qui est définie par la dernière directive + <code class="directive"><a href="../mod/mpm_common.html#listen">Listen</a></code> du serveur + principal. Vous pouvez aussi spécifier <code>:*</code> pour accepter + tous les ports associés à l'adresse du serveur virtuel (c'est une + configuration recommandée lorsqu'on utilise + <code>_default_</code>).</p> + + <p>Tout bloc <code class="directive"><VirtualHost></code> doit comporter une directive + <code class="directive"><a href="#servername">ServerName</a></code>. Dans le cas + contraire, le serveur virtuel héritera de la valeur de la directive + <code class="directive"><a href="#servername">ServerName</a></code> issue de la + configuration du serveur principal.</p> + + <div class="warning"><h3>Sécurité</h3> + <p>Voir le document sur les <a href="../misc/security_tips.html">conseils à propos de la sécurité</a> + pour une description détaillée des raisons pour lesquelles la + sécurité de votre serveur pourrait être compromise, si le répertoire + contenant les fichiers journaux est inscriptible par tout autre + utilisateur que celui qui démarre le serveur.</p> + </div> + +<h3>Voir aussi</h3> +<ul> +<li><a href="../vhosts/">Documentation des serveurs virtuels +d'Apache</a></li> +<li><a href="../dns-caveats.html">Problèmes concernant DNS et +Apache</a></li> +<li><a href="../bind.html">Définition des adresses et ports +qu'utilise Apache</a></li> +<li><a href="../sections.html">Comment fonctionnent les sections +<Directory>, <Location> et <Files></a> pour une +explication de la manière dont ces différentes sections se combinent +entre elles à la réception d'une requête</li> +</ul> +</div> +</div> +<div class="bottomlang"> +<p><span>Langues Disponibles: </span><a href="../de/mod/core.html" hreflang="de" rel="alternate" title="Deutsch"> de </a> | +<a href="../en/mod/core.html" hreflang="en" rel="alternate" title="English"> en </a> | +<a href="../fr/mod/core.html" title="Français"> fr </a> | +<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | +<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div><div id="footer"> +<p class="apache">Copyright 2011 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div> +</body></html>
\ No newline at end of file |