Ajout de modules au serveur

Du fait qu'Apache 1.3 prend en charge les DSO (Dynamic Shared Objects, objets partagés dynamiques), vous pouvez aisément charger des modules Apache ou compiler vos propres modules pour Red Hat Linux Secure Server. La prise en charge de DSO signifie que des modules peuvent désormais être chargés en cours d'exploitation. Du fait que les modules ne sont chargés que lorsque c'est nécessaire et n'utilisent la mémoire que s'ils sont chargés, ils occupent globalement moins d'espace mémoire. Le groupe Apache fournit une documentation complète sur les DSO à l'adresse http://www.apache.org/docs/dso.html. Une fois votre serveur installé, vous pouvez également consulter le site http://votre_domaine/manual/mod/ qui contient une documentation sur les modules Apache au format HTML. Une description sommaire du mode de chargement des modules figure ci-après; pour plus de détails, reportez-vous aux URL fournies.

Pour que Red Hat Linux Secure Server utilise un module partagé de façon dynamique, celui-ci doit comprendre une ligne LoadModule et une ligne AddModule dans httpd.conf. Par défaut, de nombreux modules comprennent déjà ces deux lignes dans httpd.conf ; toutefois, seuls quelques-uns des modules les moins souvent utilisés sont commentés. Les modules commentés ont été inclus durant la compilation, mais ne sont pas chargés par défaut.

Si vous devez utiliser l'un de ces modules non chargés, reportez-vous au fichier httpd.conf pour voir tous les modules disponibles. A chaque module disponible correspond une ligne LoadModule. Par exemple, la section LoadModule commence par ces sept lignes :

#LoadModule mmap_static_module modules/mod_mmap_static.so
LoadModule env_module modules/mod_env.so
#LoadModule define_module modules/mod_define.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
	

La plupart des lignes ne sont pas commentées, ce qui indique que le module qui y est associé a été compilé et est chargé par défaut. La première ligne est commentée, ce qui signifie que le module correspondant (mmap_static_module) a été compilé mais non chargé.

Pour faire en sorte que Red Hat Linux Secure Server charge un module non chargé, commencez par supprimer le commentaire de la ligne LoadModule correspondante. Par exemple, si vous voulez faire en sorte que Red Hat Linux Secure Server charge mime_magic_module, modifiez cette ligne LoadModule par rapport à l'original :

#LoadModule mime_magic_module modules/mod_mime_magic.so
	

Supprimez le commentaire de la ligne ci-dessus, de manière à ce qu'elle se présente comme suit :

LoadModule mime_magic_module modules/mod_mime_magic.so
	

Supprimez ensuite le commentaire de la ligne correspondante dans la section AddModule du fichier httpd.conf. Pour continuer avec l'exemple précédent, supprimez le commentaire de la ligne mod_mime_magic. La ligne originale (par défaut) ressemble à ceci :

#AddModule mod_mime_magic.c
	

La ligne sans commentaire devrait ressembler à ceci :

AddModule mod_mime_magic.c
	

Après avoir supprimé le commentaire des lignes LoadModule et AddModule pour le module que vous voulez charger, arrêtez, puis démarrez votre serveur Web, comme expliqué à la la section intitulée Démarrage et arrêt de votre serveur dans Chapitre 3. Après le démarrage, le module doit se charger dans Red Hat Linux Secure Server.

Si vous avez votre propre module, vous pouvez l'ajouter au fichier httpd.conf, de manière à ce qu'il soit compilé et chargé comme un DSO. Si vous voulez procéder de la sorte, installez le paquetage apache-devel compris dans le système d'exploitation Red Hat Linux, comme expliqué à la la section intitulée Installation de Red Hat Linux Secure Server dans Chapitre 2. Vous avez besoin du paquetage apache-devel parce qu'il installe les fichiers à inclure, les fichiers d'en-tête et l'outil de support APache eXtenSion (APXS). APXS utilise les fichiers à inclure et les fichiers d'en-tête pour compiler votre module de manière à ce qu'il fonctionne avec Apache. Si vous vous disposez à compiler des applications compatibles SSL, vous devez installer le paquetage openssl-devel en plus du paquetage apache-devel.

Si vous avez écrit votre propre module ou si vous empruntez celui de quelqu'un d'autre, vous devez être en mesure d'utiliser APXS pour compiler vos sources de module en dehors de l'arbre source Apache, sans devoir insérer de balises de compilateur et/ou d'éditeur de liens. Pour plus d'informations sur APXS, reportez-vous à la documentation sur Apache à l'adresse http://www.apache.org/docs/dso.html.

Après avoir compilé votre module à l'aide d'APXS, placez-le dans /usr/lib/apache. Votre module a ensuite besoin d'une ligne LoadModule et d'une ligne AddModule dans le fichier httpd.conf, comme décrit précédemment pour les propres modules d' Apache. Après la section LoadModule, à la fin de la section Additional modules, not included by default: du fichier httpd.conf, ajoutez une ligne pour le fichier objet partagé pour votre module, telle que :

LoadModule module_truc 	modules/mod_truc.so
	

Vous devez modifier le nom du module et celui de votre fichier objet partagé de manière appropriée.

A la fin de la section Additional Modules, après la section AddModule du fichier httpd.conf, ajoutez une ligne pour le fichier de code source pour votre module comme suit :

AddModule mod_truc.c
	

Vous devez modifier le nom du fichier de code source de façon appropriée.

Une fois les étapes précédentes accomplies, arrêtez et démarrez votre serveur Web en procédant de la manière décrite à la la section intitulée Démarrage et arrêt de votre serveur dans Chapitre 3. Si vous avez tout fait correctement et si votre module est codé correctement, votre serveur Web doit trouver le module et le charger au démarrage.

Module mod_ssl Security

Le module de sécurité mod_ssl de Red Hat Linux Secure Server est fourni comme un DSO. Ceci signifie que le serveur Web Apache peut être recompilé par les utilisateurs. Suivez les instructions pour la création de mod_ssl dans Apache incluses dans la documentation mod_ssl.

NoteRemarque
 

Red Hat ne peut pas prendre en charge des versions recompilées du serveur Web Apache. L'installation de la version livrée est prise en charge, mais si vous recompilez Apache, vous serez livré à vous-même. Ne recompilez pas Apache si vous n'êtes pas absolument certain de savoir ce que vous faites.