Recherche


imprimer pdf Français
Généralités sur les modules Apache et la configuration OVH


Introduction

Apache est un serveur WEB qui propose la possibilité de charger de modules afin d'offrir des fonctionnalités supplémentaires. Un des modules les plus connus est mod_userdir. Il permet que n'importe quel utilisateur UNIX de votre serveur puisse créer son propre espace WEB dans un répertoire spécifié sur son compte.

Ce module est configuré dans le fichier de configuration glocale d'Apache :

<IfModule? mod_userdir.c>
UserDir? www
</IfModule>


Il suffit que l'utilisateur toto créé un répertoire www dans son compte UNIX. Il sera accessible à l'adresse ~~red:http://nsXXXX.ovh.net/~toto/ ceux qui sont compilés "en dur" lors de la compilation d'Apache et ceux qui sont chargés dynamiquement. Si l'option a été activée, Apache permet en effet de charger dynamiquement des modules lors de son lancement. Il s'agit du support DSO (Dynamic Shared Object).

Il suffit alors de disposer du module compilé pour pouvoir le charger lors du démarrage d'Apache en ajoutant une ligne de ce type dans le fichier de configuration global :

LoadModule foo_module libexec/mod_foo.so



La version d'Apache livrée par OVH

Jetons un œil à la version livrée par OVH. Si vous êtes en release 1.46 (cat /etc/ovhrelease pour le vérifier), vous trouverez le fichier utilisé pour compiler la version 1.3.29 d'Apache en tapant la commande :

[root@julien]# more /home/ovh/src/apache_1.3.29/config.status


./configure
"--with-layout=Apache"
"--prefix=/usr/local/apache"
"--activate-module=src/modules/php4/libphp4.a"
"--enable-suexec"
"--suexec-caller=nobody"
"--suexec-userdir=www"
"--suexec-docroot=/home"
"--suexec-logfile=/usr/local/apache/logs/cgi.log"
"--suexec-uidmin=99"
"--suexec-gidmin=99"
"--suexec-safepath=/usr/local/bin:/usr/bin:/bin"
"--enable-module=so"
"--enable-module=rewrite"
"--add-module=src/modules/extra/mod_gzip.c"
"--enable-module=ssl"


Nous voyons par exemple que le module SSL est compilé statiquement dans Apache (
red:--enable-module=ssl--enable-module=so).

Il est possible de lister tous les modules compilés "en dur" dans la version d'Apache livrée par OVH à l'aide de la commande :

[root@julien /]# /usr/local/apache/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_rewrite.c
mod_access.c
mod_auth.c
mod_so.c
mod_setenvif.c
mod_ssl.c
mod_php4.c
mod_gzip.c
suexec: enabled; valid wrapper /usr/local/apache/bin/suexec



Modules DSO

Chaque module est conçu pour être compilé soit statiquement dans Apache, soit pour être chargé dynamiquement (DSO).

Ces modules DSO sont installés dans le répertoire : /usr/local/apache/libexec/

Chaque module est donc compilé (avec ses propres options) puis placé dans ce répertoire sous la forme d'un .so qu'il suffit d'ajouter dans le fichier de configuration d'Apache pour qu'il soit chargé au démarrage de celui-ci.


Liens

http://httpd.apache.org/docs/dso.html: Documentation sur le support des modules DSO.