Koha LDAP Anbindung LMNv7

Hallo Zusammen

wir nutzen als Bibliotheksverwaltung Koha

ich habe die Koha komplett fertig installiert und sie funktioniert soweit auch sehr gut

ich wollte jetzt die ldap anbindung an die LMN machen aber wenn ich so vorgehe wie hier beschrieben:

und ich ich die einstellungen vornehme auch die dienste neu starte passiert leider nur das:

sobald ich die koha weboberfläche aufrufe

Hier ist der Auszug aus meiner koha-conf.xml

 <useldapserver>1</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
  <ldapserver id="ldapserver"  listenref="ldapserver">
  <hostname>ldaps://10.16.1.1</hostname>
  <base>ou=schools,dc=linuxmuster,dc=lan</base>
  <user>cn=global-binduser,ou=Management,ou=GLOBAL,dc=linuxmuster,dc=lan</user><!-- DN, if not anonymous -->
  <pass>supergeheim</pass><!-- password, if not anonymous -->
  <replicate>1</replicate>       <!-- add new users from LDAP to Koha database -->
  <update>1</update>             <!-- update existing users in Koha database -->
  <anonymous_bind>0</anonymous_bind>
  <auth_by_bind>1</auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison, e.g., to use A$
  <principal_name>%s@linuxmuster.lan</principal_name>
  <update_password>0</update_password>
  <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
  <mapping>             <!-- match koha SQL field names to your LDAP record field names -->
  <userid       is="samAccountName"></userid>
  <email        is="mail"></email>
  </mapping>
 </ldapserver>

Hat jemand eine Idee wo der Fehler liegt?

Lg Pascal

Hi Pascal,

was sagt deine opac-error.log Datei? Dein v7 Setup ist wie 6.2, d.h. dein Server hat die IP 10.16.1.1?

Hast du mal versucht, deine config über die Kommandozeile zu testen (steht weiter unten in dem verlinkten Artikel)?

vG Stephan

Hallo Stephan

