10.7. Ajout de modules

Le Serveur HTTP Apache prend en charge les objets partagés dynamiques (ou DSO de l'anglais Dynamically Shared Objects) ou des modules, qui peuvent être chargés facilement lors de l'exploitation selon les besoins.

L'Apache Project fournit en ligne une documentation complète sur les objets partagés dynamiques (DSO) à l'adresse suivante : http://httpd.apache.org/docs-2.0/dso.html. Sinon, si le paquetage http-manual est installé, de la documentation sur DSO se trouve à l'adresse suivante : http://localhost/manual/mod/.

Pour que le Serveur HTTP Apache puisse utiliser un DSO, ce dernier doit être spécifié dans une directive LoadModule du répertoire /etc/httpd/conf/httpd.conf ; si le module est fourni par un paquetage séparé, la ligne doit apparaître dans le fichier de configuration du module dans le répertoire /etc/httpd/conf.d/. Reportez-vous à la Section 10.5.12 pour obtenir de plus amples informations sur la directive LoadModule.

Lors de l'ajout ou de la suppression des modules du fichier http.conf, le Serveur HTTP Apache doit être rechargé et relancé, comme l'explique la Section 10.4.

Lors de la création d'un nouveau module, installez tout d'abord le paquetage httpd-devel car il contient les fichiers à inclure, les fichiers d'en-tête ainsi que l'application Apache eXtenSion (/usr/sbin/apxs), qui utilise les fichiers à inclure et les fichiers d'en-tête pour compiler les DSO.

Après l'écriture d'un module, utilisez la commande /usr/sbin/apxs pour compiler les sources de votre module en dehors de l'arbre source Apache. Pour obtenir de plus amples informations sur l'utilisation de la commande /usr/sbin/apxs, reportez-vous à la documentation Apache fournie en ligne à l'adresse suivante : http://httpd.apache.org/docs-2.0/dso.html ou consultez la page de manuel relative à apxs.

Une fois le module compilé, placez-le dans le répertoire /usr/lib/httpd/. Ajoutez ensuite une ligne LoadModule dans le fichier httpd.conf en suivant la structure suivante :

LoadModule <module-name>
<path/to/module.so>

Dans l'exemple ci-dessus, remplacez <module-name> par le mon du module et <path/to/module.so> par le chemin d'accès au DSO.