
                        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 rplication des donnes des utilisateurs dans un annuaire
    Ldap.
    L'authentification sur un compte mysql et remplace 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 facilite des adresses mails et autres
      informations personnels des utilisateurs de daCode par l'intermdiare de
      l'annuaire Ldap.  
    * La gestion de comptes mails ou autres pour un grand
      nombre d'utilisateurs devient trs vite problmatique. Pour en faciliter
      la gestion, on a parfois recourt  des base de donnes (type Mysql) ou
      mme des annuaires (type Ldap) pour contenir les informations de chaque
      utilisateur. Cette annuaire ou base de donnes permet de centraliser
      toutes les informations ncessaires pour certains services internet
      actuels (accs mail, accs ftp, hbergements ...).
      (Des configurations type daCode/openldap/cyrus/postfix/imp/proftpd ou
      mme daCode/openldap/courier-imap/exim/imp/proftpd pourront tre
      ralisable avec un seul compte dacode).

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

    * La rplication : 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 trs difficile de faire un
      remplacement mysql par ldap.

    * Pourquoi passer par ldap ? Des solutions Mysql/cyrus/postfix... ou
      Mysql/courier-imap/... sont aussi ralisable.
      Quand il existe un existant avec Ldap, ce patch peut tre ncessaire.
      De plus, l'authentification avec Ldap est plus rapide que pour toutes
      bases de donnes. (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

    * Rinitialiser votre base ldap :
    
        /etc/init.d/openldapd restart

    * Crer votre arbre dacode d'origine :

        ldapadd -h localhost -p 389 \
                -D "login=admin,ou=People,dc=dacode,dc=org" \
                -w admin -f dacode.ldif
    
    * Vrifier que le module Ldap pour php est bien install : php?-ldap.
      Vrifier 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).
    * Aprs utilisation, vrifier les donnes 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'accs  la base Ldap.
    * Ce patch est sous licence GPL.

Pascal Pucci <Pascal@DeeNoo.com> April 2001
