Apache LDAP Authentifizierung und Open-Exchange

Torsten Uhlmann

Fri, 24 Feb 2006

Photo by Torsten Uhlmann


Open-Exchange ist ja eine wunderbare Sache. Die schönste und am schwierigsten zu installierende Groupware, die mir bis jetzt untergekommen ist. Nun möchte ich gern unsere Subversion-Repositories über mod_svn zugänglich machen und zur Authentifizierung die LDAP-Daten nutzen, die Open-Exchange sowieso schon anlegt. Also:

  • neue Gruppe “developers” angelegt mit addgroup_ox
  • dann meinen User mittels addusertogroup_ox zu dieser Gruppe hinzugefügt

Schön, noch alles im apache.conf (/etc/apache2/conf.d/websvn) eingestellt… hm, Apache wollte nicht. Kann den User nicht zu dieser Gruppe zuordnen. Nach einer Weile forschen habe ich dann den Grund herausgefunden. Apache erwartet in dem member (hier: memberUid) Attribut einen Verweis der Form uid=tuhlmann,ou=Users,ou=OxObjects,dc=agynamix,dc=de , OX schreibt aber nur den Usernamen rein. Hm, also hab ich die addusertogroup und deluserfromgroup Skripte etwas erweitert, sodass 2 Einträge geschrieben werden, einer für OX (den braucht der wirklich in dieser Form) und den, den Apache möchte. Voila. Hier die Einstellungen für den Apache Authentifizierungsmechanismus für Subversion:

… AuthLDAPUrl “ldap://localhost:389/ou=Users,ou=OxObjects,dc=agynamix,dc=de?uid?sub?” AuthLDAPGroupAttribute “memberUid” AuthType basic AuthName “Subversion Entwicklerzugang” require group cn=developers,ou=Groups,ou=OxObjects,dc=agynamix,dc=de …

Nun noch die 2 Änderungen:

addusertogroup_ox

addusertogroup_ox

addusertogroup_ox:

UID_PART=echo "$GROUP_BASEDN" | $AWK_BIN -F , '{ print $2","$3","$4 }' UID_FULL=“uid=$USER,ou=Users,$UID_PART” echo “memberUid: $UID_FULL” >> $TMPDIF

Unter die Zeile

echo “memberUid: $USER” >> $TMPDIF

anfügen. Ähnlich in deluserfromgroup_ox:

UID_PART=echo "$GROUP_BASEDN" | $AWK_BIN -F , '{ print $2","$3","$4 }' UID_FULL=“uid=$USERNAME,ou=Users,$UID_PART” echo “memberUid: $UID_FULL” >> $TMPDIF

Nach diesen Änderungen sollte man seine Apache Authentifizierung gegen den Open-Exchange LDAP laufen lassen können.