Kolab Server 3.2 auf Debian 7 installieren

Wer die Groupware Kolab auf seinem Debian Server installieren will, z.B. in einer VM wird auf ein paar Hindernisse stoßen.
Deshalb hier ein kleiner Erfahrungsbericht für die Welt da draussen, wie es bei mir erfolgreich über die Bühne ging.

Roundcubemail Webmailer

Vorbereitung:
Ein FQDN wird gebraucht (fully qualified domain name)
Einen Benutzer für die LDAP-Installation anlegen und merken. (auch die Benutzergruppe merken, in der sich dieser Benutzer befindet)
LXC-Conatainers mounten (in /etc/fstab):
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
Kolab-Repository zu den Paketquellen hinzufügen (etc/apt/sources.list):
deb http://obs.kolabsys.com:82/Kolab:/3.2/Debian_7.0/ ./
deb http://obs.kolabsys.com:82/Kolab:/3.2:/Updates/Debian_7.0/ ./

und GPG Schlüssel dazu:
# wget -qO - http://obs.kolabsys.com:82/Kolab:/3.2/Debian_7.0/Release.key | apt-key add -
# wget -qO - http://obs.kolabsys.com:82/Kolab:/3.2:/Updates/Debian_7.0/Release.key | apt-key add -

Kolab-quellen priorisieren (etc/apt/preferences.d):
VM neustarten (mount..)
Paketquellen aktualisieren (apt-get update)

Dann gehts los:
Mit aptitude(!) hat es bei mir geklappt, die Abhängigkeiten korrekt aufzulösen: (Debian hat Exim als Mailserver vorinstalliert, Kolab verwendet aber Postfix)
aptitude install kolab

Bei der Installation fragt dpkg Daten für den Mailserver ab:
Bei einer Installation hinter einem DSL-Anschluss ist „Internet mit Smarthost“ die richtige Wahl
Bei smtp-relay nichts eingeben (dazu später mehr). Für den MySQL-Rootaccount einen starkes Passwort verwenden und merken.

Danach muss der Antiviruns ClamAV noch mit Virendefinitionen versorgt und gestartet werden:
freshclam
/etc/init.d/clamav-daemon start

Jetzt kann die Kolab-Einrichtung begonnen werden:
Beim Durchlauf werden jede Menge Passwörter generiert (die übernommen werden können oder ersatzweise eigene eingegeben). Die müssen irgendwo festgehalten werden.
Wichtig gleich vorneweg: Wer mit einer VM arbeitet, ist an dieser Stelle gut beraten, die VM herunterzufahren, und die Containerdatei mit dem Laufwerksimage zu sichern, oder in der VM einen Sicherungspunkt anzulegen. Das kolab-setup kann nur einmalig ausgeführt werden und bricht bei einem späteren Lauf mit vielen Fehlermeldungen ab!
Bevor es aber dierekt los geht gleich ein Workaround: Sowohl Debian als auch das Kolab-setup setzen dem Ordner /etc/dirsrv nicht den richtigen Eigentümer. Das Setup bricht so beim 389-ds server ab. Deshalb muss vorher dieser Ordner als Eigentümer dem zuerst angelegtem LDAP-Benutzer gehören. Die erzeugten Subdirs werden dann vom Setup korrekt „eingestellt“. (fehler: mkdir_p /var/lib/dirsrv/slapd-kolab: errer -5966 (Acces Denied.))

Dann los mit dem Befehl (als root, versteht sich):
setup-kolab
Tipp: Wer das Terminal von der graphischen Oberfläche aus geöffnet hat, kann die Rückscrollzeilen auf unendlich setzen und am Ende das Protokoll mit den ganzen Passwörtern einfach im Terminalfenster markieren und herauskopieren.

Beim weiteren Durchlauf des Setup (bei der Installation des Roundcubemail-Webmailers) hagelt es zwei weitere Fehler, die bereits zu einem Bugreport geführt haben: https://issues.kolab.org/show_bug.cgi?id=2811

