Ghostboard pixel

Setup LDAP für Nextcloud

In diesem Howto erkläre wie ich selber auf meinem Server LDAP für Nextcloud aufsetzt habe und danach LDAP Nutzer mit Nextcloud verknüpft habe.
 

Inhaltsverzeichnis:

  1. Abhängigkeiten installieren
  2. LDAP konfigurieren
  3. LDAP einrichten
  4. Nextcloud verbinden

Abhängigkeiten installieren

Zuerst müssen ein paar Abhängigkeiten installiert werden.

sudo apt-get update
sudo apt-get install slapd ldap-utils

 
Dabei wird man aufgefordert ein Administrationspasswort zu vergessen. Das müssen wir uns dann merken denn es wird zum login genutzt.

Danach wird LDAP konfiguriert

sudo dpkg-reconfigure slapd

 
Folgende Fragen müssen beantwortet werden.

  • Omit OpenLDAP server configuration? No
  • DNS Domain Name?
    Das ist die Domain die ihr für das Setup verwenden wollt, in diesem Fall wird die Domain test.com verwendet.
  • Organization name?
    Diesen brauchen wir später für die Anbindung an Nextcloud und der Erstellungn von Gruppen und Usern.
  • Administrator Passwort?
    An diesem Punkt wird genau das gleiche Passwort eingegeben wie im vorangegangen Schritt. Wird ein anderes ausgewählt wird das alte natürlich überschrieben.
  • Database backend? HDB
  • Remove the database when slapd is purged? No
  • Move old database? Yes
  • Allow LDAPv2 protocol? NoWenn dies erledigt ist wird das Web Panel installiert und im Anschluss ebenfalls konfiguriert.
sudo apt-get install phpldapadmin
sudo nano /etc/phpldapadmin/config.php

 
Nun wird phpldapadmin eingerichtet damit sich überhaupt das Panel mit dem Server verbinden kann.
Sucht folgende Abschnitte in der Config.php (Strg+W)

servers→setValue('server','host','test.com oder IP');

 
Als nächstes wird die Domain festgelegt womit sich der Server verbinden soll. Hier wird die Domain in Form von dc=test,dc=com eingetragen und nicht test.com.

servers->setValue('server','base',array('dc=test,dc=com'));

 
Ein paar Zeilen weiter muss das selbe eingetragen werden.

servers->setValue('login','bind_id','cn=admin,dc=test,dc=com');

 
Im Anschluss werden Template Warnungen deaktiviert. Diese Warnungen haben keinen Einfluss auf die Funkionaltät.

config->custom->appearance['hide_template_warning'] = true;

 
Die Datei anschliessend mit Strg+X abspeichern.
Nun ist euer Setup erreichbar unter http://test.com/phpldapadmin/

LDAP einrichten

LDAP für Nextcloud, hier das Admin Panel

Loggt euch nun ein unter http://test.com/phpldapadmin/
Nutzername: cn=admin,dc=test,dc=com
Passwort: das von euch erstellte
Nun seht ihr folgendes Fenster

dort klickt ihr auf den bei euch einzigen Eintrag:
dc=test,dc=com
im Fenster (links zu sehen)  klickt ihr dann auf „Create an Child entry“
Hier wird erst eine Organisations Einheit erstellt „Generic Organisation Unit“.
Diese muss einen Namen bekommen. Da wir ja Nextcloud damit verbinden wollen nennen wir diese Einheit „nextcloudserver“.
Wenn diese erstellt ist, erscheint dieser Eintrag in der Liste auf der linken Seite. Dort klicken wir drauf und erstellen wieder einen neuen Eintrag „Posix Group“ und nennen diese „user“ dann erstellen noch eine Gruppe mit dem Namen „admin“.
Danach wird der erste User erstellt. Dazu klicken wir nun auf die Gruppe und fügen nun einen Untereintrag „Generic User Account“ hinzu.
In dem folgenden Fenster füllen wir alle gelb hinterlegten Felder aus.

  • Common Name
  • GID Number (hier wird die Gruppe „User“ ausgewählt im Dropdown Menü)
  • Last Name
  • ein Passwort vergeben (ssha)
  • User ID (diese brauchen wir wieder im Nextcloud Setup)

Nun wäre dieser Teil geschafft.

Jetzt ist Nextcloud dran.

In der Appübersicht von der Nextcloud wird das LDAP User Backend aktiviert.
(Bei war es nicht sichtbar und habe es über SSH aktiviert.) Hier im übrigen eine Anleitung wie man Stikked auf dem Server installiert.

sudo -u www-data php occ app:enable ldap_user

Nun wecheseln wir wieder in das Admin Backend und sehen folgendes Fenster.
Hier brauchen wir nur „localhost“ eingeben damit wir uns mit dem LDAP Server verbinden können. Denkt aber dran trotzdem den Port 389 in der Firewall freizugeben mit

sudo ufw allow 389

Gebt nun euren Benutzernamen in Form eurer DN ein.
Wie im Bild zu sehen ist das cn=admin,dc=test,dc=com dazu das Passwort was ihr euch ausgewählt habt.
Klickt anschließend auf „detect Base DNS“ wenn das klappt klickt leuchtet unten der grüne Punkt.

Dann geht’s in den Usertab, dort seht ihr folgendes:

Hier müsst ihr unter Object Classes „inetOrgPerson“ auswählen, sollte es nicht automatisch eingestellt sein. Geht auf Count Users, dort dürfte 1 User detectet erscheinen. Dieser variiert je nachdem wieviele User angelegt sind.
Im Fenster Login Attributes seht ihr folgendes:

Klickt hier nur „LDAP / AD Username“ und „LDAP / AD Email Address“ an und geht zum nächsten Fenster.

Zum Abschluss die Gruppen festlegen die in Nextcloud übernommen werden sollen. Nun die Gruppen zählen, hier sollte eine 2 erscheinen.
Damit ist das Setup abgeschlossen und die User erscheinen in der Cloud.
 
Quelle: www.techrepublic.com, www.jurisic.org