Überarbeitet am 8. September 2026.
Nextcloud kann Benutzer und Gruppen direkt aus einem LDAP-Verzeichnis oder Microsoft Active Directory übernehmen. Das ist praktisch, wenn mehrere Dienste dieselben Benutzerkonten verwenden sollen und man nicht für jede Anwendung eigene Accounts pflegen möchte.
Meine alte Anleitung ging noch einen Schritt weiter und beschrieb gleichzeitig den Aufbau eines OpenLDAP-Servers inklusive phpLDAPadmin. Das war inzwischen zu viel auf einmal und enthielt ein paar Dinge, die ich heute aus Sicherheitsgründen nicht mehr so empfehlen würde. Diese Anleitung konzentriert sich deshalb auf das, was sie eigentlich leisten soll: einen vorhandenen LDAP-Server sauber mit Nextcloud verbinden.
Wer seine Nextcloud generell absichern möchte, findet die wichtigsten Punkte in Nextcloud richtig absichern.
Was Nextcloud mit LDAP macht
Das LDAP User and Group Backend liest Benutzer und Gruppen aus dem Verzeichnis ein. Die Nutzer melden sich anschließend mit ihren LDAP-Zugangsdaten an Nextcloud an. Separate Nextcloud-Benutzerkonten müssen dafür nicht angelegt werden.
Nextcloud verwendet das LDAP-Verzeichnis dabei grundsätzlich lesend für Benutzer- und Gruppeninformationen. Quoten, Freigaben und andere Nextcloud-spezifische Einstellungen werden weiterhin in Nextcloud verwaltet.
1. PHP-LDAP installieren
Für die LDAP-Anbindung benötigt PHP das LDAP-Modul. Unter Debian und Ubuntu lässt sich das normalerweise so installieren:
sudo apt update
sudo apt install php-ldap
Danach muss der verwendete PHP-FPM- beziehungsweise Webserver-Dienst neu gestartet werden, damit das Modul geladen wird.
Prüfen kannst du das zum Beispiel mit:
php -m | grep -i ldap
2. LDAP User and Group Backend aktivieren
Die benötigte Nextcloud-App heißt LDAP user and group backend und hat die App-ID user_ldap. Sie kann in der App-Verwaltung aktiviert werden.
Alternativ geht es über OCC:
sudo -E -u www-data php /var/www/nextcloud/occ app:enable user_ldapCode-Sprache: JavaScript (javascript)
Danach erscheint in den Administrationseinstellungen die LDAP-Konfiguration.
3. Verbindung zum LDAP-Server eintragen
Im ersten Reiter wird die eigentliche Serververbindung eingerichtet. Benötigt werden mindestens Host, Port und Base-DN.
Ein typisches Beispiel könnte so aussehen:
Host: ldaps://ldap.example.de
Port: 636
Base DN: dc=example,dc=deCode-Sprache: JavaScript (javascript)
Läuft LDAP auf demselben Server und ausschließlich lokal, kann das Setup natürlich anders aussehen. Bei einer Verbindung über das Netzwerk würde ich die LDAP-Anmeldedaten aber nicht unverschlüsselt quer durchs Netz schicken.
Nextcloud kann für die Suche einen eigenen LDAP-Systembenutzer verwenden. Genau das ist sinnvoller als ein vollwertiges Administratorkonto. Dieser Bind-Benutzer benötigt nur die Rechte, die Nextcloud zum Lesen der benötigten Benutzer- und Gruppeninformationen braucht.
uid=nextcloudsystemuser,ou=service,dc=example,dc=de
Port 389 nicht einfach ins Internet öffnen
In meiner alten Anleitung stand pauschal:
sudo ufw allow 389
Das würde ich heute so nicht mehr empfehlen. Wenn Nextcloud und LDAP auf demselben Server laufen, muss dafür überhaupt kein öffentlicher Port geöffnet werden. Laufen sie auf unterschiedlichen Servern, sollte die Firewall nur die tatsächlich beteiligten Systeme miteinander kommunizieren lassen.
Bei LDAPS wird üblicherweise Port 636 verwendet. Entscheidend ist nicht die Portnummer allein, sondern dass die Verbindung verschlüsselt ist, Zertifikate geprüft werden und der Dienst nicht unnötig für das gesamte Internet erreichbar ist.
4. Benutzerfilter festlegen
Im Reiter Benutzer legst du fest, welche LDAP-Konten überhaupt in Nextcloud erscheinen sollen. Nextcloud erkennt viele typische Objektklassen automatisch.
Bei einem klassischen OpenLDAP ist inetOrgPerson häufig ein passender Ausgangspunkt. Noch besser ist es, nur eine bestimmte Gruppe für Nextcloud freizugeben.
(&(objectClass=inetOrgPerson)(memberOf=cn=nextcloudusers,ou=groups,dc=example,dc=de))
Ob ein solcher memberOf-Filter funktioniert, hängt von der Konfiguration des LDAP-Servers ab. Deshalb würde ich zuerst die grafische Auswahl in Nextcloud verwenden und nur bei Bedarf mit eigenen LDAP-Filtern arbeiten.
5. Login-Attribute auswählen
Im Reiter für die Login-Attribute stellst du ein, womit sich Benutzer anmelden dürfen. Häufig ist das der LDAP-Benutzername, je nach Verzeichnis zum Beispiel uid oder bei Active Directory sAMAccountName.
Optional kann auch die E-Mail-Adresse als Login erlaubt werden. Ich würde nur die Attribute freischalten, die tatsächlich gebraucht werden.
6. Gruppen auswählen
Im Gruppen-Reiter wird festgelegt, welche LDAP-Gruppen in Nextcloud sichtbar sein sollen. Typische Objektklassen sind beispielsweise group oder posixGroup.
Auch hier gilt: lieber gezielt die benötigten Gruppen auswählen, statt das komplette Verzeichnis unnötig nach Nextcloud zu spiegeln.
7. LDAP-Konfiguration mit OCC prüfen
Nextcloud bringt inzwischen sehr brauchbare LDAP-Kommandos mit. Zuerst kannst du dir die vorhandene Konfiguration anzeigen lassen:
sudo -E -u www-data php /var/www/nextcloud/occ ldap:show-configCode-Sprache: JavaScript (javascript)
Nach einem Benutzer suchen:
sudo -E -u www-data php /var/www/nextcloud/occ ldap:search BENUTZERNAMECode-Sprache: JavaScript (javascript)
Und einen konkreten LDAP-Benutzer prüfen:
sudo -E -u www-data php /var/www/nextcloud/occ ldap:check-user BENUTZERNAMECode-Sprache: JavaScript (javascript)
Das ist deutlich angenehmer, als bei jedem Fehler nur in der Weboberfläche herumzuklicken.
Zertifikatsprüfung nicht abschalten
Wenn LDAPS oder TLS wegen eines Zertifikatsfehlers nicht funktioniert, sollte die Ursache behoben werden. Nextcloud bietet zwar eine Möglichkeit, die Zertifikatsprüfung für Tests abzuschalten, die Dokumentation kennzeichnet das aber ausdrücklich als Testoption.
Sauberer ist es, die CA beziehungsweise das Serverzertifikat auf dem Nextcloud-Server korrekt bekannt zu machen.
LDAP und Caching
LDAP-Abfragen werden von Nextcloud gecacht. Gerade bei vielen Benutzern und Gruppen hilft deshalb eine vernünftige Memory-Cache-Konfiguration. Dazu passt meine aktualisierte Anleitung Nextcloud mit Redis und APCu beschleunigen.
Mein Fazit
LDAP mit Nextcloud zu verbinden ist heute deutlich komfortabler als bei meinem ersten Versuch vor vielen Jahren. Nextcloud erkennt viele Attribute selbst, bietet Filter für Benutzer und Gruppen und bringt inzwischen umfangreiche OCC-Kommandos zur Diagnose mit.
Der wichtigste Unterschied zu meiner alten Anleitung: Ich würde LDAP nicht mehr nebenbei mit einem frei erreichbaren phpLDAPadmin-Webpanel und pauschal geöffnetem Port aufbauen. Erst ein sauber abgesichertes LDAP-Verzeichnis, dann Nextcloud als Client anbinden.
Weiterführend: Nextcloud-Dokumentation zur LDAP-Authentifizierung und LDAP-Kommandos mit OCC.
Wie ist deine Meinung?
Schreib gern einen Kommentar unter dem Artikel oder diskutiere mit anderen im Matrix-Kanal:
#dasnetzundich:matrix.org
… hat dies repostet!
… hat dies repostet!
… hat dies repostet!