Die Open-Source-Groupware Zarafa kommt schon in der Community-Edition mit vollständiger Mapi-Unterstützung und Active-Sync-Anbindung für mobile Geräte. Auf der Cebit hat der Hersteller den Release Candidate der neuen Version 6.40 vorgestellt. Das Linux-Magazin hat ihn unter die Lupe genommen .
Als Muhammad Ali Pascha dem König von Frankreich 1845 eine Giraffe namens Zarafa schenkte, löste er einen Modetrend aus. Die Pariser Damenwelt steckte ihr Haar “à la giraffe” zu hohen Knoten auf und die Männer trugen fortan gefleckte Westen und hohe Hüte. Derartiges bleibt der Linux-Gemeinde im Jahr 2010 erspart, auch wenn die holländisch-deutsche Groupware Zarafa immer mehr Anwender findet. Die Version 6.40 des Exchange4linux-Nachfolgers im Zeichen der Giraffe ist für alle Groupware-Admins, die sich immer wieder mit Outlook-Clients oder mobilen Geräte herumschlagen müssen, einen Blick wert, beispielsweise mit dem VMware-Image auf der DELUG-DVD.
Mapi und Z-Push
Zarafa hat in den letzten Jahren immer wieder für Aufsehen gesorgt. Zunächst kam die inzwischen sauber funktionierende Mapi-Implementation in PHP und MySQL [1], die die Groupware Clientseitig wie einen Exchange-Server aussehen lässt, dann folgte eine kompatible, aber freie Active-Sync-Variante namens Z-Push (Abbildung 1, [2], [3]). Die erlaubt es dem Benutzer, ausschließlich mit Open-Source-Tools über Microsofts Synchronisationsprotokoll auf den Groupware-Server zuzugreifen. Als Clients gibt es Outlook, ein Ajax-Web-GUI und fast beliebige mobile Geräte.

