
                        Documentation d'un Patch Ldap pour daCode

               Pascal Pucci <Pascal@DeeNoo.com>

   Introduction
   ============

    Ce document explique comment utiliser un module ldap pour dacode. Ce module
    Ldap permet une réplication des données des utilisateurs dans un annuaire
    Ldap.
    L'authentification sur un compte mysql et remplacée par une
    authentification dans l'annuaire Ldap.
    Ce patch utilise la librairie (GPL) Php pour Ldap de Eric Kilfoil :
    http://www.ypass.net/php/ldap/  

   Possible utilisation de ce Patch
   ================================

    * Permettre une recherche facilitée des adresses mails et autres
      informations personnels des utilisateurs de daCode par l'intermédiare de
      l'annuaire Ldap.  
    * La gestion de comptes mails ou autres pour un grand
      nombre d'utilisateurs devient très vite problèmatique. Pour en faciliter
      la gestion, on a parfois recourt à des base de données (type Mysql) ou
      même des annuaires (type Ldap) pour contenir les informations de chaque
      utilisateur. Cette annuaire ou base de données permet de centraliser
      toutes les informations nécessaires pour certains services internet
      actuels (accès mail, accès ftp, hébergements ...).
      (Des configurations type daCode/openldap/cyrus/postfix/imp/proftpd ou
      même daCode/openldap/courier-imap/exim/imp/proftpd pourront être
      réalisable avec un seul compte dacode).

   Contradiction de ce Patch
   =========================

    * La réplication : On copie dans une base Ldap les informations d'une table
      Mysql.  
      Dacode utilise la table utilisateurs (users) pour des fonctions diverses
      (commentaires, sessions). Il nous est donc très difficile de faire un
      remplacement mysql par ldap.

    * Pourquoi passer par ldap ? Des solutions Mysql/cyrus/postfix... ou
      Mysql/courier-imap/... sont aussi réalisable.
      Quand il existe un existant avec Ldap, ce patch peut être nécessaire.
      De plus, l'authentification avec Ldap est plus rapide que pour toutes
      bases de données. (Ldap est optimisé pour la recherche).

   Installation
   ============
    
    * Installer Openldap.
    * Copier les nouvelles architectures Ldap pour dacode ainsi que le fichier
     de configuration de la base ldap pour dacode :

        cd daCode
        cp ldap/*conf /etc/openldap

    * Réinitialiser votre base ldap :
    
        /etc/init.d/openldapd restart

    * Créer votre arbre dacode d'origine :

        ldapadd -h localhost -p 389 \
                -D "login=admin,ou=People,dc=dacode,dc=org" \
                -w admin -f dacode.ldif
    
    * Vérifier que le module Ldap pour php est bien installé : php?-ldap.
      Vérifier l'ajout de la ligne "extension=ldap.so" dans votre configuration 
      PHP : php.ini.
    * Relancer Apache : (sous Debian : /etc/init.d/apache restart).
    * Configurer daCode en adaptant le fichier config.php3 (copie de
      config.sample).
    * Après utilisation, vérifier les données dans l'annuaire avec gq ou un
      autre browser Ldap.

    Remarques 
   ============

    * Le champs "passwd" a été remplacé dans l'annuaire par un champs
     "userpassword" plus conforme au RFCs.

    * Si vous voudrez utiliser le modules PAM-LDAP, n'oubliez pas d'ajouter
     dans votre configuration /etc/pam_ldap.conf :

        pam_login_attribute login

    * Penser à modifier les mots de passe d'accès à la base Ldap.
    * Ce patch est sous licence GPL.

Pascal Pucci <Pascal@DeeNoo.com> April 2001
