LDAP (AD) per PHP erreichen - was fehlt?
Hallo,
ein Ubuntu-18-Server mit Apache und PHP7.1 versucht, eine LDAP-Verbindung zu einem Active-Directory Server aufzubauen.
Problem: es geht nicht ;)
Ich hab die genaue Errormeldung gerade nicht zur Hand. Es heisst im Apache error.log sinngemäß "ldap_bind hat nicht geklappt. Der LDAP-Server war nicht erreichbar".
Folgendes Conect-Script (von php.net) wurde verwendet
Im Browser wird "LDAP bind fehlgeschlagen..." angezeigt.
Username/Passwort stimmen. Dies wird von einem XAMPServer aus bereits erfolgreich genutzt. Selbst die dortigen Programmzeilen wurden kopiert und probiert. Ohne Erfolg.
Meine Überlegung: auf dem ubuntu-Server fehlt noch etwas. Nur was?
Folgende Punkte sind erfüllt:
phpinfo sagt:
Ein spezielles Apache LDAP-Modul ist nicht installiert (braucht man das?)
In /etc/ldap/ gibt es ein ldap.conf. Dort ist aber nichts eigenes eingetragen. Muss dort etwas rein?
Wenn man sich per ldaps://...verbinden möchte, braucht man dazu nicht Zertifikat-Dateien, die man hier irgendwie mit angeben müsste?
Hat einer von euch einen Tipp, wo man noch prüfen könnte?
Danke und Grüße
QQR700
ein Ubuntu-18-Server mit Apache und PHP7.1 versucht, eine LDAP-Verbindung zu einem Active-Directory Server aufzubauen.
Problem: es geht nicht ;)
Ich hab die genaue Errormeldung gerade nicht zur Hand. Es heisst im Apache error.log sinngemäß "ldap_bind hat nicht geklappt. Der LDAP-Server war nicht erreichbar".
Folgendes Conect-Script (von php.net) wurde verwendet
<?php
// verwenden von ldap bind
$ldaprdn = 'uname'; // ldap rdn oder dn
$ldappass = 'password'; // entsprechendes password
// verbinden zum ldap server
$ldapconn = ldap_connect("ldap.example.com")
or die("Keine Verbindung zum LDAP server möglich.");
if ($ldapconn) {
// binden zum ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
// Bindung überpfrüfen
if ($ldapbind) {
echo "LDAP bind erfolgreich...";
} else {
echo "LDAP bind fehlgeschlagen...";
}
}
?>
Im Browser wird "LDAP bind fehlgeschlagen..." angezeigt.
Username/Passwort stimmen. Dies wird von einem XAMPServer aus bereits erfolgreich genutzt. Selbst die dortigen Programmzeilen wurden kopiert und probiert. Ohne Erfolg.
Meine Überlegung: auf dem ubuntu-Server fehlt noch etwas. Nur was?
Folgende Punkte sind erfüllt:
- Apache und PHP läuft
- PHP Version 7.1
- php7.1-ldap ist installiert
- firewall ist aus
- der Hostname ist per /etc/hosts auflösbar
phpinfo sagt:
Additional .ini files parsed /etc/php/7.1/apache2/conf.d/20-ldap.ini
Protocols ldap, ldaps
LDAP Amitay Isaacs, Eric Warnke, ...
LDAP Support enabled
RCS Version $Id: 5f1913de8e05a346da913956f81e0c0d8991c7cb $
Total Links 0/unlimited
API Version 3001
Vendor Name OpenLDAP
Vendor Version 20445
SASL Support Enabled
ldap.max_links Unlimited
Ein spezielles Apache LDAP-Modul ist nicht installiert (braucht man das?)
In /etc/ldap/ gibt es ein ldap.conf. Dort ist aber nichts eigenes eingetragen. Muss dort etwas rein?
Wenn man sich per ldaps://...verbinden möchte, braucht man dazu nicht Zertifikat-Dateien, die man hier irgendwie mit angeben müsste?
Hat einer von euch einen Tipp, wo man noch prüfen könnte?
Danke und Grüße
QQR700
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 391933
Url: https://administrator.de/contentid/391933
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo,
kannst du überhaupt von deinem Webserver den LDAP Server erreichen?
Schon mal mit dem Tool "ldapseach" die Verbindung und den Query getestet?
Nope. PHP hat nichts mit dem Webserver zu tun. Apache leitet lediglich die Anfragen an den PHP Interpreter weiter.
Dieser bearbeitet die Anfrage und generiert dynamisch das HTML und schickt das an den Client zurück.
Viele Grüße,
Exception
kannst du überhaupt von deinem Webserver den LDAP Server erreichen?
Schon mal mit dem Tool "ldapseach" die Verbindung und den Query getestet?
Ein spezielles Apache LDAP-Modul ist nicht installiert (braucht man das?)
Nope. PHP hat nichts mit dem Webserver zu tun. Apache leitet lediglich die Anfragen an den PHP Interpreter weiter.
Dieser bearbeitet die Anfrage und generiert dynamisch das HTML und schickt das an den Client zurück.
Viele Grüße,
Exception