Abbildung 1: Die von Zarafa entwickelte Z-Push-Technologie zur Anbindung von mobilen Geräten via Active Sync ist inzwischen ein eigenständiges Open-Source-Projekt.
Neben der freien Community-Version [4] steht Zarafa gleich in mehreren, im Vergleich zu Microsoft recht günstig gestaffelten kommerziellen Varianten bereit. Die freie Version ist kaum eingeschränkt, Zarafa verwehrt ihr lediglich den Support und limitiert den Outlook-Zugriff auf drei Clients. Enterprise-Features wie den Blackberry-Server BES, Multiserver- Support, das Active-Directory-Toolkit, erweiterte Gruppenkalender und Backup lässt sich der Hersteller bezahlen.
Für diesen Artikel kam der Release Candidate 2 der neuen Version 6.40 zum Einsatz. Mit ihr bringt Zarafa erstmals den für Unternehmen bedeutsamen 24/7-Support, dazu kommen die nahezu umfassende Android-Unterstützung und eine indexbasierte Volltextsuche auch in Mail-Attachements. Außerdem haben die Entwickler eine Portalseite im Stil von Kontact, Evolution oder I-Google gestaltet, die im Webaccess mit einem Klick auf den gesamten Benutzer-Store (»Heute-Ansicht«) verfügbar ist. Ebenfalls neu ist, dass das Webfrontend auch mit Googles Chrome-Browser, Outlook 2010 und Nokias Linux-Smartphone N900 zusammenarbeitet. Auch das getestete Motorola Milestone akzeptiert Push- Mails vom Zarafa-Server unter Android klaglos. Als Mailclient kommt etwa die Mail-App K9 [5] oder das kommerzielle Touchdown von Nitrodesk [6] in Frage. Letzteres verspricht auch, nicht nur den IMAP-Server über das Zarafa-Gateway abzufragen, sondern sämtliche Mapi- Funktionen zu nutzen.
Manuelle Konfiguration ist notwendig
Zarafa unterliegt seit 2008 der Affero GPL. Bisher gab es Binärpakete für Red Hat 4 und 5, Suse Linux Enterprise Server 10, Open Suse, Debian 4 und 5 und Ubuntu 6.06 und 8.04. Mit Erscheinen dieses Heftes dürfte die Zarafa Collaboration Platform (ZCP) auch in den Paketquellen von Ubuntus Partner-Repositories und bei Fedora bereitliegen. Die Groupware besteht neben der als Datenspeicher erforderlichen MySQLDatenbank, dem Apache-Webserver und PHP für den Webaccess aus einer Handvoll weiterer Komponenten wie dem eigentlichen Server (»zarafa-server«), dem Delivery Agent (»zarafa-dagent«), einem Spooler (»zarafa-spooler«), einem Indexer und einem POP-/ IMAP- und Ical-Gateway. Einzelheiten dazu finden sich im gut strukturierten Admin-Handbuch auf der Website. Der Server selbst bedient die Verbindungen zu den Clients (Outlook oder Webaccess) via Soap (Kasten “Zarafa und Soap”) und speichert die Verbindungs- und Nutzerdaten in seiner MySQL-Datenbank.
|
Zarafa und Soap |
|---|
|
Soap (ursprünglich für Simple Object Access Protocol) ist ein Netzwerkprotokoll für den Datenaustausch, das Remote Procedure Calls unterstützt und auf XML zur Repräsentation der Daten basiert. Für die Übertragung kommen die klassischen Internetprotokolle der Transport- und Anwendungsschicht (TCP/ IP-Referenzmodell) meist in der Form Soap über HTTP und TCP zum Einsatz. Soap ermöglicht Zarafa in erster Linie das transparente Weiterleiten von Anmelde-Informationen unabhängig von Proxy- oder Webserver-Konfigurationen. |
Blobs in der Datenbank oder Files auf der Platte?
Früher störten sich Tester oft daran, dass Zarafa Mail-Attachements als Blobs (Binary Large Object) in der Datenbank ablegte, wofür es aus technischer Sicht keinen vernünftigen Grund zu geben schien. Immerhin ließ sich damit ein komplettes Zarafa-Backup spielerisch mit einem »mysqldump –single-transaction -p zarafa > zarafa.dump« erledigen.
Seit Version 6 kann Zarafa jedoch auf Wunsch Attachments auch im Filesystem ablegen, was Backups etwa mit Rsync ermöglicht. Allerdings muss sich der Admin vor der Installation für eine Vorgehensweise entscheiden. Ein späteres Upgrade ist nur noch relativ aufwändig durch das mitgelieferte Skript »/usr/share/zarafa/ db-convert-attachments-to-files« möglich, danach ist der Rückweg allerdings ausgeschlossen.
Zarafa setzt zwingend eigene Benutzer voraus, die nicht identisch mit den Linux- System-Benutzern sind und die der Admin mit mitgelieferten Kommandozeilentools wie »/usr/bin/zarafa-admin -c« anlegt. Die Giraffe bringt auch keinen eigenen Mailserver mit, sondern lässt sich nach Belieben in die vorhandene Infrastruktur integrieren.
Auch das muss der Administrator allerdings manuell erledigen, denn per Default ist die Groupware nach der Basis-Installation nicht in der Lage, externe Mail zu empfangen. Zarafa kann zu diesem Zweck mit MTAs wie Postfix, Sendmail und Qmail zusammenarbeiten, für den Mailversand ist die Komponente »zarafa-spooler« zuständig. Das Installationsskript erfragt den gewünschten SMTP-Server und trägt ihn in »/etc/zarafa/ spooler.cfg« ein. Leider beherrscht der Zarafa-Spooler kein SMTP-Auth, deshalb verwenden die meisten Administratoren einen lokalen Mailserver.
Externe Mails abholen
Auch das Abholen externer Mail ist nicht direkt implementiert. Zwar ist der Delivery Agent »zarafa-dagent« für den Posteingang der Mapi-Stores zuständig, um die Verbindung zum MDA muss sich der Admin aber selbst kümmern. Wer keinen eigenen IMAP-Server betreibt, muss Zarafa also dazu bewegen, Mail von einem externen Account abzuholen und an »zarafa-dagent« zu übergeben.
Es bleibt überraschend viel Konfigurationsarbeit übrig, bevor Zarafa Mails empfängt und verschickt. Das Einbinden von LDAP oder Active Directory sowie die Konfiguration von Ical oder Z-Push erfordern sogar noch weitere Schritte an der Befehlszeile. Die Zarafa-Konfiguration findet in den Dateien unter »/etc/ zarafa« statt, zum Beispiel in »server.cfg«, »spooler.cfg«, »dagent.cfg«, »gateway. cfg«, »ical.cfg«.
Die Serverkonfiguration betrifft im Wesentlichen die Zugangsdaten zur Datenbank, die genutzten Ports, Speicherorte für Logdateien und Authentifizierungsmethoden. Wer Zarafa manuell ohne das Installationsskript einrichtet, findet gut dokumentierte Beispielkonfigurationen unter »/usr/share/doc/zarafa/ example-config«.
Eingehende Mails liefert Zarafas Delivery Agent (Zarafa-Dagent) an den Benutzer aus. Den eigentlichen Aufruf von »zarafa- dagent« muss der Admin daher, wie im Kasten “Externe Mails lokal zustellen” beschrieben, in die eigene Mail-Konfiguration integrieren. Damit der Agent weiß, an wen er externe E-Mails zuzustellen hat, braucht er hier den lokalen Benutzernamen.
|
Externe Mails lokal |
|---|
|
Das Abholen externer Mails von einem ISP lässt sich für jeden User am einfachsten mit Fetchmail in einer Poll-Direktive in »/etc/ fetchmailrc« anstoßen, die über den Parameter »mda /usr/bin/procmail« den MDA startet. Eine passende Procmail-Konfiguration in »/etc/procmailrc« ruft dann den Zarafa- Dagent auf, der die Mail an den angegebenen Zarafa-Benutzer zustellt: :0 w | /usr/bin/zarafa-dagent Zarafa-Benutzer EXITCODE=$ Nach einem Neustart mit »/etc/init.d/ zarafa-server reload« lassen sich per Cronjob Mails von einem externen Postfach abrufen. |
Um den Versand kümmert sich der Zarafa- Spooler. Verschickt der Anwender E-Mail via Outlook oder Webaccess, dann landet diese in jedem Fall zunächst im Postausgang des Zarafa-Servers. Der ist via Soap über die anstehende Mail informiert und instruiert seinerseits den Spooler, die EMail via SMTP zu versenden.
Windows mit Profil
Zarafa bedient derzeit mit Outlook und Webaccess zwei Clients direkt. Für den Windows-Zugriff braucht es die Installation der mitgelieferten MSI-Datei und ein neues Profil. In dem legt der Admin fest, dass Outlook als Datenbasis keine lokalen PST-Dateien nutzt, sondern via Mapi auf den Zarafa-Server zugreift.
In der Windows-Systemsteuerung erstellt »Benutzerkonten | Mail | Profile | Hinzufügen«) ein neues Outlook-Profil. Über »Zusätzliche Servertypen manuell konfigurieren« ist es möglich, nach dem Aktivieren des Radioknopfes »Andere« den E-Mail-Connector »Zarafa 6 Server« auszuwählen. Wahlweise lässt sich an dieser Stelle auch eine verschlüsselte Verbindungsaufnahme zum Server via HTTPS aktivieren.
Outlook sollte sich jetzt klaglos mit dem Zarafa-Server verbinden und den Store des konfigurierten Benutzers in der bekannten Mapi-Ordnerstruktur anzeigen. In der Profilverwaltung von Windows taucht Zarafa als eigenständiger Service bei den E-Mail-Konten auf.
Webaccess mit neuer Portalseite
Der Ajax-basierte Webaccess überzeugt und lehnt sich bewusst stark an Outlook an. Termine lassen sich auch hier komfortabel per Doppelklick anlegen und sogar mit der Maus verschieben. Der Webclient steht nach der Installation wahlweise unter »http://Zarafa-Server/webaccess« oder per HTTPS zur Verfügung.
Beim ersten Start lässt sich unter »Einstellungen « die Sprache des Webfrontends auf Deutsch einstellen (Abbildung 2). Die Lokalisation der Mailstores muss allerdings durch Mapi erfolgen, sonst zeigt Outlook trotz deutscher Menüsprache die eigentlichen Postfächer in Englisch an. Dagegen hilft der Outlook-Befehl »outlook.exe /resetfoldernames« an der Windows-Kommandozeile.

