qqr700
Goto Top

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

<?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

Content-ID: 391933

Url: https://administrator.de/contentid/391933

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

129580
129580 07.11.2018 um 16:05:23 Uhr
Goto Top
Hallo,

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
QQR700
QQR700 08.11.2018 um 10:26:17 Uhr
Goto Top
kannst du überhaupt von deinem Webserver den LDAP Server erreichen?
Das genau ist auch eine meiner Fragen. face-smile keine Ahnung. Per Ping schon. Aber das heißt ja nur, dass ich die Maschine bekomme ...

... mit dem Tool "ldapseach" ...
Oh, ein Tool für die Konsole face-smile Klasse! Das kannte ich noch nicht. Das probiere ich aus.

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.
Ok. Danke. Dann ist das so, wie ich es mir dachte.

Vielen Dank und Grüße
QQR700