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="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<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> 23<div class="toplang"> 24<p><span>Langues Disponibles: </span><a href="/en/programs/apxs.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/programs/apxs.html" title="Fran�ais"> fr </a> | 26<a href="/ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 27<a href="/tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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"> en </a> | 366<a href="/fr/programs/apxs.html" title="Fran�ais"> fr </a> | 367<a href="/ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 368<a href="/tr/programs/apxs.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </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&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>