Abbildung 2: Die Sprache in Webaccess lässt sich zwar auf Deutsch einstellen, die Mapi-Stores selber muss der Admin aber mit einem eigenen Kommando unter Windows korrekt lokalisieren.
Unter »Extras | Optionen« findet sich im Webmailer ein Reiter »Zarafa-Freigaben« (Abbildung 3), mit dessen Hilfe Benutzer auch ohne Stellvertreter-Berechtigungen Zugriff auf ihre eigenen Ordner freigeben. Die eigentlichen Ordner-Berechtigungen lassen sich in Outlook über das Kontextmenü des betreffenden Folder, über »Eigenschaften | Zarafa Outlook Sharing | Erweitert« einstellen.

Abbildung 3: Zarafa-Benutzer könne anderen Nutzern Freigaben auf persönliche Ordner erteilen. Die zugehörige Konfiguration versteckt sich im Kontextmenü des Mapi-Ordners unter Outlook.
Leider gibt es im Mailprogramm von Webaccess keine Kontextmenüs. Um zum Beispiel eine E-Mail im Posteingang mit einem Flag zu markieren, ist es notwendig, diese erst per Doppelklick im Mail-Editor zu öffnen (Abbildung 4). Dort steht dann die Funktion »Markieren« als Icon bereit. Insgesamt ist Webaccess zwar etwas träge, aber dennoch komfortabler als zum Beispiel der von Openxchange. Und die Ähnlichkeit zu Outlook lässt Zarafa bei Migrationen punkten.

