Modules additionnels

mod_dav

Qu'est-ce que mod_dav ?

Extrait du site www.webdav.org

mod_dav est un module pour Apache qui le dote des fonctionnalités DAV (RFC 2518). C'est module Open Source diffusé sous licence Apache.

Du point de vue des auteurs:

DAV signifie: "Distributed authoring and Versioning" Il permet de gérer un site web comme un système de fichiers. Il peut donc remplacer les mises à jours par FTP.

DAV est supporté par les principaux outils de développement Web (récents) et est en passe de devenir un standard de publication Web

Compilation et installation


cd /usr/local

tar -xvzf mod_dav-1.0.3-1.3.6.tar.gz
cd mod_dav-1.0.3-1.3.6

./configure --with-apxs=/usr/local/apache/bin/apxs

make
make install

N.B.: le nom de fichier mod_dav-1.0.3-1.3.6 signifie que mod_dav ne fonctionne qu'avec les versions d'Apache 1.3.6 ou suivantes

auth_ldap

Qu'est-ce qu'auth_ldap ?

Extrait du site www.rudedog.org

auth_ldap est un module d'authentification LDAP pour Apache, le plus populaire des serveurs Web. Les perfomances de auth_ldap sont excellentes et le module supporte Apache sur Unix ou Windows NT. Ce module supporte également LDAPS (LDAP sur SSL), et un mode qui permet aux clients Micros˜1 Frontpage de gérer les permissions Web tandis que les authentifications sont basées sur LDAP.

Du point de vue des auteurs:

Si vous souhaitez mutualiser vos infrastructures d'authentification sur une base login/mot de passe unique, LDAP est la solution. LDAP est un standard ouvert largement supporté.

LDAP pour s'authentifier:

Au login sous Linux, Solaris (et d'autres?), FTP (certains serveurs), http Basic Authentication Tarantella Authentication Role-Management Authentification Samba, d'autres que j'oublie :-) LDAP est basé sur des rôles, ce qui signifie que vous pouvez définir un rôle "manager", l'assigner à un utilisateur qui aura tous les droits qui seront attribués au manager

Compilation et installation


cd /usr/local

tar -xvzf auth_ldap-1.6.0.tar.gz

cd auth_ldap-1.6.0

./configure --with-apxs=/usr/local/apache/bin/apxs \
--with-sdk=openldap

make
make install

mod_auth_mysql

Qu'est-ce que mod_auth_mysql ?

Il s'agit d'un module d'authentification de type http-Basic. Il permet de gérer la base d'utilisateur dans une base de donnée MySQL

Compilation et installation


gunzip mod_auth_mysql.c.gz

/usr/local/apache/bin/apxs \
-c -I/usr/local/mysql/include \
-L/usr/local/mysql/lib/mysql \
-lmysqlclient -lm mod_auth_mysql.c

cp mod_auth_mysql.so /usr/local/apache/libexec/

Ajoutez cette ligne dans votre fichier httpd.conf:

LoadModule mysql_auth_module libexec/mod_auth_mysql.so

ainsi que celle-ci dans la partie d'ajout des modules:

AddModule mod_auth_mysql.c

Prenez garde que les chemins des librairies et des fichiers include de Mysql soient corrects!

NB: Assurez-vous que /usr/local/mysql/lib/mysql est dans /etc/ld.so.conf avant la compilation

Utilisez AuthMySQLCryptedPasswords Off sinon cela ne fonctionnera pas! (analyse du problème en cours)

Exemple de configuration

/usr/local/apache/conf/httpd.conf


<location /manual/>
  AuthType Basic
  AuthUserfile /dev/null
  AuthName Testing
  AuthGroupFile /dev/null
  AuthMySQLHost localhost
  AuthMySQLCryptedPasswords Off
  AuthMySQLUser root
  AuthMySQLDB users
  AuthMySQLUserTable user_info
  <Limit GET POST>
    require valid-user
  </limit>
</location>

Script pour créer la base de données MySQL

Tapez simplement:


mysql < authmysql.sql

Le fichier authmysql.sql contient:


  create database http_users;
  connect http_users;

  CREATE TABLE user_info (
  user_name CHAR(30) NOT NULL,
  user_passwd CHAR(20) NOT NULL,
  user_group CHAR(10),
  PRIMARY KEY (user_name);

mod_dynvhost

Qu'est-ce que mod_dynvhost ?

C'est un petit module qui permet de définir de nouveaux Virtual Host "à la volée" simplement en créant un nouveau répertoire dans le répertoire des virtual host. Le redémarrage du serveur Web n'est pas nécessaire.

Cela peut être utile dans le cas d'ISP ou d'hébergeurs importants

Compilation et installation


cd /usr/local

tar -xvzf mod_dynvhost.tar.gz

cd dynvhost/

/usr/local/apache/bin/apxs -i -a -c mod_dynvhost.c

N.B.: Vérifiez dans httpd.conf si mod_dynvhost.so est chargé au démarrage:


LoadModule dynvhost_module libexec/mod_dynvhost.so

Exemple de configuration

/usr/local/apache/conf/httpd.conf


<DynamicVirtualHost /usr/local/apache/htdocs/vhosts/> 
  HomeDir / 
</DynamicVirtualHost>

Il ne reste plus qu'à créer un répertoire pour chaque Virtual host dans /usr/local/apache/htdocs/vhosts/

exemple

/usr/local/apache/htdocs/vhosts/foo.bar.org

Le redémarrage du serveur Web n'est pas nécessaire

mod_roaming

Qu'est-ce que mod_roaming ?

Extrait du site www.klomp.org/mod_roaming/

Avec mod_roaming, vous pouvez utiliser votre serveur Apache comme un Netscape Roaming Access server. Cela permet de stocker la configuration, les préférés, les carnets d'adresses, les coockies, etc, de Netscape Communicator sur un serveur et ainsi d'utiliser toujours les même paramètres, où qu'on se trouve.

Du point de vue des auteurs:

C'est vrai un truc génial! Hélas, cela ne fonctionne pas au travers de serveur proxy. Cela permet d'utiliser différentes machines avec les mêmes paramètres.

Compilation et installation


cd /usr/local 

tar -xvzf mod_roaming-1.0.2.tar.gz

cd mod_roaming-1.0.2

/usr/local/apache/bin/apxs -i -a -c mod_roaming.c

N.B.: Vérifier dans httpd.conf si mod_roaming est chargé au démarrage:


LoadModule roaming_module libexec/mod_roaming.so

Devrait être installé automatiquement (pour peu qu'on utilise Netscape sur un réseau local)

Exemple de configuration

/usr/local/apache/conf/httpd.conf


RoamingAlias /roaming /usr/local/apache/roaming
<Directory /usr/local/apache/roaming>
  AuthUserFile /usr/local/apache/conf/roaming-htpasswd
  AuthType Basic
  AuthName "Roaming Access"
  <Limit GET PUT MOVE DELETE>
    require valid-user
  </Limit>
</Directory>