1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>apxs - Utilitaire pour les extensions d'Apache - Serveur Apache HTTP</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<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" />
12<script src="/style/scripts/prettify.min.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<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>
18<p class="apache">Serveur Apache HTTP Version 2.4</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Programmes</a></div><div id="page-content"><div id="preamble"><h1>apxs - Utilitaire pour les extensions d'Apache</h1>
23<div class="toplang">
24<p><span>Langues Disponibles: </span><a href="/en/programs/apxs.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/fr/programs/apxs.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
26<a href="/ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
27<a href="/tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
28</div>
29
30    <p><code>apxs</code> est un utilitaire permettant de compiler et
31    d'installer des modules en tant qu'extensions du serveur HTTP
32    Apache. A cet effet, un objet dynamique partag� (DSO) est compil� �
33    partir d'un ou plusieurs <var>fichiers</var> sources ou objets et
34    peut �tre charg� pendant l'ex�cution du serveur Apache via la
35    directive <code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> du
36    module <code class="module"><a href="/mod/mod_so.html">mod_so</a></code>.</p>
37
38    <p>Pour pouvoir utiliser ce m�canisme d'extensions, votre
39    plate-forme doit supporter la fonctionnalit� DSO, et votre binaire
40    <code class="program"><a href="/programs/httpd.html">httpd</a></code> Apache doit �tre compil� avec le module
41    <code class="module"><a href="/mod/mod_so.html">mod_so</a></code>. Si ce n'est pas le cas, l'utilitaire
42    <code>apxs</code> vous le signalera. Vous pouvez aussi v�rifier
43    vous-m�me ces pr�requis en ex�cutant manuellement la commande :</p>
44
45    <div class="example"><p><code>
46      $ httpd -l
47    </code></p></div>
48
49    <p>Le module <code class="module"><a href="/mod/mod_so.html">mod_so</a></code> doit faire partie de la liste
50    des modules affich�e. Si ces pr�requis sont pr�sents, vous pouvez
51    facilement �tendre les fonctionnalit�s de votre serveur Apache en
52    installant vos propres modules � l'aide de l'utilitaire
53    <code>apxs</code>, via le m�canisme DSO :</p>
54
55    <div class="example"><p><code>
56      $ apxs -i -a -c mod_foo.c<br />
57      gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c<br />
58      ld -Bshareable -o mod_foo.so mod_foo.o<br />
59      cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so<br />
60      chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
61      [activation du module `foo' dans /chemin/vers/apache/etc/httpd.conf]<br />
62      $ apachectl restart<br />
63      /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
64      [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
65      /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
66      $ _
67    </code></p></div>
68
69    <p>Les arguments <var>fichiers</var> peuvent correspondre � un
70    fichier source C (.c), un fichier objet (.o) ou m�me une archive de
71    biblioth�ques (.a). L'utilitaire <code>apxs</code> reconna�t
72    automatiquement ces extensions et utilise automatiquement les
73    fichiers source C pour la compilation, et les fichiers objets et
74    archives pour l'�dition de liens. Cependant, si vous utilisez des
75    fichiers objets pr�compil�s, assurez-vous que leur code soit
76    ind�pendant de la position (PIC), afin de pouvoir les utiliser avec
77    un objet partag� charg� dynamiquement. Avec GCC, par exemple, il
78    vous suffit de toujours utiliser l'option de compilation
79    <code>-fpic</code>. Pour les autres compilateurs C, consultez leur
80    page de manuel, ou v�rifiez les drapeaux qu'<code>apxs</code>
81    utilise pour compiler les fichiers objets.</p>
82
83    <p>Pour plus de d�tails � propos du support DSO dans Apache, lire la
84    documentation du module <code class="module"><a href="/mod/mod_so.html">mod_so</a></code>, ou m�me, consultez
85    le fichier source <code>src/modules/standard/mod_so.c</code>.</p>
86</div>
87<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#synopsis">Syntaxe</a></li>
88<li><img alt="" src="/images/down.gif" /> <a href="#options">Options</a></li>
89<li><img alt="" src="/images/down.gif" /> <a href="#examples">Exemples</a></li>
90</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>
91<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
92<div class="section">
93<h2><a name="synopsis" id="synopsis">Syntaxe</a></h2>
94    <p><code><strong>apxs</strong> -<strong>g</strong>
95    [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
96    -<strong>n</strong> <var>nom-module</var></code></p>
97
98    <p><code><strong>apxs</strong> -<strong>q</strong>
99    [ -<strong>v</strong> ]
100    [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
101    <var>requ�te</var> ...</code></p>
102
103    <p><code><strong>apxs</strong> -<strong>c</strong>
104    [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
105    [ -<strong>o</strong> <var>fichier-dso</var> ]
106    [ -<strong>I</strong> <var>r�pertoire-inc</var> ]
107    [ -<strong>D</strong> <var>nom</var>=<var>valeur</var> ]
108    [ -<strong>L</strong> <var>r�pertoire-lib</var> ]
109    [ -<strong>l</strong> <var>nom-biblioth�que</var> ]
110    [ -<strong>Wc,</strong><var>options-compilation</var> ]
111    [ -<strong>Wl,</strong><var>options-edition-liens</var> ]
112    <var>fichiers</var> ...</code></p>
113
114    <p><code><strong>apxs</strong> -<strong>i</strong>
115    [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
116    [ -<strong>n</strong> <var>nom-module</var> ]
117    [ -<strong>a</strong> ]
118    [ -<strong>A</strong> ]
119    <var>fichier-dso</var> ...</code></p>
120
121    <p><code><strong>apxs</strong> -<strong>e</strong>
122    [ -<strong>S</strong> <var>nom</var>=<var>valeur</var> ]
123    [ -<strong>n</strong> <var>nom-module</var> ]
124    [ -<strong>a</strong> ]
125    [ -<strong>A</strong> ]
126    <var>fichier-dso</var> ...</code></p>
127</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
128<div class="section">
129<h2><a name="options" id="options">Options</a></h2>
130    <h3><a name="options.common" id="options.common">Options courantes</a></h3>
131      <dl>
132      <dt><code>-n <var>nom-module</var></code></dt>
133      <dd>D�finit explicitement le nom du module pour les options
134      <code>-i</code> (install) et <code>-g</code> (g�n�ration de
135      mod�les). Utilisez cette option pour sp�cifier de mani�re
136      explicite le nom du module. Pour l'option <code>-g</code>, cette
137      option est n�cessaire ; pour l'option <code>-i</code>,
138      l'utilitaire <code>apxs</code> tente de d�terminer le nom du
139      module � partir des sources, ou (� d�faut) en le d�duisant du nom
140      de fichier.</dd>
141      </dl>
142    
143
144    <h3><a name="options.query" id="options.query">Options de requ�te</a></h3>
145      <dl>
146      <dt><code>-q</code></dt>
147      <dd>Effectue une requ�te � propos des variables et de
148      l'environnement utilis�s pour compiler <code>httpd</code>.
149      Lorsqu'elle est invoqu�e sans param�tre <var>requ�te</var>, cette
150      option affiche toutes les variables connues, ainsi que leurs
151      valeurs. Le param�tre optionnel <code>-v</code> formate la liste
152      affich�e.
153
154      <p>Utilisez cette option pour d�terminer manuellement les options
155      utilis�es pour compiler le binaire <code>httpd</code> qui chargera
156      votre module. Ajoutez par exemple</p>
157      <div class="example"><p><code>
158        INC=-I`apxs -q INCLUDEDIR`
159      </code></p></div>
160
161      <p>dans vos propres Makefiles si vous devez acc�der manuellement
162      aux fichiers d'en-t�tes C d'Apache.</p></dd>
163      </dl>
164    
165
166    <h3><a name="options.conf" id="options.conf">Options de configuration</a></h3>
167      <dl>
168      <dt><code>-S <var>nom</var>=<var>valeur</var></code></dt>
169      <dd>Cette option permet de modifier la configuration d'apxs
170      d�crite ci-dessus.</dd>
171      </dl>
172    
173
174    <h3><a name="options.template" id="options.template">Option de g�n�ration des
175    mod�les</a></h3>
176      <dl>
177      <dt><code>-g</code></dt>
178      <dd>Cette option permet de g�n�rer un sous-r�pertoire
179      <var>nom</var> (voir option <code>-n</code>) contenant deux
180      fichiers : le premier fichier est un exemple de fichier source de
181      module nomm� <code>mod_<var>nom</var>.c</code> que l'on peut
182      utiliser comme mod�le pour cr�er ses propres modules, ou comme
183      point de d�part pour se familiariser avec le m�canisme apxs ; le
184      second fichier est le <code>Makefile</code> correspondant
185      facilitant la compilation et l'installation de ce module.</dd>
186      </dl>
187    
188    <h3><a name="options.dso" id="options.dso">Options de compilation DSO</a></h3>
189      <dl>
190      <dt><code>-c</code></dt>
191      <dd>Cette option indique une op�ration de compilation. Tout
192      d'abord, les fichiers sources (.c) sp�cifi�s par
193      <var>fichiers</var> sont compil�s en fichiers objets
194      correspondants (.o), puis un objet dynamiquement partag�
195      <var>fichier-dso</var> est compil� via une �dition de liens de ces
196      fichiers objets avec les autres fichiers objets (.o and .a)
197      sp�cifi�s par <var>fichiers</var>. Si l'option <code>-o</code>
198      n'est pas sp�cifi�e, le nom du fichier r�sultant est d�duit du
199      premier nom de fichier sp�cifi� par <var>fichiers</var>, et ainsi
200      prend en g�n�ral pour valeur par d�faut
201      <code>mod_<var>nom</var>.so</code>.</dd>
202
203      <dt><code>-o <var>fichier-dso</var></code></dt>
204      <dd>Sp�cifie de mani�re explicite le nom de fichier de l'objet
205      partag� dynamiquement cr��. Sans cette option, et si le nom ne
206      peut pas �tre d�duit de la liste <var>fichiers</var>, c'est le nom
207      par d�faut <code>mod_unknown.so</code> qui sera utilis�.</dd>
208
209      <dt><code>-D <var>nom</var>=<var>valeur</var></code></dt>
210      <dd>Cette option est transmise directement � la commande de
211      compilation. Vous pouvez l'utiliser pour ajouter vos propres
212      d�finitions au processus de compilation. </dd>
213
214      <dt><code>-I <var>r�pertoire-inc</var></code></dt>
215      <dd>Cette option est transmise directement � la commande de
216      compilation. Vous pouvez l'utiliser pour ajouter vos propres
217      chemins de recherche des r�pertoires <code>include</code> au processus de
218      compilation.</dd>
219
220      <dt><code>-L <var>r�pertoire-lib</var></code></dt>
221      <dd>Cette option est transmise directement � la commande d'�dition
222      de liens. Vous pouvez l'utiliser pour ajouter vos propres
223      chemins de recherche des r�pertoires de biblioth�ques au processus
224      de compilation.</dd>
225
226      <dt><code>-l <var>nom-biblioth�que</var></code></dt>
227      <dd>Cette option est transmise directement � la commande d'�dition
228      de liens. Vous pouvez l'utiliser pour ajouter vos propres
229      biblioth�ques � rechercher au processus de compilation.</dd>
230
231      <dt><code>-Wc,<var>options-compilation</var></code></dt>
232      <dd>Cette option transmet les <var>options-compilation</var> en
233      tant qu'options suppl�mentaires � la commande <code>libtool
234      --mode=compile</code>. Vous pouvez l'utiliser pour ajouter des
235      options locales sp�cifiques au compilateur.</dd>
236
237      <dt><code>-Wl,<var>options-edition-liens</var></code></dt>
238      <dd>Cette option transmet les <var>options-edition-liens</var> en
239      tant qu'options suppl�mentaires � la commande <code>libtool
240      --mode=link</code>. Vous pouvez l'utiliser pour ajouter des
241      options locales sp�cifiques � l'�diteur de liens.</dd>
242      
243      <dt><code>-p</code></dt>
244      <dd>Avec cette option, apxs effectue l'�dition de liens avec les
245      biblioth�ques apr/apr-util. Elle permet de compiler les programmes
246      helper qui utilisent les biblioth�ques apr/apr-util.</dd>
247      </dl>
248    
249
250    <h3><a name="options.dsoinstall" id="options.dsoinstall">Options d'installation et de configuration DSO</a></h3>
251    
252      <dl>
253      <dt><code>-i</code></dt>
254      <dd>Cette option indique une op�ration d'installation et installe
255      un ou plusieurs objets dynamiquement partag�s dans le r�pertoire
256      <var>modules</var> du serveur.</dd>
257
258      <dt><code>-a</code></dt>
259      <dd>Cette option active le module en ajoutant automatiquement une
260      directive <code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code>
261      correspondante au fichier de configuration d'Apache
262      <code>httpd.conf</code>, ou en l'activant s'il existe d�j�.</dd>
263
264      <dt><code>-A</code></dt>
265      <dd>Identique � l'option <code>-a</code>, � la diff�rence que la
266      directive <code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> cr��e
267      est pr�fix�e par un caract�re di�se (<code>#</code>) ; le module
268      est ainsi pr�par� pour une activation ult�rieure, mais est
269      d�sactiv� dans un premier temps.</dd>
270
271      <dt><code>-e</code></dt>
272      <dd>Cette option indique une op�ration d'�dition de liens et peut
273      �tre utilis�e avec les options <code>-a</code> et <code>-A</code>
274      de la m�me mani�re qu'au cours de l'op�ration d'installation pour
275      �diter le fichier de configuration d'Apache
276      <code>httpd.conf</code>, sans toutefois installer le module.</dd>
277      </dl>
278    
279</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
280<div class="section">
281<h2><a name="examples" id="examples">Exemples</a></h2>
282    <p>Supposons que vous disposiez d'un module Apache nomm�
283    <code>mod_foo.c</code> et destin� � �tendre les fonctionnalit�s du
284    serveur. Pour ce faire, vous devez tout d'abord compiler le fichier
285    source C en un objet partag� pouvant �tre charg� dans le serveur
286    Apache � l'ex�cution, via la commande suivante :</p>
287
288    <div class="example"><p><code>
289      $ apxs -c mod_foo.c<br />
290      /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
291      /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
292      $ _
293    </code></p></div>
294
295    <p>Vous devez ensuite v�rifier la configuration d'Apache en vous
296    assurant qu'une directive <code class="directive"><a href="/mod/mod_so.html#loadmodule">LoadModule</a></code> est bien pr�sente pour
297    charger cet objet partag�. Pour simplifier cette �tape,
298    <code>apxs</code> propose une m�thode automatique d'installation de
299    l'objet partag� dans son r�pertoire "modules", et de mise � jour du
300    fichier <code>httpd.conf</code> en cons�quence. Pour b�n�ficier de
301    cette automatisation, utilisez la commande suivante :</p>
302
303    <div class="example"><p><code>
304      $ apxs -i -a mod_foo.la<br />
305      /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
306      /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
307      ...
308      chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
309      [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
310      $ _
311    </code></p></div>
312
313    <p>Une ligne contenant</p>
314
315    <div class="example"><p><code>
316      LoadModule foo_module modules/mod_foo.so
317    </code></p></div>
318
319    <p>est alors ajout�e au fichier de configuration si ce n'est pas
320    d�j� fait. Si vous voulez que le module soit d�sactiv� par d�faut,
321    utilisez l'option <code>-A</code> comme suit :</p>
322
323    <div class="example"><p><code>
324      $ apxs -i -A mod_foo.c
325    </code></p></div>
326
327    <p>Pour un test rapide du m�canisme apxs, vous pouvez cr�er un
328    exemple de mod�le de module Apache, ainsi que le Makefile
329    correspondant via :</p>
330
331    <div class="example"><p><code>
332      $ apxs -g -n foo<br />
333      Creating [DIR]  foo<br />
334      Creating [FILE] foo/Makefile<br />
335      Creating [FILE] foo/modules.mk<br />
336      Creating [FILE] foo/mod_foo.c<br />
337      Creating [FILE] foo/.deps<br />
338      $ _
339    </code></p></div>
340
341    <p>Vous pouvez ensuite compiler imm�diatement ce module exemple en
342    objet partag� et le charger dans le serveur Apache :</p>
343
344    <div class="example"><p><code>
345      $ cd foo<br />
346      $ make all reload<br />
347      apxs -c mod_foo.c<br />
348      /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c<br />
349      /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
350      apxs -i -a -n "foo" mod_foo.la<br />
351      /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules<br />
352      /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
353      ...
354      chmod 755 /chemin/vers/apache/modules/mod_foo.so<br />
355      [activation du module `foo' dans /chemin/vers/apache/conf/httpd.conf]<br />
356      apachectl restart<br />
357      /chemin/vers/apache/sbin/apachectl restart: httpd not running, trying to start<br />
358      [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
359      /chemin/vers/apache/sbin/apachectl restart: httpd started<br />
360      $ _
361    </code></p></div>
362
363</div></div>
364<div class="bottomlang">
365<p><span>Langues Disponibles: </span><a href="/en/programs/apxs.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
366<a href="/fr/programs/apxs.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
367<a href="/ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
368<a href="/tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a></p>
369</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&amp;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>
370<script type="text/javascript"><!--//--><![CDATA[//><!--
371var comments_shortname = 'httpd';
372var comments_identifier = 'http://httpd.apache.org/docs/2.4/programs/apxs.html';
373(function(w, d) {
374    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
375        d.write('<div id="comments_thread"><\/div>');
376        var s = d.createElement('script');
377        s.type = 'text/javascript';
378        s.async = true;
379        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
380        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
381    }
382    else { 
383        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
384    }
385})(window, document);
386//--><!]]></script></div><div id="footer">
387<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
388<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[//><!--
389if (typeof(prettyPrint) !== 'undefined') {
390    prettyPrint();
391}
392//--><!]]></script>
393</body></html>