J'ai écrit un article sur l'installation d'un serveur OpenLDAP pour être utilisé pour mettre en place un carnet d'adresse partagé, mais aussi pour identifier les utilisateurs apache.
Cet article ne se veut pas complet, mais permet une première approche pour tout ceux qui décident (ou décideront) de baser leur intranet autour d'une base LDAP.
Une remarque:
Je suis pas sur que faire un screenshot avec on numero de telephone perso dessus soit une bonne idée. Enfin, je dis ca, je dis rien :).
> Le champ allow bind_v2 a été ajouté pour compatibilité avec le client e-mail Mozilla.
euh... je trouve ca qd meme assez curieux que mozilla ne supporte pas le protocole v3 de ldap. mozilla ne supporte pas l'utf8?
C'est quoi la raison qui limite mozilla a la v2 (openldap 1.x)?
Sinon pour ceux qui sont interessé par la mise en place d'un annuaire ldap, il y a un article sympathique ds le linux mag de juin (40).
Submitted by: Darek
Wednesday September 25th 2002
Hi. Does Mozilla realy support LDAP v3? My LDAP server (OpenLDAP-2.1.5) writes "requested protocol version not allowed" to log until i configure it to "allow bind_v2". Darek
Submitted by: John Marmion
Tuesday October 1st 2002
Hi Darek, sorry for the delay. Mozilla does support V3. I presumed it was a problem with your OpenLDAP server. Did you try any other LDAP Client to access your server? I use the java LDAP Browser/Editor available here: http://www.iit.edu/~gawojar/ldap(...)
Submitted by: Joe Rhett
Thursday October 17th 2002
John, I have to confirm Darek's notes. Mozilla 1.01 does not connect to the server as an LDAP v3 client. Protocol analyzer has confirmed this.
Submitted by: John Marmion
Tuesday October 22nd 2002
ok guys, thanks for that. My presumption was based on the misconception that OpenLDAP 2 did not truly implement LDAP v3 access. I will confirm your notes. thanks.
hmmm... J'avais mal compris ce qui était marqué.
En fait le problème semble venir du fait que mozilla est bien sensé etre compatible avec la v3 du protocole ldap, mais il ne s'annonce pas en tant que client v3 au moment de la connection.
OpenLdap 2.0 n'y fait pas attention, mais OpenLdap 2.1 le vérifie et le jette...
J'aimerai savoir. lorsque je modifie l'annuaire, comment faire pour que les clients soient avertis ?
Ou plus simplement, si je modifie l'email de stephane dans la base, comment est-ce que les mozilla de tout le monde peuvent savoir que cet email à change ?
J'aimerai savoir. lorsque je modifie l'annuaire, comment faire pour que les clients soient avertis ?
Les clients sont avertis à chaque fois qu'ils font une consultation LDAP, c-à-d normalement à chaque demande ;-)
(à moins que le client ait un système de cache)
LDAP c'est un peu comme une base de données (d'ailleurs le back-end est souvent une base de données : dbm, berkeley db...) : le serveur ne garde pas trace de l'état des clients. Par contre OpenLDAP est paraît-il assez doué pour la réplication, donc tu peux mettre des petits OpenLDAP répliqués sur chaque machine si besoin est.
- qu'en est il réellement des autres clients email (pine ou encore kmail) car le support semble être plus que limité ?
- est 'il possible de stocker d'autres infos que des contacts ? je pense notamment aux bookmarks qui serait également intéressant de centraliser dans ce type d'applis
1. Pour la liste des clients qui ne comporte que ldapbrowser, c'est parce que je préfère donner un outils portable, que Java ne me pose pas tout le temps des problèmes, et que en plus ce n'est pas la partie la plus importante (juste rassurer l'utilisateur qui a peur des lignes de commandes). Mais bon, ça pourra changer...
2. Le champ allow bind_v2 a été ajouté sinon on a le message "requested protocol version not allowed" (bug mozilla)
3. Est-ce que cet annuaire LDAP est compatible avec l'adressbook fournit avec OS X 10.2 ?
La question serait plutot, est-ce que l'addressbook OS X 10.2 supporte le protocol LDAP. Si oui, si c'est un client intelligent, il utilisera le champ email (champ utilisé par tous les carnets d'adresse dignes).
4. J'aimerai savoir. lorsque je modifie l'annuaire, comment faire pour que les clients soient avertis ?
En fait, les clients interrogent tout le temps la base. Pas de cache. Ou alors, le mettre à zéro.
5. Est 'il possible de stocker d'autres infos que des contacts ? je pense notamment aux bookmarks qui serait également intéressant de centraliser dans ce type d'applis
LDAP est une base de donnée orientée lecture, c'est à dire qu'elle optimisée pour les opérations de lecture, recherche. Par contre, elle n'est 'désignée' pour les écritures (lentes). Donc LDAP doit être utilisée dans un contexte lecture (un annuaire). Stocker des bookmarks pourrait être intéressant s'ils étaient partagés, et s'ils n'étaient modifiés que rarement... mais ça pourrait être marrant à implémenter :-)
6. Ca existe en version Windows ? (Pour éviter d'avoir a payer une licence serveur).
Ca ne coute pas moins cher d'acheter un serveur et d'installer linux dessus que d'acheter une licence serveur ? Enfin bon, faut se méfier des outils propriétaires... je me rappelle d'une fois ou je voulais remplacer un serveur LDAP netscape par OpenLDAP. Il fallait modifier les sources pour modifier le header (le serveur LDAP s'annoncait comme un serveur openldap lors de la négociation... normal non ? mais le logiciel en face ne voulait que du netscape...).
Au sujet des bookmarks, effectivement ca pourait être fun, mais ma question est : 'Est ce que les browsers reconnaissent ce genre de chose ? '
Je sais que Netscape + Iplanet supportait ce genre de chose mais je ne sais pas si cela est bien standard
On peut exporter un carnet d'adresse au format LDIF avec Mozilla mais quelqu'un sait il ce qu'il faut faire pour ensuite l'importer sur un serveur OpenLDAP ?
J'ai essayé avec ldapadd mais une erreur se produit dès le premier contact.
Y-a t'il une configuration particulière a effectué pour l'utilisation avec le format LDIF généré par Mozilla/Netscape ?
Pour que ton fichier LDIF soit correctement importé, il y a deux préalables :
- le schéma de l'annuaire doit accepter la structure utilisé
- chaque entrée ne peut être ajouté que sous un "noeud" existant
Par exemple, pour l'entrée avec un DN "cn=nom, ou=service, o=org", il faut que les entrées "o=org" et "ou=service" existent.
Si les DN des entrées exportées par Mozilla (et je viens de le vérifier) ont une forme du type "cn=XXXXXXX,mail=XXX@XXXX", il risque d'y avoir un pb ...
Une petite transformation ne serait peut-être pas superflue ...
En effet, chaque client mail stocke les données selon sa convenance : certains champs sont fixes, comme les champs email, givenName, sn...., mais d'autres sont selon l'application. Il faut donc que le serveur LDAP connaissent les champs que tu utilises (qui sont dans le fichier ldif) pour pouvoir les enregistrer dans la base.
Comment résoudre le problème : pour chaque champ inscrit dans le fichier, vérifier qu'il fait partie des schémas inclus et que les objets utilisés importent ces champs. (par exemple, l'ojet inetOrgPerson importe le champ email, le tout est défini dans le schéma inetOrgPerson.schéma).
Voila
Si j'ai un peu de temps, je ferais peut-être un inventaire des champs utilisés par quelques clients email (mais si j'ai le temps....)
schemacheck = off dans ton slapd.conf. Cela va éviter qu'il vérifie si ta base a le bon schéma mais attention ce n'est pas la bonne solution!! Il vaut mieux que tu regarde si tout tes champs sont bien connus
J'ai eu une erreur de ce genre lorsque que je voulais enregistrer des champs que j'avais moi même créés, la définition était fausse.
Pour la liste des clients qui ne comporte que ldapbrowser, c'est parce que je préfère donner un outils portable, que Java ne me pose pas tout le temps des problèmes, et que en plus ce n'est pas la partie la plus importante (juste rassurer l'utilisateur qui a peur des lignes de commandes). Mais bon, ça pourra changer...
1- Ldapnavigator est une appli web. On fait difficilement mieux comme portabilité (d'un point de vue du poste client). Il suffit de rajouter apache, php et php_ldap sur la machine serveur en question, en sachant qu'ils sont déjà intégrés à presque toutes les distributions.
2- taper des lignes de commande ldap(addmodify|delete), c'est effectivement horrible pour l'administrateur qui fait ça tous les jours.
1. Pour ma part, je trouve ça plus simple d'installer une application, que d'installer apache, php et php_ldap. L'idée est d'installer un serveur ldap, pas un serveur ldap + apache + trucmuche.... (qu'il faut pas la suite administrer, ps : administrer, ce n'est pas seulement editer le fichier de conf, c'est aussi prévoir les sauvegardes, les rapports d'installation....)
2. L'application n'est pas forcément pour les administrateurs qui se doivent de maitriser les outils ligne de commande, certes, mais c'est un peu plus convivial. Rien que de faire une modification de mot de passe par exemple, c'est plus facile avec ldapbrowser que de fabriquer le hash du mot de passe, de faire le fichier ldif qu'il faut, et de lancer la commande... il en faut pour tous les goûts.
A ce sujet, il y a encore tu travail, mais ça peut rendre service : le module "administrer OpenLDAP avec Webmin".
L'URL de leur page web : http://gaia.anet.fr/webmin/openldap/(...)
Il aurait ete plus opportun de parler du module perl
Apache-AuthCookieLDAP qui permet de faire l'authentification sur un serveur
LDAP mais qui evite d'envoyer le login et le mot de passe a chaque
connexion.
Chacun a son interet.
Pour un poste en libre service (sans authentification a la connexion), les cookies sont a proscrire.
Ca serait qd meme interessant d'avoir aussi cette solution ds la doc :).
C'est possible de peupler directement la base LDAP avec le carnet d'adresses de Mozilla ?
Si oui, comment faut t'il configurer la base LDAP pour donner l'accés en écriture ?
Ce serait quand même plus simple que de passer par des outils tiers...
Concernant la possiblité de mettre ses bookmarks dans la base LDAP ça existe déjà, ça s'appelle "Roaming Access" ou "profils itinérants" et ça fonctionne, du moins avec Netscape 4.x. J'ai pas essayé aec mozilla...
# Re: OpenLDAP, addressbook et auth-apache
Posté par anonyme512 . Évalué à 1.
# Re: OpenLDAP, addressbook et auth-apache
Posté par Patrice Fortier . Évalué à 1.
Je suis pas sur que faire un screenshot avec on numero de telephone perso dessus soit une bonne idée. Enfin, je dis ca, je dis rien :).
> Le champ allow bind_v2 a été ajouté pour compatibilité avec le client e-mail Mozilla.
euh... je trouve ca qd meme assez curieux que mozilla ne supporte pas le protocole v3 de ldap. mozilla ne supporte pas l'utf8?
C'est quoi la raison qui limite mozilla a la v2 (openldap 1.x)?
Sinon pour ceux qui sont interessé par la mise en place d'un annuaire ldap, il y a un article sympathique ds le linux mag de juin (40).
[^] # Re: OpenLDAP, addressbook et auth-apache
Posté par nemrod . Évalué à 1.
Submitted by: Darek
Wednesday September 25th 2002
Hi. Does Mozilla realy support LDAP v3? My LDAP server (OpenLDAP-2.1.5) writes "requested protocol version not allowed" to log until i configure it to "allow bind_v2". Darek
Submitted by: John Marmion
Tuesday October 1st 2002
Hi Darek, sorry for the delay. Mozilla does support V3. I presumed it was a problem with your OpenLDAP server. Did you try any other LDAP Client to access your server? I use the java LDAP Browser/Editor available here:
http://www.iit.edu/~gawojar/ldap(...)
Submitted by: Joe Rhett
Thursday October 17th 2002
John, I have to confirm Darek's notes. Mozilla 1.01 does not connect to the server as an LDAP v3 client. Protocol analyzer has confirmed this.
Submitted by: John Marmion
Tuesday October 22nd 2002
ok guys, thanks for that. My presumption was based on the misconception that OpenLDAP 2 did not truly implement LDAP v3 access. I will confirm your notes. thanks.
[^] # Re: OpenLDAP, addressbook et auth-apache
Posté par Patrice Fortier . Évalué à 1.
Je n'ai pas de bind_v2 ds mon fichier de conf.
Le probleme doit venir de OpenLdap 2.1.x
Par contre je ne connais pas les differences entre les 2.0 et 2.1...
[^] # Re: OpenLDAP, addressbook et auth-apache
Posté par Patrice Fortier . Évalué à 1.
En fait le problème semble venir du fait que mozilla est bien sensé etre compatible avec la v3 du protocole ldap, mais il ne s'annonce pas en tant que client v3 au moment de la connection.
OpenLdap 2.0 n'y fait pas attention, mais OpenLdap 2.1 le vérifie et le jette...
# Re: OpenLDAP, addressbook et auth-apache
Posté par analogue o/ (site web personnel) . Évalué à 1.
Est-ce que cet annuaire LDAP est compatible avec l'adressbook fournit avec OS X 10.2 ?
Si qqu'un peut me confirmer ca =)
[^] # Oui.
Posté par Ned Baldessin . Évalué à 1.
Au besoin, Apple Mail est aussi compatible : http://docs.info.apple.com/article.html?artnum=61448&SaveKCWind(...)|157089819
Ce que Google est à Linux, http://www.info.apple.com(...) est au Mac !
# Re: OpenLDAP, addressbook et auth-apache
Posté par Stéphane List (site web personnel) . Évalué à 1.
J'aimerai savoir. lorsque je modifie l'annuaire, comment faire pour que les clients soient avertis ?
Ou plus simplement, si je modifie l'email de stephane dans la base, comment est-ce que les mozilla de tout le monde peuvent savoir que cet email à change ?
[^] # Re: OpenLDAP, addressbook et auth-apache
Posté par Moby-Dik . Évalué à 1.
Les clients sont avertis à chaque fois qu'ils font une consultation LDAP, c-à-d normalement à chaque demande ;-)
(à moins que le client ait un système de cache)
LDAP c'est un peu comme une base de données (d'ailleurs le back-end est souvent une base de données : dbm, berkeley db...) : le serveur ne garde pas trace de l'état des clients. Par contre OpenLDAP est paraît-il assez doué pour la réplication, donc tu peux mettre des petits OpenLDAP répliqués sur chaque machine si besoin est.
# Quelques questions
Posté par Jérome K . Évalué à 1.
- est 'il possible de stocker d'autres infos que des contacts ? je pense notamment aux bookmarks qui serait également intéressant de centraliser dans ce type d'applis
[^] # Pour ce qui est des bookmarks, ...
Posté par jmfayard . Évalué à 1.
et je trouve celà très pratique
# OpenLDAP, c'est la version libre de l'Active Directory, de Microsoft ?
Posté par Leauto . Évalué à 1.
Ca existe en version Windows ? (Pour éviter d'avoir a payer une licence serveur).
[^] # Re: OpenLDAP, c'est la version libre de l'Active Directory, de Microsoft ?
Posté par Babelouest (site web personnel) . Évalué à 1.
Non, OpenLDAP c'est une implémentation libre du protocole LDAP
Active Directory lui aussi implémente le protocole LDAP mais ne va pas croire que l'un a copié sur l'autre.
</mode>
Apparemment OpenLDAP n'est pas disponible sous windows, en tout cas sur le site ils n'en font pas mention.
[^] # Re: OpenLDAP, c'est la version libre de l'Active Directory, de Microsoft ?
Posté par Moby-Dik . Évalué à 1.
http://www.fivesight.com/downloads/openldap.asp(...)
C'est une version relativement récente (suffisamment pour faire du LDAP v3)
# Des précisions
Posté par Matthieu . Évalué à 1.
2. Le champ allow bind_v2 a été ajouté sinon on a le message "requested protocol version not allowed" (bug mozilla)
3. Est-ce que cet annuaire LDAP est compatible avec l'adressbook fournit avec OS X 10.2 ?
La question serait plutot, est-ce que l'addressbook OS X 10.2 supporte le protocol LDAP. Si oui, si c'est un client intelligent, il utilisera le champ email (champ utilisé par tous les carnets d'adresse dignes).
4. J'aimerai savoir. lorsque je modifie l'annuaire, comment faire pour que les clients soient avertis ?
En fait, les clients interrogent tout le temps la base. Pas de cache. Ou alors, le mettre à zéro.
5. Est 'il possible de stocker d'autres infos que des contacts ? je pense notamment aux bookmarks qui serait également intéressant de centraliser dans ce type d'applis
LDAP est une base de donnée orientée lecture, c'est à dire qu'elle optimisée pour les opérations de lecture, recherche. Par contre, elle n'est 'désignée' pour les écritures (lentes). Donc LDAP doit être utilisée dans un contexte lecture (un annuaire). Stocker des bookmarks pourrait être intéressant s'ils étaient partagés, et s'ils n'étaient modifiés que rarement... mais ça pourrait être marrant à implémenter :-)
6. Ca existe en version Windows ? (Pour éviter d'avoir a payer une licence serveur).
Ca ne coute pas moins cher d'acheter un serveur et d'installer linux dessus que d'acheter une licence serveur ? Enfin bon, faut se méfier des outils propriétaires... je me rappelle d'une fois ou je voulais remplacer un serveur LDAP netscape par OpenLDAP. Il fallait modifier les sources pour modifier le header (le serveur LDAP s'annoncait comme un serveur openldap lors de la négociation... normal non ? mais le logiciel en face ne voulait que du netscape...).
[^] # Re: Des précisions
Posté par Jérome K . Évalué à 1.
Je sais que Netscape + Iplanet supportait ce genre de chose mais je ne sais pas si cela est bien standard
[^] # OpenLDAP et Mozilla
Posté par fcoiffier . Évalué à 1.
J'ai essayé avec ldapadd mais une erreur se produit dès le premier contact.
Y-a t'il une configuration particulière a effectué pour l'utilisation avec le format LDIF généré par Mozilla/Netscape ?
[^] # Re: OpenLDAP et Mozilla
Posté par Moby-Dik . Évalué à 1.
[^] # Re: OpenLDAP et Mozilla
Posté par fcoiffier . Évalué à 1.
adding new entry "cn=XXXXXXX,mail=XXX@XXXX"
ldapadd: update failed: cn=XXXXXXX,mail=XXX@XXXX
ldap_add: No such object (32)
[^] # Re: OpenLDAP et Mozilla
Posté par Benoît Bailleux (Mastodon) . Évalué à 1.
- le schéma de l'annuaire doit accepter la structure utilisé
- chaque entrée ne peut être ajouté que sous un "noeud" existant
Par exemple, pour l'entrée avec un DN "cn=nom, ou=service, o=org", il faut que les entrées "o=org" et "ou=service" existent.
Si les DN des entrées exportées par Mozilla (et je viens de le vérifier) ont une forme du type "cn=XXXXXXX,mail=XXX@XXXX", il risque d'y avoir un pb ...
Une petite transformation ne serait peut-être pas superflue ...
[^] # Re: OpenLDAP et Mozilla
Posté par Matthieu . Évalué à 1.
En effet, chaque client mail stocke les données selon sa convenance : certains champs sont fixes, comme les champs email, givenName, sn...., mais d'autres sont selon l'application. Il faut donc que le serveur LDAP connaissent les champs que tu utilises (qui sont dans le fichier ldif) pour pouvoir les enregistrer dans la base.
Comment résoudre le problème : pour chaque champ inscrit dans le fichier, vérifier qu'il fait partie des schémas inclus et que les objets utilisés importent ces champs. (par exemple, l'ojet inetOrgPerson importe le champ email, le tout est défini dans le schéma inetOrgPerson.schéma).
Voila
Si j'ai un peu de temps, je ferais peut-être un inventaire des champs utilisés par quelques clients email (mais si j'ai le temps....)
[^] # Re: OpenLDAP et Mozilla
Posté par fcoiffier . Évalué à 1.
http://bugzilla.mozilla.org/show_bug.cgi?id=116692(...)
Des pré-versions sont en pièces jointes (la v0.6 date de la semaine dernière).
[^] # Re: OpenLDAP et Mozilla
Posté par Matthieu . Évalué à 1.
Format LDAP d'une entrée dans le carnet d'adresse de Mozilla :
http://blink.homelinux.org/article/mozilla-card-ldap.html(...)
[^] # Re: OpenLDAP et Mozilla
Posté par fabrice Mercier . Évalué à 1.
J'ai eu une erreur de ce genre lorsque que je voulais enregistrer des champs que j'avais moi même créés, la définition était fausse.
Tient au fait pour compléter l'article je pose aussi mon projet :-) :http://xeberon.net/view.php?id=92&page=0(...)
[^] # Re: Des précisions
Posté par anonyme512 . Évalué à 1.
1- Ldapnavigator est une appli web. On fait difficilement mieux comme portabilité (d'un point de vue du poste client). Il suffit de rajouter apache, php et php_ldap sur la machine serveur en question, en sachant qu'ils sont déjà intégrés à presque toutes les distributions.
2- taper des lignes de commande ldap(addmodify|delete), c'est effectivement horrible pour l'administrateur qui fait ça tous les jours.
[^] # Re: Des précisions
Posté par Matthieu . Évalué à 1.
2. L'application n'est pas forcément pour les administrateurs qui se doivent de maitriser les outils ligne de commande, certes, mais c'est un peu plus convivial. Rien que de faire une modification de mot de passe par exemple, c'est plus facile avec ldapbrowser que de fabriquer le hash du mot de passe, de faire le fichier ldif qu'il faut, et de lancer la commande... il en faut pour tous les goûts.
[^] # Re: Des précisions
Posté par Benoît Bailleux (Mastodon) . Évalué à 1.
L'URL de leur page web : http://gaia.anet.fr/webmin/openldap/(...)
# Re: OpenLDAP, addressbook et auth-apache
Posté par Doutreleau Eric . Évalué à 1.
Apache-AuthCookieLDAP qui permet de faire l'authentification sur un serveur
LDAP mais qui evite d'envoyer le login et le mot de passe a chaque
connexion.
[^] # Re: OpenLDAP, addressbook et auth-apache
Posté par Patrice Fortier . Évalué à 1.
Pour un poste en libre service (sans authentification a la connexion), les cookies sont a proscrire.
Ca serait qd meme interessant d'avoir aussi cette solution ds la doc :).
# Re: OpenLDAP, addressbook et auth-apache
Posté par Christophe Merlet (site web personnel) . Évalué à 1.
Si oui, comment faut t'il configurer la base LDAP pour donner l'accés en écriture ?
Ce serait quand même plus simple que de passer par des outils tiers...
Concernant la possiblité de mettre ses bookmarks dans la base LDAP ça existe déjà, ça s'appelle "Roaming Access" ou "profils itinérants" et ça fonctionne, du moins avec Netscape 4.x. J'ai pas essayé aec mozilla...
[^] # Re: OpenLDAP, addressbook et auth-apache
Posté par nemrod . Évalué à 1.
cf http://www.mozilla.org/start/1.0/faq/profile.html#7.7(...)
Par contre comme "sous" projet mozilla il y a celui là qui est en lien avec ldap http://www.mozilla.org/directory/(...)
Mais bon au vu de cela http://ftp.mozilla.org/pub/mozilla/l10n/glossaries/fr-usgloss47.txt(...)
(chercher roaming) cela risque d'être mis en place.
Voili, voilo.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.