10.7. Ajout de modules

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

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

Pour que le Serveur HTTP Apache puisse utiliser un DSO, il 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 au sein du fichier de configuration des modules dans le répertoire /etc/httpd/conf.d/. Reportez-vous à la Section 10.5.12 pour obtenir de plus amples informations sur le sujet.

Lors de l'ajout ou de la suppression de modules du fichier http.conf, le Serveur HTTP Apache doit être rechargé ou 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 qui contient les fichiers à inclure (include files), les fichiers d'en-têtes ainsi que l'application Apache eXtenSion (/usr/sbin/apxs), qui utilise les fichiers à inclure et les fichiers d'en-têtes pour compiler les DSO.

Après l'écriture d'un module, utilisez /usr/sbin/apxs pour compiler les sources de votre module en dehors de l'arborescence source d'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 et à la page de manuel de 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 ci-dessous :

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

<module-name> correspond au nom du module et <path/to/module.so> au chemin d'accès vers le DSO.