Module LDAP 11.0.4

Bonjour,

J’ai vu qu’il y avait plein de sujet sur le module LDAP, mais malheureusement tous les messages sont assez anciens et ne correspondent plus forcément avec la nouvelle version, c’est pourquoi je me permet de revenir à la charge.

TL;DR

Je n’arrive pas à me connecter à mon serveur LDAP.

  • dans le fichier htdocs/conf/conf.php, j’ai mis les valeurs utiles à la connexion :
$dolibarr_main_authentication='dolibarr,ldap';
$dolibarr_main_auth_ldap_host='ldaps://ldap.jail.exodus-privacy.eu.org';
$dolibarr_main_auth_ldap_port='636';
$dolibarr_main_auth_ldap_version='3';
$dolibarr_main_auth_ldap_servertype='openldap';
$dolibarr_main_auth_ldap_login_attribute='uid';
$dolibarr_main_auth_ldap_dn='ou=people,dc=exodus-privacy,dc=eu.org';
$dolibarr_main_auth_ldap_admin='cn=admin,dc=exodus-privacy,dc=eu.org';
$dolibarr_main_auth_ldap_admin_pass='monmotdepasse';
$dolibarr_main_auth_ldap_debug='true';```

J'ai mis les mêmes informations dans le module LDAP. Au moment de tester j'ai une erreur :

Connexion TCP au serveur LDAP échouée (Serveur=ldaps://ldap.jail.exodus-privacy.eu.org, Port=636)
Erreur Failed to connect to LDAP```

Il est dit ici : https://wiki.dolibarr.org/index.php/ que l’on trouve dans le fichier htdocs/documents/ldap/tmp le fichier ldapinput.in. Je n’ai pas de répertoire tmp dans ldap. Même en créant ce répertoire, le fichier ldapinput.in n’apparaît pas.

Avec les mêmes informations que celles du fichier de configuration et celle du module, j’ai essayer de faire une requête ldapsearch qui fonctionne parfaitement. Le serveur LDAP est donc joignable depuis la machine qui faire tourner dolibarr.

Je ne trouve pas plus de log, qui soit utile.

Ais-je oublié quelque chose pour avoir des traces plus parlantes ? Me suis-je trompé dans la configuration ?

Je m’avoue un peu perplexe etn enquiquiné par ce problème.

Je suis sûr que la solution est sous mes yeux, mais qu’a force de lire et relire, je ne vois que ce que je veux voir et pas ce qui est écrt. Des paires d’yeux neuf sur le problème trouveraient rapidement ce qui cloche.

Merci donc de m’avoir lu et de me donner un ou deux pointer pour résoudre se problème.

Merci d’avance.
Jacques

Pas de rep ldap/temp non plus ?
Active le module log debug, tu devrais avoir une log dolibarr.log dans le rep document.

Bonjour,

La page du wiki au cas ou : https://wiki.dolibarr.org/index.php/Module_LDAP

Bonjour,

Merci d’avoir répondu.

Nom pas de répertoire ldap/temp non plus.

Normalement le log debug est déjà activé

$dolibarr_main_auth_ldap_debug='true';

Mais je ne trpuve même pas de fichier de log.

A moins que tu parle d’un autre niveau de log (au niveau dolibarr) et là, il faut que je trouve comme l’activer.

Je cherche encore… :slight_smile:

Bonjour,

Merci du lien.

J’ai bien tout suivit comme indiqué dans le wiki mais malheureusement le problème demeure. Je dois bien reconnaître que cela commence à m’agacer.
:slight_smile:

Je reviens,

J’ai activé le module syslog pour avoir des logs :slight_smile:

Malheureusement, la seule chose que je trouve c’est


Le module syslog est en DEBUG donc impossible d'avoir plus de précisions.

Coter serveur LDAP, je ne vois pas de requête passer depuis le serveur Dolibatr.
Pas de firewall qui bloquerait les requêtes, et ```ldapsearch``` avec les mêmes paramètres que le module (url, base, dn, mot de passe) fonctionne très bien.

Je suis perdu

Et peux-tu joindre le log dolibarr.log qui se crée lors de l’erreur ?

Oui bien sûr.

Voilà ce que je trouve au sujet de ce plugin. Ce n’est pas très parlant :frowning:

J’ai juste anonymisé mon IPv6.

2020-06-13 07:46:29 INFO    IPv6 --- Access to /admin/ldap.php - action=test, massaction=
2020-06-13 07:46:29 DEBUG   IPv6 sql=SELECT transkey, transvalue FROM llx_overwrite_trans where lang='fr_FR' OR lang IS NULL AND entity IN (0, 1) ORDER BY lang DESC
2020-06-13 07:46:29 DEBUG   IPv6 sql=SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position FROM llx_menu as m WHERE m.entity IN (0,1) AND m.menu_handler IN ('eldy','all') AND m.usertype IN (0,2) ORDER BY m.position, m.rowid
2020-06-13 07:46:29 WARNING IPv6 Ldap::connect_bind return=-1 - Failed to connect to LDAP
2020-06-13 07:46:29 INFO    IPv6 --- End access to /admin/ldap.php

Comme je ne vois nulle par la requête émise et que contrairement à la doc elle n’est pas mise dans documents/ldap/temp/ ldapinput.in il m’est impossible de la jouer « à la main »

Comme il n’y a pas de connexion au ldap, il n’y a pas de requetes executee donc pas de fichier dans temp.
Comme l’erreur est un pb de connection, il faut regarder dans les param du module ldap si les identifiants d’acces sont bon. Et si oui, regarder ce que disent les logs du serveur ldap.

Rien dans le log du serveur LDAP. Pas de connexion établie.

Les mêmes paramètres copié collé depuis le formulaire du module LDAP vers une commande ldapsearch aboutissent. connexion et retour des enregistrements.

De mon coté, même si cela parait fou, j’ai l’impression que le module n’est pas capable de résoudre l’url du serveur LDAP.

Ce même serveur est utiliser pour un serveur de mail, un serveur de forum, un serveur gitea et fonctionne parfaitement, le problème ne vient pas de là.
La connexion se fait « manuellement » avec ldapssearch ce n’est pas un problème réseau.

Cela pourrait-il être dans le fichier configuration ?

Peut etre un pb de firewall.bQuand la commande manuellenest lancée, l’est elle depuisnlenmeme serveur et meme compte unix que celui avec lequel tourne le serveur web (donc le user www-data probablement) ?

Non, il s’agissait d’un bug dans le module, comme je le l’imaginais. Un copain l’a corrigé envoyé le patch.