Hello,
i use ejabberd-2.0.1. I works good for me, as long as i use {auth_method, internal}.
But i realy like to use Active Directory for authentication.
When i try this, my config for LDAP looks like this:
{auth_method, ldap}.
{ldap_servers, ["11.12.13.2"]}.
{ldap_base, "dc=LPG,dc=gagelkaak,dc=de"}.
{ldap_port, 389}.
{ldap_uids, [{"sAMAccountName"}]}.
{ldap_rootdn, "cn=Administrator,ou=Users,dc=LPG,dc=gagelkaak,dc=de"}.
{ldap_password, "dudeldei"}.
{ldap_filter, "(memberOf=*)"}.
Unfortunately i does not work. I changed the log level to 5 (debug), but my logfile keeps having 0 Byte.
So i have no idea where the problem is.
If i start ejabberd with /opt/ejabberd/bin/start, the script hangs and does not go back to the command prompt.
Also - if i use tcpdump to look at the port 389 on my server there is simply no traffic - no requests, no answers.
So now im stuck and dont know where to look for a solution.
Has anybody some tips or advice for me?
Do i need special ldap-libs?
regards
LRH190
similar problem
I've got a similar problem:
ejd 2.0.2_2 -> stunnel form localhost:389 to ldap-server:636 -> ldap-server (is a NDS)
anonymous search works that way with an ldapsearch, but bind does not in ejd. Also, non-anonymous bind doesn't work.
The ldap-part crashes with a timeout at server startup (I guess, that'S, where the bind ishappening), the server otherwise, and as far as I can see 'till now, is running fine.
=ERROR REPORT==== 2008-10-02 13:06:32 === ** State machine 'eldap_#Ref<0.0.0.8723>' terminating ** Last event in was timeout ** When State == connecting ** Data == {eldap,3, ["localhost"], null, ["389"], null,[],[],0,undefined, {dict,0,16,16,8,80,48, {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}, {{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[], []}}}, {[],[]}} ** Reason for termination = ** {function_clause,[{inet_tcp,getserv,[["389"]]}, {gen_tcp,connect1,4}, {gen_tcp,connect,4}, {eldap,connect_bind,1}, {eldap,connecting,2}, {gen_fsm,handle_msg,7}, {proc_lib,init_p,5}]}The stunnel logfile doesn't show any entry concerning ejd, so I guess, stunnel wasn't even contacted.
I configured it along the documentation, which is written for 2.0.1. May that be the cause? Has anything changed from .1 to .2_2, concerning the configuration features?
Also, I had the mechanism working in 2.0.0-trunk (got it sometime before March 20th 2008, don't know what REV).
Any new or changed config items?
ckone
Config of ldap doesn't change in ejabberd 2.0.x
I configured it along the documentation, which is written for 2.0.1. May that be the cause? Has anything changed from .1 to .2_2, concerning the configuration features?
The configuration of ldap should be valid for all 2.0.x versions.
** Reason for termination =
** {function_clause,[{inet_tcp,getserv,[["389"]]},
Umm, looking at the error message, could it be that you configured this incorrectly?
{ldap_port, "389"}.The correct option is this:
{ldap_port, 389}.port config was wrong, now it works fine
Geeesus! Could it be? Me tripping over myselfe? Ok, I should have rtfm, it's the only value NOT written within q-marks.
Tankx for the hint, badlop. :-)
Followup question:
I guess the format of the config-items is due to Erlang constrictions, i.e. :
- the ldap server is set in brackets and quotation marks
- the port is put in there completely without
- the ldap_rootdn has to be set in quotation marks only
- ...
Is there any way of "harmonizing" this? (Feature request?)
EDIT:
Different problem, common solution
(see comment "Badlop - 24/Aug/07 01:50 AM")