Serveur Apache HTTP Version 2.4
Module Apache mod_example_hooks
Description: | Illustration de l'API des modules Apache |
---|---|
Statut: | Expérimental |
Identificateur de Module: | example_hooks_module |
Fichier Source: | mod_example_hooks.c |
Sommaire
Certains fichiers situés dans le répertoire
modules/examples
de l'arborescence de la
distribution d'Apache sont fournis à titre d'exemples pour ceux qui
souhaitent écrire des modules qui utilisent l'API d'Apache.
Le fichier principal est mod_example_hooks.c
, qui
constitue une illustration exhaustive des différents mécanismes et
syntaxes d'appels. En aucun cas un module additionnel n'aura à
inclure des routines pour tous les appels - il n'en nécessitera au
contraire qu'un petit nombre !
Le module example_hooks fonctionne réellement. Si vous le chargez dans votre serveur, activez le gestionnaire "example-hooks-handler" dans une section location, et essayez d'accéder à la zone du site web correspondante, vous verrez s'afficher certaines sorties que le module example_hooks produit au cours des différents appels.
Compilation du module example_hooks
Pour inclure le module example_hooks dans votre serveur, effectuez les étapes suivantes :
- Exécutez
configure
avec l'option--enable-example-hooks
. - Compilez le serveur (exécutez la commande
"
make
").
Pour ajouter votre propre module :
cp modules/examples/mod_example_hooks.c modules/nouveau_module/mod_monexemple.c
- Modifiez le fichier.
- Créez
modules/nouveau_module/config.m4
.- Ajoutez
APACHE_MODPATH_INIT(nouveau_module)
. - Copiez la ligne APACHE_MODULE contenant "example_hooks" depuis
modules/examples/config.m4
. - Remplacez le premier argument "example-hooks" par monexemple.
- Remplacez le second argument par une brève description de
votre module. Cette description sera utilisée par la commande
configure --help
. - Si la compilation de votre module nécessite des drapeaux
de compilation C, des drapeaux d'édition de liens, ou de
bibliothèques supplémentaires, ajoutez les respectivement à
CFLAGS, LDFLAGS et LIBS. Reportez-vous aux fichiers
config.m4
des répertoires des autres modules pour plus d'exemples. - Ajoutez
APACHE_MODPATH_FINISH
.
- Ajoutez
- Créez le fichier
module/nouveau_module/Makefile.in
. Si la compilation de votre module ne nécessite pas d'instructions particulières, ce fichier ne doit contenir que la ligneinclude $(top_srcdir)/build/special.mk
. - Exécutez ./buildconf à la racine du répertoire.
- Compilez le serveur après avoir exécuté la commande configure avec l'option --enable-monexemple.
Utilisation du module
mod_example_hooks
Pour activer le module example_hooks, ajoutez à votre fichier
httpd.conf
un bloc du style :
<Location "/example-hooks-info"> SetHandler example-hooks-handler </Location>
Vous pouvez aussi ajouter ce qui suit dans un fichier .htaccess
, puis
accéder au fichier "test.example" à partir du répertoire
correspondant :
AddHandler example-hooks-handler ".example"
Après avoir rechargé la configuration ou redémarré votre serveur, vous devriez pouvoir accéder à ce fichier et voir s'afficher ce qui a été décrit plus haut.
Directive Example
Description: | Directive de démonstration pour illustrer l'API des modules Apache |
---|---|
Syntaxe: | Example |
Contexte: | configuration du serveur, serveur virtuel, répertoire, .htaccess |
Statut: | Expérimental |
Module: | mod_example_hooks |
La directive Example
n'a pour fonction que
de définir un drapeau de démonstration que le gestionnaire de
contenu du module example_hooks va afficher. Elle ne possède aucun
argument. Si vous naviguez vers une URL à laquelle le gestionnaire
de contenu example_hooks s'applique, vous verrez s'afficher les routines
du module, ainsi que l'ordre dans lequel elles ont été appelées pour
servir le document demandé. On peut observer l'effet de cette
directive dans la phrase "Example
directive declared here: YES/NO
".