LDAP-Nutzerverwaltung mit Gosa

So, nach langer Zeit mal wieder ein lohnender Blogeintrag (zumindest für mich 🙂 ) Wir wollen am Lehrstuhl eine zentrale Userverwaltung für die Windows- und Linuxkisten mit geshareten Homeverzeichnissen. Für die Userverwaltung sollte außerdem noch ein einfaches Webfrontend her. Das war dann in diesem Fall eben Gosa (https://oss.gonicus.de/labs/gosa). Nach langem Rumfrickeln und -fluchen aufgrund vieler gescheiterter Versuche, das Ding einzurichten (über Einzelheiten wird das Tuch des Schweigens gehüllt), ist hier jetzt eine kurze Anleitung, Gosa 2.7.3 auf Ubuntu 12.04 Server aufzusetzen.

OpenLDAP

Als erstes installiert man kurz und schmerzfrei OpenLDAP (http://wiki.ubuntuusers.de/OpenLDAP) sudo apt-get install slapd ldap-utils Bei der Einrichtung von slapd wird man ein paar Sachen gefragt, unter anderem das Administratorpasswort für LDAP. Alles ganz nett und straight forward. Bei dieser Installation wird die erforderliche cn=config-Datenbank komplett aufgesetzt und man kann sich für das LDAP entspannt zurücklehnen. Für einen Test der Datenbank siehe den Abschnitt https://help.ubuntu.com/community/OpenLDAPServer#RTC_Configuration_Notes.

Gosa

Als nächstes installiert man gosa sowie gosa-schema aus den Repositories: sudo apt-get install gosa gosa-schema Gosa selbst installiert gleich noch einen Apache mit sowie PHP, so dass auch beim geführten Setup später auch alles funktioniert, wie es soll. In gosa-schema liegen die LDAP-Schemata, die unbedingt noch in LDAP eingepflegt werden müssen, bevor man das Websetup startet. Das funktioniert dann mittels folgender einfacher Schleife:

for schema in \
    gosa/samba3.ldif \
    gosa/gosystem.ldif \
    gosa/gofon.ldif \
    gosa/gofax.ldif \
    gosa/goto.ldif \
    gosa/goserver.ldif \
    gosa/gosa-samba3.ldif \
    gosa/goto-mime.ldif \
    gosa/trust.ldif \
    gosa/pureftpd.ldif \
    gosa/fai.ldif \
    gosa/sudo.ldif \
    gosa/openssh-lpk.ldif \
    gosa/nagios.ldif \
    gosa/kolab2.ldif \
    dyngroup.ldif;

    do ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/$schema || exit 1

done

Note: das || exit 1 kann dazu führen, dass man aus der session fliegt, wenn man das ganze nicht schön in ein Shellskript verpackt hat 🙂 Es kann sein, dass noch einige Gosa-Pakete zusätzlich installiert werden müssen, damit die Schleife auch schön durchläuft, war bei mir aber nicht notwendig. Direkt danach habe ich dann das Gosa-Setup unter http://localhost/gosa/ gestartet, ein paarmal auf ja geklickt, den admin aus meinem LDAP-Server eingetragen (das war der von der Installation), weiter auf Ja, Fixen und so weiter geklickt und die Konfigurationsdatei kam raus. Die habe ich dann in /etc/gosa/gosa.conf geschoben, die angegeben Befehle (Gruppen lesbar für www-data) eingegeben und gut ist. Jetzt habe ich ein feines Gosa dastehen und kann erstmal User anlegen. Sobald ich den NFS-Teil für die Home-Verzeichnisse rausgefunden habe, gibts einen neuen Blogeintrag 🙂

Leave a Reply