| <!DOCTYPE html SYSTEM "about:legacy-compat"> | |
| <html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
| <meta content="width=device-width, initial-scale=1" name="viewport"> | |
| <!-- | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| This file is generated from xml source: DO NOT EDIT | |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | |
| --> | |
| <title>apxs - Utilitaire pour les extensions d'Apache - Serveur HTTP Apache Version 2.5</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.min.js"> | |
| </script> | |
| <link href="../images/favicon.png" rel="shortcut icon"></head> | |
| <body id="manual-page"><div id="page-header"> | |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p> | |
| <p class="apache">Serveur HTTP Apache Version 2.5</p> | |
| <img alt="" src="../images/feather.png"></div> | |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif"></a></div> | |
| <div id="path"> | |
| <a href="https://www.apache.org/">Apache</a> > <a href="https://httpd.apache.org/">Serveur HTTP</a> > <a href="https://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Programmes</a></div><div id="page-content"><div id="preamble"><h1>apxs - Utilitaire pour les extensions d'Apache</h1> | |
| <button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button> | |
| <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 class="program"><a href="../programs/apxs.html">apxs</a></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 class="program"><a href="../programs/apxs.html">apxs</a></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"><pre class="prettyprint lang-sh">$ httpd -l</pre> | |
| </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 class="program"><a href="../programs/apxs.html">apxs</a></code>, via le mécanisme DSO :</p> | |
| <div class="example"><pre class="prettyprint lang-sh">$ apxs -i -a -c mod_foo.c | |
| gcc -fpic -DSHARED_MODULE -I/path/to/apache/include -c mod_foo.c | |
| ld -Bshareable -o mod_foo.so mod_foo.o | |
| cp mod_foo.so /path/to/apache/modules/mod_foo.so | |
| chmod 755 /path/to/apache/modules/mod_foo.so | |
| [activating module `foo' in /path/to/apache/etc/httpd.conf] | |
| $ apachectl restart | |
| /path/to/apache/sbin/apachectl restart: httpd not running, trying to start | |
| [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module | |
| /path/to/apache/sbin/apachectl restart: httpd started | |
| $ _</pre> | |
| </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 class="program"><a href="../programs/apxs.html">apxs</a></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 class="program"><a href="../programs/apxs.html">apxs</a></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></div> | |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif"></a></div> | |
| <div class="section"> | |
| <h2 id="synopsis">Syntaxe <a title="Lien permanent" href="#synopsis" class="permalink">¶</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 id="options">Options <a title="Lien permanent" href="#options" class="permalink">¶</a></h2> | |
| <h3 id="options.common">Options courantes</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 class="program"><a href="../programs/apxs.html">apxs</a></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 id="options.query">Options de requête</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"><pre class="prettyprint lang-sh">INC=-I`apxs -q INCLUDEDIR`</pre> | |
| </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 id="options.conf">Options de configuration</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 id="options.template">Option de génération des | |
| modèles</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 id="options.dso">Options de compilation DSO</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> | |
| <dt><code>-p</code></dt> | |
| <dd>Avec cette option, apxs effectue l'édition de liens avec les | |
| bibliothèques apr/apr-util. Elle permet de compiler les programmes | |
| helper qui utilisent les bibliothèques apr/apr-util.</dd> | |
| </dl> | |
| <h3 id="options.dsoinstall">Options d'installation et de configuration DSO</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 id="examples">Exemples <a title="Lien permanent" href="#examples" class="permalink">¶</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"><pre class="prettyprint lang-sh">$ apxs -c mod_foo.c | |
| /path/to/libtool --mode=compile gcc ... -c mod_foo.c | |
| /path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo | |
| $ _</pre> | |
| </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 class="program"><a href="../programs/apxs.html">apxs</a></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"><pre class="prettyprint lang-sh">$ apxs -i -a mod_foo.la | |
| /path/to/instdso.sh mod_foo.la /path/to/apache/modules | |
| /path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules | |
| ... | |
| chmod 755 /path/to/apache/modules/mod_foo.so | |
| [activating module `foo' in /path/to/apache/conf/httpd.conf] | |
| $ _</pre> | |
| </div> | |
| <p>Une ligne contenant</p> | |
| <div class="example"><pre class="prettyprint lang-config">LoadModule foo_module modules/mod_foo.so</pre> | |
| </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"><pre class="prettyprint lang-sh">$ apxs -i -A mod_foo.c</pre> | |
| </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"><pre class="prettyprint lang-sh">$ apxs -g -n foo | |
| Creating [DIR] foo | |
| Creating [FILE] foo/Makefile | |
| Creating [FILE] foo/modules.mk | |
| Creating [FILE] foo/mod_foo.c | |
| Creating [FILE] foo/.deps | |
| $ _</pre> | |
| </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"><pre class="prettyprint lang-sh">$ cd foo | |
| $ make all reload | |
| apxs -c mod_foo.c | |
| /path/to/libtool --mode=compile gcc ... -c mod_foo.c | |
| /path/to/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo | |
| apxs -i -a -n "foo" mod_foo.la | |
| /path/to/instdso.sh mod_foo.la /path/to/apache/modules | |
| /path/to/libtool --mode=install cp mod_foo.la /path/to/apache/modules | |
| ... | |
| chmod 755 /path/to/apache/modules/mod_foo.so | |
| [activating module `foo' in /path/to/apache/conf/httpd.conf] | |
| apachectl restart | |
| /path/to/apache/sbin/apachectl restart: httpd not running, trying to start | |
| [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module | |
| /path/to/apache/sbin/apachectl restart: httpd started | |
| $ _</pre> | |
| </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 id="footer"> | |
| <p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autorisé sous <a href="https://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/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!-- | |
| if (typeof(prettyPrint) !== 'undefined') { | |
| prettyPrint(); | |
| } | |
| var langToggle = document.querySelector('.lang-toggle'); | |
| var topLang = document.querySelector('.toplang'); | |
| if (langToggle && topLang) { | |
| langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); }); | |
| } | |
| var qv = document.getElementById('quickview'); | |
| if (qv) { | |
| document.body.appendChild(qv); | |
| var qvBtn = document.createElement('button'); | |
| qvBtn.className = 'qv-toggle'; | |
| qvBtn.setAttribute('aria-label', 'Toggle page navigation'); | |
| qvBtn.innerHTML = '☰'; | |
| document.body.appendChild(qvBtn); | |
| qvBtn.addEventListener('click', function() { | |
| var isOpen = qv.classList.toggle('open'); | |
| if (isOpen) { | |
| qv.style.top = window.scrollY + 10 + 'px'; | |
| } | |
| }); | |
| window.addEventListener('scroll', function() { qv.classList.remove('open'); }); | |
| } | |
| //--><!]]></script> | |
| </body></html> |