Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+URI: apxs.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
+
URI: apxs.html.ko.euc-kr
Content-Language: ko
Content-type: text/html; charset=EUC-KR
--- /dev/null
+<?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>apxs - Utilitaire pour les extensions d'Apache - 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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/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.4</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.4</a> > <a href="./">Programmes</a></div><div id="page-content"><div id="preamble"><h1>apxs - Utilitaire pour les extensions d'Apache</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/programs/apxs.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/programs/apxs.html" title="Français"> fr </a> |
+<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/programs/apxs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+</div>
+
+ <p><code>apxs</code> est un utilitaire permettant de compiler et
+ d'installer des modules en tant qu'extensions du serveur HTTP
+ Apache. A cet effet, un objet dynamique partagé (DSO) est compilé à
+ partir d'un ou plusieurs <var>fichiers</var> sources ou objets et
+ peut être chargé pendant l'exécution du serveur Apache via la
+ directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> du
+ module <code class="module"><a href="../mod/mod_so.html">mod_so</a></code>.</p>
+
+ <p>Pour pouvoir utiliser ce mécanisme d'extensions, votre
+ plate-forme doit supporter la fonctionnalité DSO, et votre binaire
+ <code class="program"><a href="../programs/httpd.html">httpd</a></code> Apache doit être compilé avec le module
+ <code class="module"><a href="../mod/mod_so.html">mod_so</a></code>. Si ce n'est pas le cas, l'utilitaire
+ <code>apxs</code> vous le signalera. Vous pouvez aussi vérifier
+ vous-même ces prérequis en exécutant manuellement la commande :</p>
+
+ <div class="example"><p><code>
+ $ httpd -l
+ </code></p></div>
+
+ <p>Le module <code class="module"><a href="../mod/mod_so.html">mod_so</a></code> doit faire partie de la liste
+ des modules affichée. Si ces prérequis sont présents, vous pouvez
+ facilement étendre les fonctionnalités de votre serveur Apache en
+ installant vos propres modules à l'aide de l'utilitaire
+ <code>apxs</code>, via le mécanisme DSO :</p>
+
+ <div class="example"><p><code>
+ $ apxs -i -a -c mod_foo.c<br />
+ gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c<br />
+ ld -Bshareable -o mod_foo.so mod_foo.o<br />
+ cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so<br />
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/etc/httpd.conf]<br />
+ $ apachectl restart<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
+ $ _
+ </code></p></div>
+
+ <p>Les arguments <var>fichiers</var> peuvent correspondre à un
+ fichier source C (.c), un fichier objet (.o) ou même une archive de
+ bibliothèques (.a). L'utilitaire <code>apxs</code> reconnaît
+ automatiquement ces extensions et utilise automatiquement les
+ fichiers source C pour la compilation, et les fichiers objets et
+ archives pour l'édition de liens. Cependant, si vous utilisez des
+ fichiers objets précompilés, assurez-vous que leur code soit
+ indépendant de la position (PIC), afin de pouvoir les utiliser avec
+ un objet partagé chargé dynamiquement. Avec GCC, par exemple, il
+ vous suffit de toujours utiliser l'option de compilation
+ <code>-fpic</code>. Pour les autres compilateurs C, consultez leur
+ page de manuel, ou vérifiez les drapeaux qu'<code>apxs</code>
+ utilise pour compiler les fichiers objets.</p>
+
+ <p>Pour plus de détails à propos du support DSO dans Apache, lire la
+ documentation du module <code class="module"><a href="../mod/mod_so.html">mod_so</a></code>, ou même, consultez
+ le fichier source <code>src/modules/standard/mod_so.c</code>.</p>
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Syntaxe</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#examples">Exemples</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="synopsis" id="synopsis">Syntaxe</a></h2>
+ <p><code><strong>apxs</strong> -<strong>g</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ -<strong>n</strong> <var>nom-module</var></code></p>
+
+ <p><code><strong>apxs</strong> -<strong>q</strong>
+ [ -<strong>v</strong> ]
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ <var>requête</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>c</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>o</strong> <var>fichier-dso</var> ]
+ [ -<strong>I</strong> <var>répertoire-inc</var> ]
+ [ -<strong>D</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>L</strong> <var>répertoire-lib</var> ]
+ [ -<strong>l</strong> <var>nom-bibliothèque</var> ]
+ [ -<strong>Wc,</strong><var>options-compilation</var> ]
+ [ -<strong>Wl,</strong><var>options-edition-liens</var> ]
+ <var>fichiers</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>i</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>n</strong> <var>nom-module</var> ]
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]
+ <var>fichier-dso</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>e</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>n</strong> <var>nom-module</var> ]
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]
+ <var>fichier-dso</var> ...</code></p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="options" id="options">Options</a></h2>
+ <h3><a name="options.common" id="options.common">Options courantes</a></h3>
+ <dl>
+ <dt><code>-n <var>nom-module</var></code></dt>
+ <dd>Définit explicitement le nom du module pour les options
+ <code>-i</code> (install) et <code>-g</code> (génération de
+ modèles). Utilisez cette option pour spécifier de manière
+ explicite le nom du module. Pour l'option <code>-g</code>, cette
+ option est nécessaire ; pour l'option <code>-i</code>,
+ l'utilitaire <code>apxs</code> tente de déterminer le nom du
+ module à partir des sources, ou (à défaut) en le déduisant du nom
+ de fichier.</dd>
+ </dl>
+
+
+ <h3><a name="options.query" id="options.query">Options de requête</a></h3>
+ <dl>
+ <dt><code>-q</code></dt>
+ <dd>Effectue une requête à propos des variables et de
+ l'environnement utilisés pour compiler <code>httpd</code>.
+ Lorsqu'elle est invoquée sans paramètre <var>requête</var>, cette
+ option affiche toutes les variables connues, ainsi que leurs
+ valeurs. Le paramètre optionnel <code>-v</code> formate la liste
+ affichée.
+
+ <p>Utilisez cette option pour déterminer manuellement les options
+ utilisées pour compiler le binaire <code>httpd</code> qui chargera
+ votre module. Ajoutez par exemple</p>
+ <div class="example"><p><code>
+ INC=-I`apxs -q INCLUDEDIR`
+ </code></p></div>
+
+ <p>dans vos propres Makefiles si vous devez accéder manuellement
+ aux fichiers d'en-têtes C d'Apache.</p></dd>
+ </dl>
+
+
+ <h3><a name="options.conf" id="options.conf">Options de configuration</a></h3>
+ <dl>
+ <dt><code>-S <var>nom</var>=<var>valeur</var></code></dt>
+ <dd>Cette option permet de modifier la configuration d'apxs
+ décrite ci-dessus.</dd>
+ </dl>
+
+
+ <h3><a name="options.template" id="options.template">Option de génération des
+ modèles</a></h3>
+ <dl>
+ <dt><code>-g</code></dt>
+ <dd>Cette option permet de générer un sous-répertoire
+ <var>nom</var> (voir option <code>-n</code>) contenant deux
+ fichiers : le premier fichier est un exemple de fichier source de
+ module nommé <code>mod_<var>nom</var>.c</code> que l'on peut
+ utiliser comme modèle pour créer ses propres modules, ou comme
+ point de départ pour se familiariser avec le mécanisme apxs ; le
+ second fichier est le <code>Makefile</code> correspondant
+ facilitant la compilation et l'installation de ce module.</dd>
+ </dl>
+
+ <h3><a name="options.dso" id="options.dso">Options de compilation DSO</a></h3>
+ <dl>
+ <dt><code>-c</code></dt>
+ <dd>Cette option indique une opération de compilation. Tout
+ d'abord, les fichiers sources (.c) spécifiés par
+ <var>fichiers</var> sont compilés en fichiers objets
+ correspondants (.o), puis un objet dynamiquement partagé
+ <var>fichier-dso</var> est compilé via une édition de liens de ces
+ fichiers objets avec les autres fichiers objets (.o and .a)
+ spécifiés par <var>fichiers</var>. Si l'option <code>-o</code>
+ n'est pas spécifiée, le nom du fichier résultant est déduit du
+ premier nom de fichier spécifié par <var>fichiers</var>, et ainsi
+ prend en général pour valeur par défaut
+ <code>mod_<var>nom</var>.so</code>.</dd>
+
+ <dt><code>-o <var>fichier-dso</var></code></dt>
+ <dd>Spécifie de manière explicite le nom de fichier de l'objet
+ partagé dynamiquement créé. Sans cette option, et si le nom ne
+ peut pas être déduit de la liste <var>fichiers</var>, c'est le nom
+ par défaut <code>mod_unknown.so</code> qui sera utilisé.</dd>
+
+ <dt><code>-D <var>nom</var>=<var>valeur</var></code></dt>
+ <dd>Cette option est transmise directement à la commande de
+ compilation. Vous pouvez l'utiliser pour ajouter vos propres
+ définitions au processus de compilation. </dd>
+
+ <dt><code>-I <var>répertoire-inc</var></code></dt>
+ <dd>Cette option est transmise directement à la commande de
+ compilation. Vous pouvez l'utiliser pour ajouter vos propres
+ chemins de recherche des répertoires <code>include</code> au processus de
+ compilation.</dd>
+
+ <dt><code>-L <var>répertoire-lib</var></code></dt>
+ <dd>Cette option est transmise directement à la commande d'édition
+ de liens. Vous pouvez l'utiliser pour ajouter vos propres
+ chemins de recherche des répertoires de bibliothèques au processus
+ de compilation.</dd>
+
+ <dt><code>-l <var>nom-bibliothèque</var></code></dt>
+ <dd>Cette option est transmise directement à la commande d'édition
+ de liens. Vous pouvez l'utiliser pour ajouter vos propres
+ bibliothèques à rechercher au processus de compilation.</dd>
+
+ <dt><code>-Wc,<var>options-compilation</var></code></dt>
+ <dd>Cette option transmet les <var>options-compilation</var> en
+ tant qu'options supplémentaires à la commande <code>libtool
+ --mode=compile</code>. Vous pouvez l'utiliser pour ajouter des
+ options locales spécifiques au compilateur.</dd>
+
+ <dt><code>-Wl,<var>options-edition-liens</var></code></dt>
+ <dd>Cette option transmet les <var>options-edition-liens</var> en
+ tant qu'options supplémentaires à la commande <code>libtool
+ --mode=link</code>. Vous pouvez l'utiliser pour ajouter des
+ options locales spécifiques à l'éditeur de liens.</dd>
+ </dl>
+
+
+ <h3><a name="options.dsoinstall" id="options.dsoinstall">Options d'installation et de configuration DSO</a></h3>
+
+ <dl>
+ <dt><code>-i</code></dt>
+ <dd>Cette option indique une opération d'installation et installe
+ un ou plusieurs objets dynamiquement partagés dans le répertoire
+ <var>modules</var> du serveur.</dd>
+
+ <dt><code>-a</code></dt>
+ <dd>Cette option active le module en ajoutant automatiquement une
+ directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>
+ correspondante au fichier de configuration d'Apache
+ <code>httpd.conf</code>, ou en l'activant s'il existe déjà.</dd>
+
+ <dt><code>-A</code></dt>
+ <dd>Identique à l'option <code>-a</code>, à la différence que la
+ directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> créée
+ est préfixée par un caractère dièse (<code>#</code>) ; le module
+ est ainsi préparé pour une activation ultérieure, mais est
+ désactivé dans un premier temps.</dd>
+
+ <dt><code>-e</code></dt>
+ <dd>Cette option indique une opération d'édition de liens et peut
+ être utilisée avec les options <code>-a</code> et <code>-A</code>
+ de la même manière qu'au cours de l'opération d'installation pour
+ éditer le fichier de configuration d'Apache
+ <code>httpd.conf</code>, sans toutefois installer le module.</dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="examples" id="examples">Exemples</a></h2>
+ <p>Supposons que vous disposiez d'un module Apache nommé
+ <code>mod_foo.c</code> et destiné à étendre les fonctionnalités du
+ serveur. Pour ce faire, vous devez tout d'abord compiler le fichier
+ source C en un objet partagé pouvant être chargé dans le serveur
+ Apache à l'exécution, via la commande suivante :</p>
+
+ <div class="example"><p><code>
+ $ apxs -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
+ $ _
+ </code></p></div>
+
+ <p>Vous devez ensuite vérifier la configuration d'Apache en vous
+ assurant qu'une directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> est bien présente pour
+ charger cet objet partagé. Pour simplifier cette étape,
+ <code>apxs</code> propose une méthode automatique d'installation de
+ l'objet partagé dans son répertoire "modules", et de mise à jour du
+ fichier <code>httpd.conf</code> en conséquence. Pour bénéficier de
+ cette automatisation, utilisez la commande suivante :</p>
+
+ <div class="example"><p><code>
+ $ apxs -i -a mod_foo.la<br />
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
+ ...
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
+ $ _
+ </code></p></div>
+
+ <p>Une ligne contenant</p>
+
+ <div class="example"><p><code>
+ LoadModule foo_module modules/mod_foo.so
+ </code></p></div>
+
+ <p>est alors ajoutée au fichier de configuration si ce n'est pas
+ déjà fait. Si vous voulez que le module soit désactivé par défaut,
+ utilisez l'option <code>-A</code> comme suit :</p>
+
+ <div class="example"><p><code>
+ $ apxs -i -A mod_foo.c
+ </code></p></div>
+
+ <p>Pour un test rapide du mécanisme apxs, vous pouvez créer un
+ exemple de modèle de module Apache, ainsi que le Makefile
+ correspondant via :</p>
+
+ <div class="example"><p><code>
+ $ apxs -g -n foo<br />
+ Creating [DIR] foo<br />
+ Creating [FILE] foo/Makefile<br />
+ Creating [FILE] foo/modules.mk<br />
+ Creating [FILE] foo/mod_foo.c<br />
+ Creating [FILE] foo/.deps<br />
+ $ _
+ </code></p></div>
+
+ <p>Vous pouvez ensuite compiler immédiatement ce module exemple en
+ objet partagé et le charger dans le serveur Apache :</p>
+
+ <div class="example"><p><code>
+ $ cd foo<br />
+ $ make all reload<br />
+ apxs -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
+ apxs -i -a -n "foo" mod_foo.la<br />
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
+ ...
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
+ apachectl restart<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
+ $ _
+ </code></p></div>
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/programs/apxs.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/programs/apxs.html" title="Français"> fr </a> |
+<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
+<a href="../tr/programs/apxs.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/apxs.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2012 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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1174747 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="apxs.xml.meta">
+<parentdocument href="./">Programmes</parentdocument>
+
+<title>apxs - Utilitaire pour les extensions d'Apache</title>
+
+<summary>
+ <p><code>apxs</code> est un utilitaire permettant de compiler et
+ d'installer des modules en tant qu'extensions du serveur HTTP
+ Apache. A cet effet, un objet dynamique partagé (DSO) est compilé à
+ partir d'un ou plusieurs <var>fichiers</var> sources ou objets et
+ peut être chargé pendant l'exécution du serveur Apache via la
+ directive <directive module="mod_so">LoadModule</directive> du
+ module <module>mod_so</module>.</p>
+
+ <p>Pour pouvoir utiliser ce mécanisme d'extensions, votre
+ plate-forme doit supporter la fonctionnalité DSO, et votre binaire
+ <program>httpd</program> Apache doit être compilé avec le module
+ <module>mod_so</module>. Si ce n'est pas le cas, l'utilitaire
+ <code>apxs</code> vous le signalera. Vous pouvez aussi vérifier
+ vous-même ces prérequis en exécutant manuellement la commande :</p>
+
+ <example>
+ $ httpd -l
+ </example>
+
+ <p>Le module <module>mod_so</module> doit faire partie de la liste
+ des modules affichée. Si ces prérequis sont présents, vous pouvez
+ facilement étendre les fonctionnalités de votre serveur Apache en
+ installant vos propres modules à l'aide de l'utilitaire
+ <code>apxs</code>, via le mécanisme DSO :</p>
+
+ <example>
+ $ apxs -i -a -c mod_foo.c<br />
+ gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c<br />
+ ld -Bshareable -o mod_foo.so mod_foo.o<br />
+ cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so<br />
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/etc/httpd.conf]<br />
+ $ apachectl restart<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
+ $ _
+ </example>
+
+ <p>Les arguments <var>fichiers</var> peuvent correspondre à un
+ fichier source C (.c), un fichier objet (.o) ou même une archive de
+ bibliothèques (.a). L'utilitaire <code>apxs</code> reconnaît
+ automatiquement ces extensions et utilise automatiquement les
+ fichiers source C pour la compilation, et les fichiers objets et
+ archives pour l'édition de liens. Cependant, si vous utilisez des
+ fichiers objets précompilés, assurez-vous que leur code soit
+ indépendant de la position (PIC), afin de pouvoir les utiliser avec
+ un objet partagé chargé dynamiquement. Avec GCC, par exemple, il
+ vous suffit de toujours utiliser l'option de compilation
+ <code>-fpic</code>. Pour les autres compilateurs C, consultez leur
+ page de manuel, ou vérifiez les drapeaux qu'<code>apxs</code>
+ utilise pour compiler les fichiers objets.</p>
+
+ <p>Pour plus de détails à propos du support DSO dans Apache, lire la
+ documentation du module <module>mod_so</module>, ou même, consultez
+ le fichier source <code>src/modules/standard/mod_so.c</code>.</p>
+</summary>
+<seealso><program>apachectl</program></seealso>
+<seealso><program>httpd</program></seealso>
+
+<section id="synopsis"><title>Syntaxe</title>
+ <p><code><strong>apxs</strong> -<strong>g</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ -<strong>n</strong> <var>nom-module</var></code></p>
+
+ <p><code><strong>apxs</strong> -<strong>q</strong>
+ [ -<strong>v</strong> ]
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ <var>requête</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>c</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>o</strong> <var>fichier-dso</var> ]
+ [ -<strong>I</strong> <var>répertoire-inc</var> ]
+ [ -<strong>D</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>L</strong> <var>répertoire-lib</var> ]
+ [ -<strong>l</strong> <var>nom-bibliothèque</var> ]
+ [ -<strong>Wc,</strong><var>options-compilation</var> ]
+ [ -<strong>Wl,</strong><var>options-edition-liens</var> ]
+ <var>fichiers</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>i</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>n</strong> <var>nom-module</var> ]
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]
+ <var>fichier-dso</var> ...</code></p>
+
+ <p><code><strong>apxs</strong> -<strong>e</strong>
+ [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
+ [ -<strong>n</strong> <var>nom-module</var> ]
+ [ -<strong>a</strong> ]
+ [ -<strong>A</strong> ]
+ <var>fichier-dso</var> ...</code></p>
+</section>
+
+<section id="options"><title>Options</title>
+ <section id="options.common"><title>Options courantes</title>
+ <dl>
+ <dt><code>-n <var>nom-module</var></code></dt>
+ <dd>Définit explicitement le nom du module pour les options
+ <code>-i</code> (install) et <code>-g</code> (génération de
+ modèles). Utilisez cette option pour spécifier de manière
+ explicite le nom du module. Pour l'option <code>-g</code>, cette
+ option est nécessaire ; pour l'option <code>-i</code>,
+ l'utilitaire <code>apxs</code> tente de déterminer le nom du
+ module à partir des sources, ou (à défaut) en le déduisant du nom
+ de fichier.</dd>
+ </dl>
+ </section>
+
+ <section id="options.query"><title>Options de requête</title>
+ <dl>
+ <dt><code>-q</code></dt>
+ <dd>Effectue une requête à propos des variables et de
+ l'environnement utilisés pour compiler <code>httpd</code>.
+ Lorsqu'elle est invoquée sans paramètre <var>requête</var>, cette
+ option affiche toutes les variables connues, ainsi que leurs
+ valeurs. Le paramètre optionnel <code>-v</code> formate la liste
+ affichée.
+
+ <p>Utilisez cette option pour déterminer manuellement les options
+ utilisées pour compiler le binaire <code>httpd</code> qui chargera
+ votre module. Ajoutez par exemple</p>
+ <example>
+ INC=-I`apxs -q INCLUDEDIR`
+ </example>
+
+ <p>dans vos propres Makefiles si vous devez accéder manuellement
+ aux fichiers d'en-têtes C d'Apache.</p></dd>
+ </dl>
+ </section>
+
+ <section id="options.conf"><title>Options de configuration</title>
+ <dl>
+ <dt><code>-S <var>nom</var>=<var>valeur</var></code></dt>
+ <dd>Cette option permet de modifier la configuration d'apxs
+ décrite ci-dessus.</dd>
+ </dl>
+ </section>
+
+ <section id="options.template"><title>Option de génération des
+ modèles</title>
+ <dl>
+ <dt><code>-g</code></dt>
+ <dd>Cette option permet de générer un sous-répertoire
+ <var>nom</var> (voir option <code>-n</code>) contenant deux
+ fichiers : le premier fichier est un exemple de fichier source de
+ module nommé <code>mod_<var>nom</var>.c</code> que l'on peut
+ utiliser comme modèle pour créer ses propres modules, ou comme
+ point de départ pour se familiariser avec le mécanisme apxs ; le
+ second fichier est le <code>Makefile</code> correspondant
+ facilitant la compilation et l'installation de ce module.</dd>
+ </dl>
+ </section>
+ <section id="options.dso"><title>Options de compilation DSO</title>
+ <dl>
+ <dt><code>-c</code></dt>
+ <dd>Cette option indique une opération de compilation. Tout
+ d'abord, les fichiers sources (.c) spécifiés par
+ <var>fichiers</var> sont compilés en fichiers objets
+ correspondants (.o), puis un objet dynamiquement partagé
+ <var>fichier-dso</var> est compilé via une édition de liens de ces
+ fichiers objets avec les autres fichiers objets (.o and .a)
+ spécifiés par <var>fichiers</var>. Si l'option <code>-o</code>
+ n'est pas spécifiée, le nom du fichier résultant est déduit du
+ premier nom de fichier spécifié par <var>fichiers</var>, et ainsi
+ prend en général pour valeur par défaut
+ <code>mod_<var>nom</var>.so</code>.</dd>
+
+ <dt><code>-o <var>fichier-dso</var></code></dt>
+ <dd>Spécifie de manière explicite le nom de fichier de l'objet
+ partagé dynamiquement créé. Sans cette option, et si le nom ne
+ peut pas être déduit de la liste <var>fichiers</var>, c'est le nom
+ par défaut <code>mod_unknown.so</code> qui sera utilisé.</dd>
+
+ <dt><code>-D <var>nom</var>=<var>valeur</var></code></dt>
+ <dd>Cette option est transmise directement à la commande de
+ compilation. Vous pouvez l'utiliser pour ajouter vos propres
+ définitions au processus de compilation. </dd>
+
+ <dt><code>-I <var>répertoire-inc</var></code></dt>
+ <dd>Cette option est transmise directement à la commande de
+ compilation. Vous pouvez l'utiliser pour ajouter vos propres
+ chemins de recherche des répertoires <code>include</code> au processus de
+ compilation.</dd>
+
+ <dt><code>-L <var>répertoire-lib</var></code></dt>
+ <dd>Cette option est transmise directement à la commande d'édition
+ de liens. Vous pouvez l'utiliser pour ajouter vos propres
+ chemins de recherche des répertoires de bibliothèques au processus
+ de compilation.</dd>
+
+ <dt><code>-l <var>nom-bibliothèque</var></code></dt>
+ <dd>Cette option est transmise directement à la commande d'édition
+ de liens. Vous pouvez l'utiliser pour ajouter vos propres
+ bibliothèques à rechercher au processus de compilation.</dd>
+
+ <dt><code>-Wc,<var>options-compilation</var></code></dt>
+ <dd>Cette option transmet les <var>options-compilation</var> en
+ tant qu'options supplémentaires à la commande <code>libtool
+ --mode=compile</code>. Vous pouvez l'utiliser pour ajouter des
+ options locales spécifiques au compilateur.</dd>
+
+ <dt><code>-Wl,<var>options-edition-liens</var></code></dt>
+ <dd>Cette option transmet les <var>options-edition-liens</var> en
+ tant qu'options supplémentaires à la commande <code>libtool
+ --mode=link</code>. Vous pouvez l'utiliser pour ajouter des
+ options locales spécifiques à l'éditeur de liens.</dd>
+ </dl>
+ </section>
+
+ <section id="options.dsoinstall">
+ <title>Options d'installation et de configuration DSO</title>
+ <dl>
+ <dt><code>-i</code></dt>
+ <dd>Cette option indique une opération d'installation et installe
+ un ou plusieurs objets dynamiquement partagés dans le répertoire
+ <var>modules</var> du serveur.</dd>
+
+ <dt><code>-a</code></dt>
+ <dd>Cette option active le module en ajoutant automatiquement une
+ directive <directive module="mod_so">LoadModule</directive>
+ correspondante au fichier de configuration d'Apache
+ <code>httpd.conf</code>, ou en l'activant s'il existe déjà.</dd>
+
+ <dt><code>-A</code></dt>
+ <dd>Identique à l'option <code>-a</code>, à la différence que la
+ directive <directive module="mod_so">LoadModule</directive> créée
+ est préfixée par un caractère dièse (<code>#</code>) ; le module
+ est ainsi préparé pour une activation ultérieure, mais est
+ désactivé dans un premier temps.</dd>
+
+ <dt><code>-e</code></dt>
+ <dd>Cette option indique une opération d'édition de liens et peut
+ être utilisée avec les options <code>-a</code> et <code>-A</code>
+ de la même manière qu'au cours de l'opération d'installation pour
+ éditer le fichier de configuration d'Apache
+ <code>httpd.conf</code>, sans toutefois installer le module.</dd>
+ </dl>
+ </section>
+</section>
+
+<section id="examples"><title>Exemples</title>
+ <p>Supposons que vous disposiez d'un module Apache nommé
+ <code>mod_foo.c</code> et destiné à étendre les fonctionnalités du
+ serveur. Pour ce faire, vous devez tout d'abord compiler le fichier
+ source C en un objet partagé pouvant être chargé dans le serveur
+ Apache à l'exécution, via la commande suivante :</p>
+
+ <example>
+ $ apxs -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
+ $ _
+ </example>
+
+ <p>Vous devez ensuite vérifier la configuration d'Apache en vous
+ assurant qu'une directive <directive
+ module="mod_so">LoadModule</directive> est bien présente pour
+ charger cet objet partagé. Pour simplifier cette étape,
+ <code>apxs</code> propose une méthode automatique d'installation de
+ l'objet partagé dans son répertoire "modules", et de mise à jour du
+ fichier <code>httpd.conf</code> en conséquence. Pour bénéficier de
+ cette automatisation, utilisez la commande suivante :</p>
+
+ <example>
+ $ apxs -i -a mod_foo.la<br />
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
+ ...
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
+ $ _
+ </example>
+
+ <p>Une ligne contenant</p>
+
+ <example>
+ LoadModule foo_module modules/mod_foo.so
+ </example>
+
+ <p>est alors ajoutée au fichier de configuration si ce n'est pas
+ déjà fait. Si vous voulez que le module soit désactivé par défaut,
+ utilisez l'option <code>-A</code> comme suit :</p>
+
+ <example>
+ $ apxs -i -A mod_foo.c
+ </example>
+
+ <p>Pour un test rapide du mécanisme apxs, vous pouvez créer un
+ exemple de modèle de module Apache, ainsi que le Makefile
+ correspondant via :</p>
+
+ <example>
+ $ apxs -g -n foo<br />
+ Creating [DIR] foo<br />
+ Creating [FILE] foo/Makefile<br />
+ Creating [FILE] foo/modules.mk<br />
+ Creating [FILE] foo/mod_foo.c<br />
+ Creating [FILE] foo/.deps<br />
+ $ _
+ </example>
+
+ <p>Vous pouvez ensuite compiler immédiatement ce module exemple en
+ objet partagé et le charger dans le serveur Apache :</p>
+
+ <example>
+ $ cd foo<br />
+ $ make all reload<br />
+ apxs -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
+ /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
+ apxs -i -a -n "foo" mod_foo.la<br />
+ /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
+ /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
+ ...
+ chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
+ [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
+ apachectl restart<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
+ [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
+ /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
+ $ _
+ </example>
+
+</section>
+</manualpage>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
<variant outdated="yes">ko</variant>
<variant>tr</variant>
</variants>
URI: vhosts.html.en
Content-Language: en
Content-type: text/html; charset=ISO-8859-1
+
+URI: vhosts.html.fr
+Content-Language: fr
+Content-type: text/html; charset=ISO-8859-1
--- /dev/null
+<?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>Hébergement virtuel de masse avec mod_rewrite - 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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
+<script src="../style/scripts/prettify.js" type="text/javascript">
+</script>
+
+<link href="../images/favicon.ico" rel="shortcut icon" /></head>
+<body id="manual-page"><div id="page-header">
+<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/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.4</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.4</a> > <a href="./">Rewrite</a></div><div id="page-content"><div id="preamble"><h1>Hébergement virtuel de masse avec mod_rewrite</h1>
+<div class="toplang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/rewrite/vhosts.html" title="Français"> fr </a></p>
+</div>
+
+
+<p>Ce document est un complément à la <a href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>. Il décrit comment créer des serveurs
+virtuels dynamiquement configurés en utilisant
+<code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>.</p>
+
+<div class="warning">L'utilisation de mod_rewrite n'est pas la meilleure
+méthode pour configurer des serveurs virtuels. Vous devez dans un
+premier temps tenter de résoudre votre problème via ces <a href="../vhosts/mass.html">d'autres méthodes</a> avant d'avoir
+recours à mod_rewrite. Voir aussi le document <a href="avoid.html#vhosts">Comment éviter l'utilisation de
+mod_rewrite</a>.</div>
+
+
+</div>
+<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#per-hostname">Serveurs virtuels pour des noms d'hôtes arbitraires</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#simple.rewrite">Configuration dynamique de serveurs
+virtuels via <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#xtra-conf">Utilisation d'un fichier de configuration
+du serveur virtuel séparé</a></li>
+</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../mod/mod_rewrite.html">Documentation du module</a></li><li><a href="intro.html">Introduction à mod_rewrite</a></li><li><a href="remapping.html">Redirection et remise en
+correspondance</a></li><li><a href="access.html">Contrôle d'accès</a></li><li><a href="proxy.html">Serveurs mandataires</a></li><li><a href="rewritemap.html">Utilisation de RewriteMap</a></li><li><a href="advanced.html">Techniques avancées</a></li><li><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></li></ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="per-hostname" id="per-hostname">Serveurs virtuels pour des noms d'hôtes arbitraires</a></h2>
+
+
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons créer automatiquement un serveur virtuel pour tout
+ nom d'hôte qui peut être résolu dans notre domaine, sans avoir à
+ créer de nouvelle section VirtualHost.</p>
+
+ <p>Dans cet exemple, nous supposons que nous utilisons le nom d'hôte
+ <code>www.<strong>SITE</strong>.example.com</code> pour chaque
+ utilisateur, et que nous servons leur contenu depuis
+ <code>/home/<strong>SITE</strong>/www</code>.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+
+<pre class="prettyprint lang-config">
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^www\.<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1
+</pre>
+</dd>
+
+<dt>Discussion</dt>
+ <dd>
+
+ <div class="warning">Vous devez vérifier le bon fonctionnement de la
+ résolution DNS - Apache ne gère pas la résolution de nom. Vous
+ devrez créer soit des enregistrements CNAME pour chaque nom d'hôte,
+ soit un enregistrement DNS avec caractères génériques. La création
+ des enregistrements DNS est en dehors du sujet de ce document.</div>
+
+<p>La directive RewriteMap interne <code>tolower</code> permet de
+s'assurer que les noms d'hôtes utilisés seront tous en minuscules, de
+façon à éviter toute ambiguité dans la structure des répertoires qui
+doit être créée.</p>
+
+<p>Les contenus des parenthèses utilisées dans une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> sont enregistrés dans les
+références arrières <code>%1</code>, <code>%2</code>, etc..., alors que
+les contenus des parenthèses utilisées dans une directive <code class="directive"><a href="../mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> le sont dans les
+références arrières <code>$1</code>, <code>$2</code>, etc...</p>
+
+<p>
+Comme c'est le cas pour de nombreuses techniques discutées dans ce
+document, mod_rewrite n'est vraiment pas la meilleure méthode pour
+accomplir cette tâche. Vous devez plutôt vous tourner vers
+<code class="module"><a href="../mod/mod_vhost_alias.html">mod_vhost_alias</a></code>, car ce dernier sera bien plus à même
+de gérer tout ce qui est au delà du domaine des fichiers statiques,
+comme les contenus dynamiques et la résolution des alias.
+</p>
+ </dd>
+ </dl>
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="simple.rewrite" id="simple.rewrite">Configuration dynamique de serveurs
+virtuels via <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></a></h2>
+
+ <p>Cet extrait du fichier <code>httpd.conf</code> permet d'obtenir
+ le même résultat que <a href="#per-hostname">le premier exemple</a>.
+ La première moitié est très similaire à la partie correspondante
+ ci-dessus, excepté quelques modifications requises à des fins de
+ compatibilité ascendante et pour faire en sorte que la partie
+ <code>mod_rewrite</code> fonctionne correctement ; la seconde moitié
+ configure <code>mod_rewrite</code> pour effectuer le travail
+ proprement dit.</p>
+
+ <p>Comme <code>mod_rewrite</code> s'exécute avant tout autre module
+ de traduction d'URI (comme <code>mod_alias</code>), il faut lui
+ ordonner explicitement d'ignorer toute URL susceptible d'être
+ traitée par ces autres modules. Et comme ces règles auraient sinon
+ court-circuité toute directive <code>ScriptAlias</code>, nous devons
+ faire en sorte que <code>mod_rewrite</code> déclare explicitement
+ ces correspondances.</p>
+
+<pre class="prettyprint lang-config">
+# extrait le nom de serveur de l'en-tête Host:
+UseCanonicalName Off
+
+# journaux dissociables
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+<Directory /www/hosts>
+ # ExecCGI est nécessaire ici car on ne peut pas forcer l'exécution
+ # des CGI à la manière de ScriptAlias
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# un nom de serveur extrait d'un en-tête Host: peut être dans n'importe
+# quelle casse
+
+## on s'occupe tout d'abord des documents normaux :<br />
+# permet à "Alias /icons/" de fonctionner - répéter pour les autres
+RewriteCond %{REQUEST_URI} !^/icons/
+# permet aux CGIs de fonctionner
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+# le coeur du traitement
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+
+## on s'occupe maintenant des CGIs - on doit forcer l'utilisation d'un
+# gestionnaire
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]
+</pre>
+
+
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="xtra-conf" id="xtra-conf">Utilisation d'un fichier de configuration
+du serveur virtuel séparé</a></h2>
+
+ <p>Cette construction utilise des fonctionnalités plus avancées de
+ <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code> pour effectuer la traduction depuis le
+ serveur virtuel vers la racine des documents, à partir d'un fichier
+ de configuration séparé. Elle est plus souple mais nécessite une
+ configuration plus compliquée.</p>
+
+ <p>Le fichier <code>vhost.map</code> devrait ressembler à ceci :</p>
+
+<div class="example"><p><code>
+www.client-1.example.com /www/clients/1<br />
+www.client-2.example.com /www/clients/2<br />
+# ...<br />
+www.client-N.example.com /www/clients/N<br />
+</code></p></div>
+
+ <p>On doit ajouter à <code>httpd.conf</code> :</p>
+
+<pre class="prettyprint lang-config">
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# définit le fichier de correspondances
+RewriteMap vhost txt:/www/conf/vhost.map
+
+# on s'occupe des alias comme ci-dessus
+RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+# on effectue ici la remise en correspondance à base de fichier
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/docs/$1
+
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]
+</pre>
+
+
+</div></div>
+<div class="bottomlang">
+<p><span>Langues Disponibles: </span><a href="../en/rewrite/vhosts.html" hreflang="en" rel="alternate" title="English"> en </a> |
+<a href="../fr/rewrite/vhosts.html" title="Français"> fr </a></p>
+</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
+<script type="text/javascript"><!--//--><![CDATA[//><!--
+var comments_shortname = 'httpd';
+var comments_identifier = 'http://httpd.apache.org/docs/2.4/rewrite/vhosts.html';
+(function(w, d) {
+ if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
+ d.write('<div id="comments_thread"><\/div>');
+ var s = d.createElement('script');
+ s.type = 'text/javascript';
+ s.async = true;
+ s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
+ (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
+ }
+ else {
+ d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
+ }
+})(window, document);
+//--><!]]></script></div><div id="footer">
+<p class="apache">Copyright 2012 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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
+if (typeof(prettyPrint) !== 'undefined') {
+ prettyPrint();
+}
+//--><!]]></script>
+</body></html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
+<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
+<!-- English Revision : 1338141 -->
+<!-- French translation : Lucien GENTIS -->
+<!-- Reviewed by : Vincent Deffontaines -->
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<manualpage metafile="vhosts.xml.meta">
+ <parentdocument href="./">Rewrite</parentdocument>
+
+<title>Hébergement virtuel de masse avec mod_rewrite</title>
+
+<summary>
+
+<p>Ce document est un complément à la <a
+href="../mod/mod_rewrite.html">documentation de référence</a> du module
+<module>mod_rewrite</module>. Il décrit comment créer des serveurs
+virtuels dynamiquement configurés en utilisant
+<module>mod_rewrite</module>.</p>
+
+<note type="warning">L'utilisation de mod_rewrite n'est pas la meilleure
+méthode pour configurer des serveurs virtuels. Vous devez dans un
+premier temps tenter de résoudre votre problème via ces <a
+href="../vhosts/mass.html">d'autres méthodes</a> avant d'avoir
+recours à mod_rewrite. Voir aussi le document <a
+href="avoid.html#vhosts">Comment éviter l'utilisation de
+mod_rewrite</a>.</note>
+
+
+</summary>
+<seealso><a href="../mod/mod_rewrite.html">Documentation du module</a></seealso>
+<seealso><a href="intro.html">Introduction à mod_rewrite</a></seealso>
+<seealso><a href="remapping.html">Redirection et remise en
+correspondance</a></seealso>
+<seealso><a href="access.html">Contrôle d'accès</a></seealso>
+<!--<seealso><a href="vhosts.html">Serveurs virtuels</a></seealso>-->
+<seealso><a href="proxy.html">Serveurs mandataires</a></seealso>
+<seealso><a href="rewritemap.html">Utilisation de RewriteMap</a></seealso>
+<seealso><a href="advanced.html">Techniques avancées</a></seealso>
+<seealso><a href="avoid.html">Quand ne pas utiliser mod_rewrite</a></seealso>
+
+<section id="per-hostname">
+
+ <title>Serveurs virtuels pour des noms d'hôtes arbitraires</title>
+
+ <dl>
+ <dt>Description :</dt>
+
+ <dd>
+ <p>Nous voulons créer automatiquement un serveur virtuel pour tout
+ nom d'hôte qui peut être résolu dans notre domaine, sans avoir à
+ créer de nouvelle section VirtualHost.</p>
+
+ <p>Dans cet exemple, nous supposons que nous utilisons le nom d'hôte
+ <code>www.<strong>SITE</strong>.example.com</code> pour chaque
+ utilisateur, et que nous servons leur contenu depuis
+ <code>/home/<strong>SITE</strong>/www</code>.</p>
+ </dd>
+
+ <dt>Solution :</dt>
+
+ <dd>
+
+<highlight language="config">
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+RewriteCond ${lowercase:%{<strong>HTTP_HOST</strong>}} ^www\.<strong>([^.]+)</strong>\.example\.com$
+RewriteRule ^(.*) /home/<strong>%1</strong>/www$1
+</highlight></dd>
+
+<dt>Discussion</dt>
+ <dd>
+
+ <note type="warning">Vous devez vérifier le bon fonctionnement de la
+ résolution DNS - Apache ne gère pas la résolution de nom. Vous
+ devrez créer soit des enregistrements CNAME pour chaque nom d'hôte,
+ soit un enregistrement DNS avec caractères génériques. La création
+ des enregistrements DNS est en dehors du sujet de ce document.</note>
+
+<p>La directive RewriteMap interne <code>tolower</code> permet de
+s'assurer que les noms d'hôtes utilisés seront tous en minuscules, de
+façon à éviter toute ambiguité dans la structure des répertoires qui
+doit être créée.</p>
+
+<p>Les contenus des parenthèses utilisées dans une directive <directive
+module="mod_rewrite">RewriteCond</directive> sont enregistrés dans les
+références arrières <code>%1</code>, <code>%2</code>, etc..., alors que
+les contenus des parenthèses utilisées dans une directive <directive
+module="mod_rewrite">RewriteRule</directive> le sont dans les
+références arrières <code>$1</code>, <code>$2</code>, etc...</p>
+
+<p>
+Comme c'est le cas pour de nombreuses techniques discutées dans ce
+document, mod_rewrite n'est vraiment pas la meilleure méthode pour
+accomplir cette tâche. Vous devez plutôt vous tourner vers
+<module>mod_vhost_alias</module>, car ce dernier sera bien plus à même
+de gérer tout ce qui est au delà du domaine des fichiers statiques,
+comme les contenus dynamiques et la résolution des alias.
+</p>
+ </dd>
+ </dl>
+
+</section>
+
+<section id="simple.rewrite"><title>Configuration dynamique de serveurs
+virtuels via <module>mod_rewrite</module></title>
+
+ <p>Cet extrait du fichier <code>httpd.conf</code> permet d'obtenir
+ le même résultat que <a href="#per-hostname">le premier exemple</a>.
+ La première moitié est très similaire à la partie correspondante
+ ci-dessus, excepté quelques modifications requises à des fins de
+ compatibilité ascendante et pour faire en sorte que la partie
+ <code>mod_rewrite</code> fonctionne correctement ; la seconde moitié
+ configure <code>mod_rewrite</code> pour effectuer le travail
+ proprement dit.</p>
+
+ <p>Comme <code>mod_rewrite</code> s'exécute avant tout autre module
+ de traduction d'URI (comme <code>mod_alias</code>), il faut lui
+ ordonner explicitement d'ignorer toute URL susceptible d'être
+ traitée par ces autres modules. Et comme ces règles auraient sinon
+ court-circuité toute directive <code>ScriptAlias</code>, nous devons
+ faire en sorte que <code>mod_rewrite</code> déclare explicitement
+ ces correspondances.</p>
+
+<highlight language="config">
+# extrait le nom de serveur de l'en-tête Host:
+UseCanonicalName Off
+
+# journaux dissociables
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+<Directory /www/hosts>
+ # ExecCGI est nécessaire ici car on ne peut pas forcer l'exécution
+ # des CGI à la manière de ScriptAlias
+ Options FollowSymLinks ExecCGI
+</Directory>
+
+RewriteEngine On
+
+# un nom de serveur extrait d'un en-tête Host: peut être dans n'importe
+# quelle casse
+
+## on s'occupe tout d'abord des documents normaux :<br />
+# permet à "Alias /icons/" de fonctionner - répéter pour les autres
+RewriteCond %{REQUEST_URI} !^/icons/
+# permet aux CGIs de fonctionner
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+# le coeur du traitement
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+
+## on s'occupe maintenant des CGIs - on doit forcer l'utilisation d'un
+# gestionnaire
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]
+</highlight>
+
+</section>
+
+<section id="xtra-conf"><title>Utilisation d'un fichier de configuration
+du serveur virtuel séparé</title>
+
+ <p>Cette construction utilise des fonctionnalités plus avancées de
+ <module>mod_rewrite</module> pour effectuer la traduction depuis le
+ serveur virtuel vers la racine des documents, à partir d'un fichier
+ de configuration séparé. Elle est plus souple mais nécessite une
+ configuration plus compliquée.</p>
+
+ <p>Le fichier <code>vhost.map</code> devrait ressembler à ceci :</p>
+
+<example>
+www.client-1.example.com /www/clients/1<br />
+www.client-2.example.com /www/clients/2<br />
+# ...<br />
+www.client-N.example.com /www/clients/N<br />
+</example>
+
+ <p>On doit ajouter à <code>httpd.conf</code> :</p>
+
+<highlight language="config">
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# définit le fichier de correspondances
+RewriteMap vhost txt:/www/conf/vhost.map
+
+# on s'occupe des alias comme ci-dessus
+RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+# on effectue ici la remise en correspondance à base de fichier
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/docs/$1
+
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]
+</highlight>
+
+</section>
+
+</manualpage>
<variants>
<variant>en</variant>
+ <variant>fr</variant>
</variants>
</metafile>