Ich habe zwar den Patch angewandt, auch einmal händisch die angesprochene Python Datei geändert, jedoch lief der Fehler bei mir trotzdem weiterhin auf.
(ERROR 1005 (HY000) at line 9: Can’t create table ‚roundcube.kolab_alarms‘ (errno: 150)
ERROR 1146 (42S02) at line 179: Table ‚roundcube.system‘ doesn’t exist)
Dafür gibts ein Workaround welches man nach Abschluss des Kolab-setup anwenden kann:
Die hier (http://lists.kolab.org/pipermail/users/2014-May/017164.html) angegebene SQL-Datei (http://mihai.badici.ro/linux/machinet/debian/kolab.sql) herunterladen und z.B. mit phpmyadmin unter dem mysql-account roundcube und der roundcube-tabelle (da gibts nur eine die passt) einspielen. Ich habe die restlichen vom kolab-setup vorhandenen Tabellen drinn gelassen, und nur diese aus der Datei hinzugefügt.

Danach Einloggen unter http://127.0.0.1/kolab-webadmin
benutzer: „cn=directory manager“
passwort wie vergeben.

Jetzt im Webadmin einen neuen Benutzer anlegen, im rechten Reiter wird ein Passwort vorgeschlagen, oder ein Eigenes eingeben.

Dann unter http://127.0.0.1/roundcubemail einloggen
benutzername: vorname.nachnahme@fqdn oder die über dem Passwort des neu angelegten Users angezeigte uuid

Eventuell kolab-server starten wenn login nicht geht: /etc/init.d/kolab-server start

Fertig!

Nachtrag:
Im Roundcubemail funktionieren die Kontakte nicht, weil ein der mySQL Datenbank ein Eintrag fehlt.
Die Lösung habe ich hier gefunden: https://lists.kolab.org/pipermail/users/2014-February/016704.html
I had to manually update the sql schemata:

mysql> ALTER TABLE `kolab_cache_contact` ADD `name` VARCHAR(255) NOT NULL,
-> ADD `firstname` VARCHAR(255) NOT NULL,
-> ADD `surname` VARCHAR(255) NOT NULL,
-> ADD `email` VARCHAR(255) NOT NULL;

Without this, roundcube doesn't show contacts but logs errors:

[19-Feb-2014 18:36:35,000000 +0100]: DB Error: [1054] Unknown column 'surname'
in 'order clause' (SQL Query: SELECT * FROM kolab_cache_contact WHERE
folder_id='11' AND `type` = 'contact' ORDER BY surname, email LIMIT 50) ...

[19-Feb-2014 18:48:52,000000 +0100]: DB Error: [1054] Unknown column 'name' in
'field list' (SQL Query: INSERT INTO kolab_cache_contact (folder_id, msguid,
uid, created, changed, data, xml, tags, words , type, name, firstname, surname,
email) VALUES (...)

5 Gedanken zu „Kolab Server 3.2 auf Debian 7 installieren“

  1. Hallo, ich habe versucht, die neueste Version von kolab zu installieren. Vorher hatte ich noch keine Version installiert. Die Installation schlägt fehl, weil die Pakete libmozldap-0d und mozldat-tools nicht verfügbar sind. Was kann ich tun?

    1. Hallo,
      Im Zweifelsfall immer erstmal versuchen, mit dem normalen Paketmanager die Pakete „händisch“ nachzuinstallieren,
      Bei Debian ist das „apt-get install “ u.s.w.
      Das Setup-skript von kolab ist leider mit der heißen Nadel gestrickt und prüft nicht grundsätzlich ob alle Abhängigkeiten zur Einrichtung der Softwarekomponenten vorhanden sind.
      Am besten eine saubere VM nehmen, und ein Backup vor dem ersten ausführen des kolab-setup abspeichern, was man bei Fehlschlag wieder zurückschreiben kann, da das Setupskript nur beim erstenmaligen Ausführen auf einem System überhaupt richtig funktioniert 🙁

      Leider ist die Dokumentation zu Kolab sehr Lückenhaft und Bugfixes und Wordarounds müssen mühsam aus den Mailinglisten destilliert werden. Das hat mir bei der 3.2er Version auch einige graue Haare gekostet. 3.3 hab ich daher noch gar nicht angefasst, neue Features, neue Bugs…..

  2. Hallo GUI

    ich versuche mich gerade über deine Anleitung durch die Installation des 3.3 durchkämpfen.

    Was ich gerade generell nicht verstehe: In der Installationsanleitung auf kolab.org steht nirgendswo was vom LDAP Server. Du sagst das man den User davor anlegen soll.

    Aber warum wieso?
    Wie sollte der User richtig angelegt werden. Klar kann ich ein adduser machen aber mir erschließt sich nicht warum und was soll ich den User „mitgeben“ Gruppe usw.

    1. Oh, bitte beachten das ich letztes Jahr Kolab 3.2 (!) hatte. Ich bin nicht allzu tief eingestiegen in die ganze Sache und habe mich mit der 3.3er Version noch gar nicht befasst.
      Kann durchaus sein, das jetzt bei der neuen Version wieder alles anders ist. Das Kolab-Setup enthielt halt damals in der Debian-Version diese beschriebenen Fehler.

      Der LDAP verwaltet soweit ich das verstanden habe über policy-regeln die zugriffsrechte der einzelnen Nutzer auf die Daten, die alle in einem Imap-Server in einzelnen Directorys liegen. Dabei werden auch die Kontakte im Kolab-eigenen Format in Verzeichnissen auf dem Mailserver abgelegt. Über die benutzten Formate stolpert man, wenn man sich die Dokus zu den Synchronisationslösungen ansieht, z.B. bei dem Kolab-Plugin für Thunderbird Mail.

      Auch bin ich nicht so glücklich mit dem von RedHat stammenden Directoryserver, weil der bei mir immer wieder Probleme mit den Logfiles hat und dann nicht starten will.
      Aber immo hab ich andere Projekte laufen und keine Zeit für den Mailserver.

      Sorry.
      Viel Erfolg mit der 3.3er Version!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.