Hallo alle zusammen!
Ich versuche seit gestern Nachmittag über PHP auf einen lokalen LDAP-Server zuzugreifen, bisher leider erfolglos.
Dazu habe ich lokal einen ApacheDS installiert. Dazu noch Apache Directory Studio als Directory Browser.
Im Apache Directory Studio habe ich eine Verbindung zum ApacheDS eingerichtet.
Server: localhost
Port: 10389
Bind DN: ou=system,uid=admin
Passwort: secret
Diese Verbindung klappt wunderbar. Ich kann auf das Directory zugreifen und es problemlos über den DS-Browser bedienen.
Nun zum eigentlichen Problem:
Des weiteren habe ich ein PHP-Script geschrieben welches mittels LDAP-Modul auf den ApacheDS zugreift.
Wenn ich dieses Script ausführe, dann gibt ldap_bind() die Warnung
"can't contact server" zurück.
Soweit ich das durch meine Recherchen mitbekommen habe, wird der tatsächliche Verbindungsaufbau erst beim Aufruf von ldap_bind() durchgeführt, was ich sehr schade finde, da man Anfangs nicht weiß ob der Fehler vom connect oder vom bind kommt.
Wie dem auch sei, die Fehlermeldung sagt ja aus, dass kein Kontakt zum Server hergestellt werden kann.
In anderen Threads und Manuals habe ich gesehen, dass andere Scripte die Protokollangabe in der Hostbezeichnung nicht machen.
anstadt
Wenn ich das so ausführe habe ich immer noch keine Verbindung und bekomme ich die Fehlermeldung "Protocol error".
Wird die Protokollangabe nun benötigt oder nicht?
Da ich immer noch keinen Kontakt zu meinem lokalen ADS bekommen habe, habe ich das PHP-Manual studiert und gelesen, das die PHP DLL's ssleay32.dll und libeay32.dll auf Windowssystemen dem System PATH zugänglich sein müssen.
http://de3.php.net/manual/en/ldap.installation.php
Also hab ich diese in den system32-Ordner kopiert.
Auch danach erhalte ich keine Verbindung zum Server, egal ob mit oder ohne Protokollangabe im Hostname.
Das dritte was ich versucht habe war die Protokollversion mit ldap_set_option() zu setzten. Aber auch das hat nix genützt.
Ich weiß wirklich nicht mehr was ich noch machen soll bzw. woran es liegen könnte warum ich keine Connect bekomme.
Vielleicht hat jemand von euch eine Idee?
Kann natürlich auch sein, dass ich völlig falsch an die Sache rangehe oder dass ich was übersehen habe, dann klärt mich bitte auf!
Jedenfalls bin ich für jede Hilfe dankbar!!!
OS: WindowsXP SP2
WS: XAMPP 1.5.1
DS: ApacheDS 1.0
Ich versuche seit gestern Nachmittag über PHP auf einen lokalen LDAP-Server zuzugreifen, bisher leider erfolglos.
Dazu habe ich lokal einen ApacheDS installiert. Dazu noch Apache Directory Studio als Directory Browser.
Im Apache Directory Studio habe ich eine Verbindung zum ApacheDS eingerichtet.
Server: localhost
Port: 10389
Bind DN: ou=system,uid=admin
Passwort: secret
Diese Verbindung klappt wunderbar. Ich kann auf das Directory zugreifen und es problemlos über den DS-Browser bedienen.
Nun zum eigentlichen Problem:
Des weiteren habe ich ein PHP-Script geschrieben welches mittels LDAP-Modul auf den ApacheDS zugreift.
PHP-Code:
$ldap_host = "LDAP://localhost";
$ldap_port = "10389";
$ldap_rdn = "ou=system,uid=admin";
$ldap_pwd = "secret";
$ldap_connect = ldap_connect($ldap_host, $ldap_port);
$ldap_bind = ldap_bind($ldap_connect, $ldap_rdn, $ldap_pwd);
"can't contact server" zurück.
Soweit ich das durch meine Recherchen mitbekommen habe, wird der tatsächliche Verbindungsaufbau erst beim Aufruf von ldap_bind() durchgeführt, was ich sehr schade finde, da man Anfangs nicht weiß ob der Fehler vom connect oder vom bind kommt.
Wie dem auch sei, die Fehlermeldung sagt ja aus, dass kein Kontakt zum Server hergestellt werden kann.
In anderen Threads und Manuals habe ich gesehen, dass andere Scripte die Protokollangabe in der Hostbezeichnung nicht machen.
anstadt
PHP-Code:
$ldap_host = "LDAP://localhost";
PHP-Code:
$ldap_host = "localhost";
Wird die Protokollangabe nun benötigt oder nicht?
Da ich immer noch keinen Kontakt zu meinem lokalen ADS bekommen habe, habe ich das PHP-Manual studiert und gelesen, das die PHP DLL's ssleay32.dll und libeay32.dll auf Windowssystemen dem System PATH zugänglich sein müssen.
http://de3.php.net/manual/en/ldap.installation.php
Also hab ich diese in den system32-Ordner kopiert.
Auch danach erhalte ich keine Verbindung zum Server, egal ob mit oder ohne Protokollangabe im Hostname.
Das dritte was ich versucht habe war die Protokollversion mit ldap_set_option() zu setzten. Aber auch das hat nix genützt.
Ich weiß wirklich nicht mehr was ich noch machen soll bzw. woran es liegen könnte warum ich keine Connect bekomme.
Vielleicht hat jemand von euch eine Idee?
Kann natürlich auch sein, dass ich völlig falsch an die Sache rangehe oder dass ich was übersehen habe, dann klärt mich bitte auf!
Jedenfalls bin ich für jede Hilfe dankbar!!!
OS: WindowsXP SP2
WS: XAMPP 1.5.1
DS: ApacheDS 1.0
Kommentar