[Thu Aug 27 15:11:26.790213 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: : /usr/share/koha/opac/cgi-bin/opac/opac-main.pl
[Thu Aug 27 15:11:26.790323 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: Error reading file /etc/koha/sites/bibliothek/koha-conf.xml.: /usr/share/koha/opac/cgi-bin/opac/op$
[Thu Aug 27 15:11:26.790383 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: Try running this again as the koha instance user (or use the koha-shell command in debian): /usr/s$
[Thu Aug 27 15:11:26.790405 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: : /usr/share/koha/opac/cgi-bin/opac/opac-main.pl
[Thu Aug 27 15:11:26.790459 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: Compilation failed in require at /usr/share/koha/lib/C4/Auth.pm line 30.: /usr/share/koha/opac/cgi$
[Thu Aug 27 15:11:26.790511 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: BEGIN failed--compilation aborted at /usr/share/koha/lib/C4/Auth.pm line 30.: /usr/share/koha/opac$
[Thu Aug 27 15:11:26.790570 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: Compilation failed in require at /usr/share/koha/opac/cgi-bin/opac/opac-main.pl line 23.: /usr/sha$
[Thu Aug 27 15:11:26.790642 2020] [cgi:error] [pid 153105] [client 192.168.111.1:48744] AH01215: [Thu Aug 27 15:11:26 2020] opac-main.pl: BEGIN failed--compilation aborted at /usr/share/koha/opac/cgi-bin/opac/opac-main.pl line 23.: /usr$
[Thu Aug 27 15:11:28.580908 2020] [cgi:error] [pid 153107] [client 192.168.111.1:48746] AH01215: [Thu Aug 27 15:11:28 2020] opac-main.pl: : /usr/share/koha/opac/cgi-bin/opac/opac-main.pl
[Thu Aug 27 15:11:28.580990 2020] [cgi:error] [pid 153107] [client 192.168.111.1:48746] AH01215: [Thu Aug 27 15:11:28 2020] opac-main.pl: Error reading file /etc/koha/sites/bibliothek/koha-conf.xml.: /usr/share/koha/opac/cgi-bin/opac/op$
[Thu Aug 27 15:11:28.581045 2020] [cgi:error] [pid 153107] [client 192.168.111.1:48746] AH01215: [Thu Aug 27 15:11:28 2020] opac-main.pl: Try running this again as the koha instance user (or use the koha-shell command in debian): /usr/s$

ich habe von 6.2 auf 7 migriert und habe den adressbereich gleich gelassen

du meinßt diesen befehl?

export PERL5LIB=/usr/share/koha/lib/ && export KOHA_CONF=/etc/koha/sites/library/koha-conf.xml && perl /usr/share/koha/opac/cgi-bin/opac/opac-user.pl userid=user1 password=foo

wenn ich den ausführe mit der modifikation bibliothek kommt das :

root@koha-rbs:/etc/koha/sites/bibliothek# export PERL5LIB=/usr/share/koha/lib/ && export KOHA_CONF=/etc/koha/sites/bibliothek/koha-conf.xml && perl /usr/share/koha/opac/cgi-bin/opac/opac-user.pl userid=user1 password=foo

Error reading file /etc/koha/sites/bibliothek/koha-conf.xml.
Try running this again as the koha instance user (or use the koha-shell command in debian)

Compilation failed in require at /usr/share/koha/lib/C4/Auth.pm line 30.
BEGIN failed--compilation aborted at /usr/share/koha/lib/C4/Auth.pm line 30.
Compilation failed in require at /usr/share/koha/opac/cgi-bin/opac/opac-user.pl line 24.
BEGIN failed--compilation aborted at /usr/share/koha/opac/cgi-bin/opac/opac-user.pl line 24.
root@koha-rbs:/etc/koha/sites/bibliothek#

Ich hoffe das hilft weiter

LG Pascal

Hmm…ehrlich gesagt, sieht mir das eher nach einem Syntaxfehler in deiner koha-conf.xml aus. Kannst du mal die ganze koha-conf.xml schicken (gern auch als DM/PM)?

ich habe dir die koha-conf geschickt

@zefanja

Also das erste Problem ist gelöst

jetzt habe ich nur noch das Problem mit dem anmelden

wenn sich ein User anmeldet bekommt er diesen Fehler:

Software error:

Broken FK constraint

Hier ist nochmal meine LDAP Conf aus Koha ich habe sie mal erweitert um weitere mappings hat leider keinen Effekt

Wenn ich
<replicate>1</replicate>
abschalte dann meldet koha bei der Anmeldung immer falsches Passwort aber der Broken FK constraint fehler ist weg

 <useldapserver>1</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
  <ldapserver id="ldapserver"  listenref="ldapserver">
  <hostname>ldap://10.16.1.1</hostname>
  <base>ou=schools,dc=linuxmuster,dc=lan</base>
  <user>cn=global-binduser,ou=Management,ou=GLOBAL,dc=linuxmuster,dc=lan</user><!-- DN, if not anonymous -->
  <pass>totalgeheim</pass><!-- password, if not anonymous -->
  <replicate>1</replicate>       <!-- add new users from LDAP to Koha database -->
  <update>1</update>             <!-- update existing users in Koha database -->
  <anonymous_bind>0</anonymous_bind>
  <auth_by_bind>1</auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison, e.g., to use A$ -->
  <principal_name>%s@linuxmuster.lan</principal_name>
  <update_password>0</update_password>
  <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
  <mapping>             <!-- match koha SQL field names to your LDAP record field names -->
  <userid       is="samAccountName"></userid>
  <email        is="mail"></email>
  <categorycode is="employeetype">S</categorycode>
  <firstname    is="givenname"></firstname>
  <password     is="userpassword"></password>
  <surname      is="sn"></surname>
</mapping>

Lg Pascal

Ich weiß nicht, ob LMN diesen Wert im AD hat, aber falls ja, ist das ein Problem hier, wenn du den Wert von employeetype nicht als category code in Koha hast.

Kannst du mal <update>1</update> auf 0 setzen?

vG Stephan

PS: Die Koha Mailingliste ist i.d.R. auch sehr gut, wenn du weitere Hilfe brauchst.

also wenn ich update auf 0 stelle aber replicate auf 1 kommt
Broken FK constraint

wenn ich beides auf 0 stelle kommt falsches passwort

Wo finde ich den Catergory Code in Koha bzw wo muss ich ihn setzen ?
Und wie sehe ich ob ich den Wert employeetype in der LMN habe? bzw gibt es einen alternativen wert vieleicht eine art gruppenzugehörigkeit ?

LG Pascal

Du kannst das employeetype einfach weglassen. Also <categorycode is="">S</categorycode>. Category Code sind die Benutzertypen, die du in Koha festgelegt hast (bzw. deren Abkürzungen).

ich habe den categorycode wieder geändert aber was ich noch nicht so ganz verstehe ist wenn ich replicant auf 0 stelle legt er ja keine nutzer an wenn die sich das erste mal anmelden. Wenn ich jetzt die user per csv importiere können sich die user dann trotzdem mit ihrem ldap passwort anmelden?

also dient die ldap anbindung in meiner konstellation dann dafür das nur überprüft wird das das kennwort korrekt ist ? oder verstehe ich da etwas falsch?

Lg Pascal

Ja, ich lege alle User mit irgendeinem (Zufalls)passwort an. Sie können sich dann über LDAP mit ihrem eigentlichen Passwort anmelden. Wenn du LDAP einrichtest, versucht er die User erst über LDAP zu authentifizieren und wenn das nicht klappt, lokal.

Dein Fehler mit den Broken FK contraint ist seltsam. Ich würde mich damit mal an die Mailingliste bzw IRC Chat wenden.

Kannst du mir sagen welche Eingenschaften du in der CSV mitgibst in der Vorlage von koha sind ja verdammt viele.

Bzw hast du ein Script welches aus der Liste der LMN eine Liste für die Koha baut?

LG Pascal

Hi,

das steht beim Benutzerimport in Koha mit dabei:

Pflichtfelder: Die Felder ‚surname‘, ‚branchcode‘ und ‚categorycode‘ sind Erforderlich und ‚branchcode‘ und ‚categorycode‘ muss übereinstimmen gültige Einträge in der Datenbank

Wir haben noch userId und dateofbirth dabei.

Ja, ich habe ein Skript, aber als Quelle nutze ich nicht die Liste der LMN (zu wenig Infos), sondern unsere Schülerverwaltungssoftware.

vG Stephan

vG Stephan

Hi,

habe mich gerade auch an der Installation von koha versucht und scheitere leider bei der Umsetzung der ldap-Anbindung.

Was ich bislang gemacht habe:

die koha-conf.xml gemäß der Anleitung von zefanjas eingerichtet. Dabei habe ich nur die folgenden Punkte an meine Konfiguration angepasst:

  • IP des Servers
  • linuxmuster und lan durch unsere Domain hier ersetzt.
  • das Passwort für den global-bind user nachgeschlagen und eingetragen.

Das ergibt dann die folgende Conf (Passwort habe ich ausgeblendet):

<useldapserver>1</useldapserver>
 <ldapserver id="ldapserver"  listenref="ldapserver">
  <hostname>ldaps://10.0.0.1</hostname>
  <base>ou=schools,dc=stein,dc=lan</base>
  <user>cn=global-binduser,ou=Management,ou=GLOBAL,dc=stein,dc=lan</user><!-- DN, if not anonymous -->
  <pass>Passwort123456</pass><!-- password, if not anonymous -->
  <replicate>1</replicate>       <!-- add new users from LDAP to Koha database -->
  <update>1</update>             <!-- update existing users in Koha database -->
  <anonymous_bind>0</anonymous_bind>
  <auth_by_bind>1</auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison -->
  <principal_name>%s@stein.lan</principal_name>
  <update_password>0</update_password>
  <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
  <mapping>             <!-- match koha SQL field names to your LDAP record field names -->
   <userid       is="samAccountName"></userid>
   <email        is="mail"></email>
  </mapping>
</ldapserver>

Wenn ich die Opac-Seite aufrufe, kann ich mich nicht anmelden. Es erscheint eine koha-opac Seite mit

Die angeforderte Seite ist leider nicht verfügbar.

Fehler: 500

Ist in meiner Konfiguration oben der Wurm drin oder habe ich vergessen, etwas zu tun? Muss ich auf dem Linuxmuster-Server an sich noch etwas einrichten? Muss ich an der Firewall etwas konfigurieren? Der Koha-Server steht im grünen Netz und hat die IP 10.0.0.111

Viele Grüße,

Thomas

Hallo Thomas,
bei mir sieht der Teil der Datei so aus:

 <useldapserver>1</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
 <ldapserver id="ldapserver"  listenref="ldapserver">
  <hostname>ldaps://10.16.1.1</hostname>
  <base>OU=default-school,OU=SCHOOLS,DC=lmn,DC=eichendorff-gymnasium,DC=de</base>
  <user>CN=global-binduser,OU=Management,OU=GLOBAL,DC=lmn,DC=eichendorff-gymnasium,DC=de</user><!-- DN, if not anonymous -->
  <pass>geheim</pass><!-- password, if not anonymous -->
  <replicate>1</replicate>       <!-- add new users from LDAP to Koha database -->
  <update>1</update>             <!-- update existing users in Koha database -->
  <anonymous_bind>0</anonymous_bind>
  <auth_by_bind>1</auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison -->
  <principal_name>%s@lmn.eichendorff-gymnasium.de</principal_name>
  <update_password>0</update_password>
  <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
  <mapping>             <!-- match koha SQL field names to your LDAP record field names -->
   <userid is="samAccountName"></userid>
   <email is="mail"></email>
   <categorycode is="">S</categorycode>
   <branchcode is="">LMV</branchcode>
   <firstname    is="givenname"></firstname>
   <password     is="userpassword"></password>
   <surname      is="sn"></surname>
  </mapping>
 </ldapserver>


ich habe auch lange dran rumgeschraubt. Wichtig war, dass es die Category und den Branch im Koha auch gibt. „S“ steht bei mir für Schüler, „LMV“ für Lernmittelverwaltung.
Ich habe aber noch keine Schüler per csv importiert, nur mich als Lehrer testweise angemeldet.

Ich kann mich nicht erinnern, was an der LMN oder Firewall „geschraubt“ zu haben, damit es funktionierte.

Es scheint aber, dass nicht der LDAP schuld ist, sondern die Netzeinstellung. Du musst Koha sicher über einen FQDN aufrufen. Wenn Du noch keine öffentliche hast, kannst Du in der OPNSense bei „Dienste“ → „unbound DNS“ → „Überbrückung“ deine KOHA-Seite eintragen, damit das von Intern funktioniert. Musst Du halt dann wieder weg nehmen, wenn Du eine Domain hast.
Also: Host buecher-intra, Domain bei mir: eichendorff-gymnasium.de, Typ IPv4 und dann halt Deine IP-Adresse 10.0.0.111.

Viel Glück!
LG
Max

Hallo Thomas,

Koha-Server steht im grünen Netz und hat die IP 10.0.0.111

der Server hat eine IP aus dem freien DHCP Lease des Servers.
Damit kann es zu kollisionen kommen und es kann sein, dass die Firewall
des Servers die Zugriffe blockt.

Gib deinem koha Server mal eine IP, die nicht in 10.0.0.100 bis 200 hat.
Also 10.0.0.99 oder, wie alle Server: im Bereich bis zur 10, also
10.0.0.5

LG

Holger