Bon pour Postifx, je ne peux pas trop t'aider (il y a plein de tutos sur le Web) puisque je suis parti sur le pack complêt de courier-mta qui comporte un serveur esmtp.
Déjà, il faut connaître ta version de courier, parce que le système d'authentification (authdaemond) n'est plus lié directement à courier, mais est autonome dans les dernières versions. Il faut aussi que ton courier soit compilé avec les flags ldap activés.
Ensuite, pour courier-imap, tout se joue a niveau de deux fichiers : authdaemonrc et authldaprc. Dans authdaemonrc, il faut juste indiquer que tu utilises ldap comme système d'authentification (en supprimant ou non les autres suivant si tu veux ldap comme unique point d'entrée des utilisateurs ou pas).
Les deux paramètres sont
authmodulelist="authldap"
authmodulelistorig="authldap"
Ensuite, pour configurer l'authentification via ldap, ça se fait dans authldaprc.
Petit détail, il ne faut aucun espace en début de ligne devant les mots clés, sinon ils ne sont pas pris en compte et ça génère des erreurs incompréhensibles par rapport à ce qu'on pense exact de la conf.
Rapport à PROTOCOL VERSION, c'est 3 ou 2 suivant ta version... ATTENTION, la version de protocole n'a rien à voir avec la version d'OpenLDAP si c'est ce que tu utilises ! OpenLDAP 2.x.x est capable de parler en LDAP v3, c'est un paramètre dans les fichiers de conf.
LDAP_URI ldap://ldap.mon.serveur
LDAP_PROTOCOL_VERSION 3
LDAP_BASEDN dc=ton,dc=dn,dc=debase,dc=ldap
ensuite, tu peux authentifier les utilisateurs de deux façons différentes : soit en te connectant à ton anuaire (en faisant un bind, donc) en superutilisateur LDAP et en piochant les informations d'identité et de mot de passe et en laissant courier se débrouiller, soit en faisant un bind avec l'utilisateur directement et c'est le résultat du bind qui valide ou non l'authentification. La première solution est a priori plus rapide en terme de perfs, mais moins sécurisée (le mot de passe est en clair dans le fichier de conf, les mots de passes, s'ils sont en clair dans la base, transitent en clair entre les serveurs/les services) et ne supporte pas l'encryptage SSHA et CRAM-MD5. Perso, j'ai préféré utiliser la seconde methode (d'autant que mes mots de passes sont en SSHA).
Première façon :
LDAP_BINDDN cn=superutilisateur,dc=lyon,dc=iufm,dc=frdc=ton,dc=dn,dc=debase,dc=ldap
LDAP_BINDPW motDePAsseEnClair
Seconde façon :
LDAP_AUTHBIND 1
Le paramètre suivant permet de savoir quelle information d'identification va être utilisé pour la recherche. Chez nous, c'est très particulier, on a le droit d'avoir plusieurs UIDs (qui fonctionnent comme des alias d'authentification). Donc l'utilisateur, pour s'identifier, rentre son email plutôt que son UID. Courier-IMAP est intelligent, puisqu'il fait une recherche de DN à partir de l'attribut renseigné et qu'il authentifie après avec le DN trouvé et le mot de passe saisi.
Habituellement, ches "les gens normaux" les adresses sont de types uid@mondomaine.com, ce qui fait qu'on s'authentifie avec comme attribut uid et courier utilise l'info LDAP_DOMAIN pour ajouter @mondomaine.com
LDAP_MAIL mail
Valeur du timeout de requête... la valeur par défaut est très bien :
LDAP_TIMEOUT 5
Valeur qui permet de mettre un filtre LDAP pour filtrer (

) les comptes. On peut mettre par exemple un filtre par objectClass. (Par exemple, dans mon schema, il y a une objectClass qui donne s'appelle monEntrepriseEMailUsage. Les utilisateurs qui l'ont ont droit à utiliser la messagerie, les autres non). Ce paramètre est optionnel si tout membre de la base a accès à la messagerie.
LDAP_FILTER (objectClass=monEntrepriseEMailUsage)
Dans le cas où on ne s'authentifie pas avec une adresse de messagerie user@domaine, on indique à courier d'ajouter ça pour générer l'adresse de messagerie.
Ne pas renseigner si on s'authentifie avec une adresse de messagerie, sinon on va avoir user@domaine.com@domaine.com
LDAP_DOMAIN example.com
Dans le cas où les utilisateurs n'existent pas au niveau Unix, on a deux possibiltiés : les faire exister en définissant avec PAM une règle comme quoi l'authentification UNIX sur le pop, et l'imap se fait avec l'annuaire LDAP, ou utiliser un utilisateur de messagerie virtuel qui va stocker tous les comptes. Ce compte doit exister et avoir un uid/un gid non null (pas root). Dans le cas d'une compilation de Courier-IMAP from scratch, c'est le compte qui fait le ./configure et le make
LDAP_GLOB_UID courier
LDAP_GLOB_GID courier
Ici, on indique dans quel attribut LDAP se trouve l'information de homeDirectory de l'utilisateur. C'est à cet endroit que sur le serveur seront stockés les maildirs.
LDAP_HOMEDIR homeDirectory
Si on ne veut pas que les maildirs se trouvent vraiment dans /home/user on peut ajouter un chemin préfixant qui permet de ne pas mettre des emails dans un ~ (ce qui n'est pas propre, mais ce qu'on a fait ^^). Attention, il faut que les utilisateurs (ou le compte virtuel) ait un accès de type rw dans ces dossiers, donc c'est à vérifier.
LDAP_MAILROOT /var/mail
Le paramètre suivant permet de donner l'attribut LDAP qui retourne le dossier dans lequel la mailbox sera stockée. S'il n'est pas renseigné, par défaut, ça sera ./Maildir. Chez nous, on ne l'a pas renseigné, ce qui fait que les boites aux lettres sont dans /home/user/Maildir
LDAP_MAILDIR mailbox
Si tu as installé Courier aussi comme smtp, cet attribut permet de mettre en place des redirections. Non utilisé pour l'instant chez nous, fonctionnement non testé.
LDAP_DEFAULTDELIVERY defaultDelivery
Indique quel dans attribut LDAP se trouve l'information de quota.
LDAP_MAILDIRQUOTA quota
Indique dans quel attribut LDAP se trouve le "gecos" (Données d'affichage de la personne...)
LDAP_FULLNAME displayName
Indique dans quel(s) attribut(s) sont stockés les mots de passe (utilisé uniquement dans l'authentification de type 1 avec le superutilisateur LDAP). On peut n'utiliser qu'un seul des champs en fonction du type de stockage des mots de passe utilisé
LDAP_CLEARPW clearPassword
LDAP_CRYPTPW userPassword
Dans le cas où les utilisateurs existent au niveau UNIX, et où on n'utilise pas de compte virtuel, on indique ici les champs qui contiennent l'uid et le gid de l'utilisateur.
LDAP_UID uidNumber
LDAP_GID gidNumber
Les autres paramètres ne doivent normalement pas être changés... La section LDAP_EMAILMAP_ (normalement commentée) sert lorsqu'on a deux annuaires, l'un avec les infos d'utilisateurs, l'autre avec les infos de messagerie.
Bon courage