Abbildung 4: Manche Aktionen in Webaccess gestalten sich etwas umständlich. Weil ein Kontextmenü fehlt, braucht es einen Doppelklick und eine Einstellung im Eigenschaftendialog, um eine Mail zu markieren.
Thunderbird und Apple
Leider behandelt Zarafa Linux-Clients etwas stiefmütterlich. Selbstverständlich lassen sich mit jedem beliebigen IMAPClient Mails vom Server lesen, zumindest wenn der Dienst »zarafa-gateway« läuft. Echte Groupware-Funktionen wie das gemeinsame Nutzen vom Adressbüchern und Kalendern bleiben aber ausschließlich dem Webclient vorbehalten. Mit dem Zarafa-Service »zarafa-ical« ist es immerhin möglich, Kalender in Thunderbird oder Apples I-Cal via Ical/ Caldav zu nutzen. Beim Donnervogel braucht es dafür lediglich die aktuelle Version des Kalender-Plugins Lightning, dann wählt der User beim Anlegen eines neuen Kalenders die Option »Im Netzwerk« und das Format »ICS« oder besser »CalDAV« aus und füttert den Blitz mit der Adresse des gewünschten Kalenders und Benutzers auf dem Zarafa-Server »http://Zarafa-Server:8080/caldav«.
Push-Mail
Lob erntete Zarafa 2007, als es seine Active-Sync-Software Z-Push unter der GPL veröffentlichte und als eigenständiges Open-Source-Projekt aus der direkten Zarafa-Entwicklung auslagerte. Z-Push ermöglicht für PHP-Server die Synchronisation von E-Mail, Kalendern und Kontakten mit allen Active-Sync-kompatiblen Mobiltelefonen wie Sony Ericssons P990, W950 oder M699 sowie allen Geräten der Nokia-E-Serie, Apples I-Phone, Geräten mit Windows Mobile 5/ 6 und Pocket- PC-Betriebssystem. Die aktuelle Version beherrscht mittlerweile auch Sicherheitsfunktionen wie Remote-Wipe und ist an Android angepasst.
Z-Push besteht aus der Implementation von Active Sync und einem Backend für die Anbindung an einen Groupware-Server. Derzeit unterstützt es zwar nur Zarafa, prinzipiell lässt sich aber jede in PHP geschrieben Groupware anbinden. Die aktuelle Version 1.3 RC2 funktionierte auf dem Motorola Milestone mit Android 2.01 und dem IMAP-Client K9 problemlos.
Lucene-Suche
Ein wichtiges Highlight der neuen Version 6.40 ist zweifelsohne die integrierte Volltextsuche auf Basis von Lucene [7], die nicht nur die Texte, sondern auch die E-Mail-Anhänge automatisch indiziert und so eine sehr schnelle und vollständige Suche ermöglicht. Lucene ist ein freies Softwareprojekt der Apache Software Foundation zum Entwickeln von Suchsoftware, das auch die Desktop- Suchmaschinen Beagle (in C#) und Strigi (in C++) implementieren.
Die kostenpflichtige Zarafa-Version bringt weitere, vor allem für Unternehmen wichtige Features: Sie ist Multiserver-fähig, kommuniziert problemlos mit Exchange- Servern und integriert sich ins Active Directory. Für den umstiegswilligen Admin gibt es die passenden Migrationstools auf der Webseite.
Ein Großteil der Funktionalität von Zarafa steckt im binären PHP-Modul »mapi. so«. Dass die Zarafa-Crew ein PHP-Modul ohne Quelltext integriert, könnte irgendwann zu Problemen im Zusammenspiel mit anderen PHP-Versionen führen. Auch dass Anhänge per Default immer noch als Blobs in der Datenbank landen, darf als unglücklich bezeichnet werden.
Zielgruppe verfehlt?
Trotz seiner Alleinstellungsmerkmale bleibt bei Zarafa die Frage nach der Zielgruppe: Zu einer ernst zu nehmenden Exchange- Alternative fehlt der Groupware noch ein ansprechendes Administrationsfrontend, das auch der Windows-Admin verwenden kann, ohne tief in die Unix- Serverwelt abtauchen zu müssen.
Der Linux-Admin dagegen vermisst die Unterstützung für seine Clients, denn Zarafa ist völlig auf Outlook zugeschnitten. Trotz der vielen offenen Standards wie IMAP, Ical und Caldav bleibt auf dem Linux-Desktop nur der innovative, aber etwas träge Webclient, wenn die Anwender neben den E-Mails auch Groupware- Daten wie Kalender oder Adressen gemeinsam nutzen wollen.
Unterm Strich erweist sich Zarafa als eine sehr leistungsfähige, stabile und vor allem skalierbare Groupware-Lösung für Linux-Server, die sich insbesondere dann empfiehlt, wenn es um das Ersetzen oder Ergänzen eines oder mehrerer MS-Exchange- Server geht. (mfe)
|
Infos |
|---|
|
[1] PHP-MAPI: [http://developer.zarafa.com/php-ext] [2] Z-Push: [http://z-push.sourceforge.net] [3] Manfred Kutas, Sebastian Kummer, ,,Z-Push“, Linux Technical Review 11/09, S. 112. [4] Zarafa Community Edition: [http://www.zarafaserver.de/download-640-RC3] [5] Android K9: [http://code.google.com/p/k9mail] [6] Touch down: [http://www.nitrodesk.com] [7] Lucene: [http://lucene.apache.org] [8] Suhosin: [http://www.hardened-php.net/suhosin] |






