Serveur Apache HTTP Version 2.4

apxs 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 fichiers sources ou objets et
    peut �tre charg� pendant l'ex�cution du serveur Apache via la
    directive LoadModule du
    module mod_so.
Pour pouvoir utiliser ce m�canisme d'extensions, votre
    plate-forme doit supporter la fonctionnalit� DSO, et votre binaire
    httpd Apache doit �tre compil� avec le module
    mod_so. Si ce n'est pas le cas, l'utilitaire
    apxs vous le signalera. Vous pouvez aussi v�rifier
    vous-m�me ces pr�requis en ex�cutant manuellement la commande :
      $ httpd -l
    
Le module mod_so 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
    apxs, via le m�canisme DSO :
      $ apxs -i -a -c mod_foo.c
      gcc -fpic -DSHARED_MODULE -I/chemin/vers/apache/include -c mod_foo.c
      ld -Bshareable -o mod_foo.so mod_foo.o
      cp mod_foo.so /chemin/vers/apache/modules/mod_foo.so
      chmod 755 /chemin/vers/apache/modules/mod_foo.so
      [activation du module `foo' dans /chemin/vers/apache/etc/apache2.conf]
      $ apache2ctl restart
      /chemin/vers/apache/sbin/apache2ctl restart: httpd not running, trying to start
      [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
      /chemin/vers/apache/sbin/apache2ctl restart: httpd started
      $ _
    
Les arguments fichiers peuvent correspondre � un
    fichier source C (.c), un fichier objet (.o) ou m�me une archive de
    biblioth�ques (.a). L'utilitaire apxs 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
    -fpic. Pour les autres compilateurs C, consultez leur
    page de manuel, ou v�rifiez les drapeaux qu'apxs
    utilise pour compiler les fichiers objets.
Pour plus de d�tails � propos du support DSO dans Apache, lire la
    documentation du module mod_so, ou m�me, consultez
    le fichier source src/modules/standard/mod_so.c.
apxs -g
    [ -S nom=valeur ]
    -n nom-module
apxs -q
    [ -v ]
    [ -S nom=valeur ]
    requ�te ...
apxs -c
    [ -S nom=valeur ]
    [ -o fichier-dso ]
    [ -I r�pertoire-inc ]
    [ -D nom=valeur ]
    [ -L r�pertoire-lib ]
    [ -l nom-biblioth�que ]
    [ -Wc,options-compilation ]
    [ -Wl,options-edition-liens ]
    fichiers ...
apxs -i
    [ -S nom=valeur ]
    [ -n nom-module ]
    [ -a ]
    [ -A ]
    fichier-dso ...
apxs -e
    [ -S nom=valeur ]
    [ -n nom-module ]
    [ -a ]
    [ -A ]
    fichier-dso ...
-n nom-module-i (install) et -g (g�n�ration de
      mod�les). Utilisez cette option pour sp�cifier de mani�re
      explicite le nom du module. Pour l'option -g, cette
      option est n�cessaire ; pour l'option -i,
      l'utilitaire apxs tente de d�terminer le nom du
      module � partir des sources, ou (� d�faut) en le d�duisant du nom
      de fichier.-qhttpd.
      Lorsqu'elle est invoqu�e sans param�tre requ�te, cette
      option affiche toutes les variables connues, ainsi que leurs
      valeurs. Le param�tre optionnel -v formate la liste
      affich�e.
      Utilisez cette option pour d�terminer manuellement les options
      utilis�es pour compiler le binaire httpd qui chargera
      votre module. Ajoutez par exemple
        INC=-I`apxs -q INCLUDEDIR`
      
dans vos propres Makefiles si vous devez acc�der manuellement aux fichiers d'en-t�tes C d'Apache.
-S nom=valeur-g-n) contenant deux
      fichiers : le premier fichier est un exemple de fichier source de
      module nomm� mod_nom.c 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 Makefile correspondant
      facilitant la compilation et l'installation de ce module.-c-o
      n'est pas sp�cifi�e, le nom du fichier r�sultant est d�duit du
      premier nom de fichier sp�cifi� par fichiers, et ainsi
      prend en g�n�ral pour valeur par d�faut
      mod_nom.so.-o fichier-dsomod_unknown.so qui sera utilis�.-D nom=valeur-I r�pertoire-incinclude au processus de
      compilation.-L r�pertoire-lib-l nom-biblioth�que-Wc,options-compilationlibtool
      --mode=compile. Vous pouvez l'utiliser pour ajouter des
      options locales sp�cifiques au compilateur.-Wl,options-edition-lienslibtool
      --mode=link. Vous pouvez l'utiliser pour ajouter des
      options locales sp�cifiques � l'�diteur de liens.-p-i-aLoadModule
      correspondante au fichier de configuration d'Apache
      apache2.conf, ou en l'activant s'il existe d�j�.-A-a, � la diff�rence que la
      directive LoadModule cr��e
      est pr�fix�e par un caract�re di�se (#) ; le module
      est ainsi pr�par� pour une activation ult�rieure, mais est
      d�sactiv� dans un premier temps.-e-a et -A
      de la m�me mani�re qu'au cours de l'op�ration d'installation pour
      �diter le fichier de configuration d'Apache
      apache2.conf, sans toutefois installer le module.Supposons que vous disposiez d'un module Apache nomm�
    mod_foo.c 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 :
      $ apxs -c mod_foo.c
      /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c
      /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
      $ _
    
Vous devez ensuite v�rifier la configuration d'Apache en vous
    assurant qu'une directive LoadModule est bien pr�sente pour
    charger cet objet partag�. Pour simplifier cette �tape,
    apxs propose une m�thode automatique d'installation de
    l'objet partag� dans son r�pertoire "modules", et de mise � jour du
    fichier apache2.conf en cons�quence. Pour b�n�ficier de
    cette automatisation, utilisez la commande suivante :
      $ apxs -i -a mod_foo.la
      /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules
      /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
      ...
      chmod 755 /chemin/vers/apache/modules/mod_foo.so
      [activation du module `foo' dans /chemin/vers/apache/conf/apache2.conf]
      $ _
    
Une ligne contenant
      LoadModule foo_module modules/mod_foo.so
    
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 -A comme suit :
      $ apxs -i -A mod_foo.c
    
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 :
      $ 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
      $ _
    
Vous pouvez ensuite compiler imm�diatement ce module exemple en objet partag� et le charger dans le serveur Apache :
      $ cd foo
      $ make all reload
      apxs -c mod_foo.c
      /chemin/vers/libtool --mode=compile gcc ... -c mod_foo.c
      /chemin/vers/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo
      apxs -i -a -n "foo" mod_foo.la
      /chemin/vers/instdso.sh mod_foo.la /chemin/vers/apache/modules
      /chemin/vers/libtool --mode=install cp mod_foo.la /chemin/vers/apache/modules
      ...
      chmod 755 /chemin/vers/apache/modules/mod_foo.so
      [activation du module `foo' dans /chemin/vers/apache/conf/apache2.conf]
      apache2ctl restart
      /chemin/vers/apache/sbin/apache2ctl restart: httpd not running, trying to start
      [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module
      /chemin/vers/apache/sbin/apache2ctl restart: httpd started
      $ _