Die Open-Source-Groupware grommunio wird als ernstzunehmende Alternative zu Microsoft Exchange gehandelt. In diesem Workshop zeigen wir anhand der wichtigsten Schritte, wie Sie die Software aufsetzen und eine existierende Exchange-Umgebung migrieren. Neben der Nutzersynchronisation via LDAP hilft dabei auch ein Migrationsskript für die PowerShell. Ganz vermeiden lässt sich händisches Nacharbeiten damit allerdings nicht.
Grommunio ist eine Open-Source-Software, die eine Exchange-ähnliche Groupware-Erfahrung für eine Vielzahl von Clients bieten will. Im Kern stellt das Produkt zu Exchange kompatible Schnittstellen bereit. grommunio implementiert dazu die Microsoft-Protokolle RPC-über-HTTP und MAPI-über-HTTP und ermöglicht damit die nahtlose Verwendung von Outlook. Der Newcomer in der Groupware-Szene bringt neben E-Mail und Kontakten auch Support für Kalender, Dateisynchronisation (ownCloud), Aufgabenverwaltung, Videokonferenzen (Jitsi), Chat (Mattermost) und weitere Collaboration-Features mit. Aufgrund seiner Stärken bei Skalierbarkeit und Hochverfügbarkeit steht dem Betrieb selbst im Enterprise-Bereich nichts im Weg.
Der österreichische Hersteller stellt seine Software kostenfrei zum Download [1] zur Verfügung. Dies betrifft die Standardversion, das Community-Abonnement, das für fünf Benutzer mit grundlegenden Funktionen wie Groupware und Verwaltung mobiler Geräte kostenfrei ist. Die Basic-Version umfasst E-Mail-Support und kostet 1,99 Euro pro Monat und User bei mindestens sechs Anwendern. Wer Telefonsupport wünscht, erwirbt die Plus-Edition für 2,99 Euro. Ab 50 Usern bietet das Business-Abonnement zum Preis von 4,94 Euro je Benutzer und Monat zusätzlich Hochverfügbarkeitsfunktionen. Im Folgenden beschreiben wir die Installation auf Basis der ISO-Installationsdatei. Alternativ findet sich auf der Downloadseite des Anbieters ein Docker-Image, eine OVA-Datei für VMware sowie ein Raspberry-Pi-Paket.
Fix installiert
Kopieren Sie die ISO-Datei auf den designierten grommunio-Server, der mindestens über 4 CPUs und 4 GByte RAM verfügen sollte. Nach dem Booten startet automatisch die Installationsroutine, die das vorhandene Laufwerk in Anspruch nimmt. Nach dem Neustart der Appliance öffnet sich die CUI (Console User Interface) von grommunio. Konfigurieren Sie hier das Tastaturlayout, die IP-Adresse, den Host-Namen sowie den oder die DNS-Server. Nach dem Systemstart ist noch kein Root-Passwort gesetzt, daher ist jetzt der richtige Zeitpunkt, es zu vergeben.
Grommunio ist eine Open-Source-Software, die eine Exchange-ähnliche Groupware-Erfahrung für eine Vielzahl von Clients bieten will. Im Kern stellt das Produkt zu Exchange kompatible Schnittstellen bereit. grommunio implementiert dazu die Microsoft-Protokolle RPC-über-HTTP und MAPI-über-HTTP und ermöglicht damit die nahtlose Verwendung von Outlook. Der Newcomer in der Groupware-Szene bringt neben E-Mail und Kontakten auch Support für Kalender, Dateisynchronisation (ownCloud), Aufgabenverwaltung, Videokonferenzen (Jitsi), Chat (Mattermost) und weitere Collaboration-Features mit. Aufgrund seiner Stärken bei Skalierbarkeit und Hochverfügbarkeit steht dem Betrieb selbst im Enterprise-Bereich nichts im Weg.
Der österreichische Hersteller stellt seine Software kostenfrei zum Download [1] zur Verfügung. Dies betrifft die Standardversion, das Community-Abonnement, das für fünf Benutzer mit grundlegenden Funktionen wie Groupware und Verwaltung mobiler Geräte kostenfrei ist. Die Basic-Version umfasst E-Mail-Support und kostet 1,99 Euro pro Monat und User bei mindestens sechs Anwendern. Wer Telefonsupport wünscht, erwirbt die Plus-Edition für 2,99 Euro. Ab 50 Usern bietet das Business-Abonnement zum Preis von 4,94 Euro je Benutzer und Monat zusätzlich Hochverfügbarkeitsfunktionen. Im Folgenden beschreiben wir die Installation auf Basis der ISO-Installationsdatei. Alternativ findet sich auf der Downloadseite des Anbieters ein Docker-Image, eine OVA-Datei für VMware sowie ein Raspberry-Pi-Paket.
Fix installiert
Kopieren Sie die ISO-Datei auf den designierten grommunio-Server, der mindestens über 4 CPUs und 4 GByte RAM verfügen sollte. Nach dem Booten startet automatisch die Installationsroutine, die das vorhandene Laufwerk in Anspruch nimmt. Nach dem Neustart der Appliance öffnet sich die CUI (Console User Interface) von grommunio. Konfigurieren Sie hier das Tastaturlayout, die IP-Adresse, den Host-Namen sowie den oder die DNS-Server. Nach dem Systemstart ist noch kein Root-Passwort gesetzt, daher ist jetzt der richtige Zeitpunkt, es zu vergeben.
Für die folgenden Schritte sollte der neue grommunio-Server eine Verbindung zum Internet haben, da die Setuproutine zunächst die aktuellen Patches installiert. Starten Sie im Menü über "grommunio
setup wizard" den Setupassistenten, der unter anderem durch die Installation der Datenbank, die Konfiguration der E-Mail-Domäne und wahlweise den Import eines bestehenden SSL-Zertifikats oder die Erstellung eines Let's-Encrypt-Zertifikats führt. Wenn Sie bereits über eine gültige Subskription verfügen, geben Sie Ihren grommunio-Account ein, um die Enterprise-Repos zu nutzen. Alternativ fahren Sie mit den Community-Repos fort.
Die Administration von grommunio erfolgt über die Webadmin-GUI, die Sie zunächst über die unverschlüsselte URL "http://<Servername>:8080" erreichen. Falls Sie diese Seite nach dem erforderlichen Server-Reboot nicht aufrufen können, führen Sie die folgenden Kommandos auf der Kommandozeile aus:
systemctl enable grommunio-admin-api
systemctl restart grommunio-admin-api
Nach dem Login in der Web-GUI zeigt Ihnen grommunio den Status der installierten Dienste. Alle Services sollten grün sein. Andernfalls aktivieren Sie die betreffenden Dienste und starten den Server anschließend neu.
User über LDAP synchronisieren
Nachdem grommunio nun läuft, kann es an die Vorbereitungen zur Migration der Exchange-Daten gehen. Als wesentliches Merkmal eines Umzugs muss grommunio ja über die betreffenden User aus der Microsoft-Software verfügen. Deren Synchronisation und spätere Authentisierung dient die Anbindung an das Active Directory mittels LDAP-Schnittstelle.
Zunächst müssen Sie in der Webadmin-GUI von grommunio im gleichnamigen Menüpunkt eine "Organization" eintragen und anschließend unter "Domains" den FQDN der E-Mail-Domäne konfigurieren. Im Anschluss nehmen Sie sich den Menüpunkt "Konfiguration" im Abschnitt "Directory" vor. Geben Sie unter "LDAP Server" den AD-Server an. Unter "LDAP Bind DN" erwartet das System einen Service-Account im AD. Leserechte reichen für diesen User aus. Der Eintrag erfolgt als Distinguished Name:
Unter "LDAP Base DN" spezifizieren Sie den gewünschten Pfad, unter dem die User gesucht werden:
OU=Benutzer,OU=_LAB,DC=lab,DC=ultrino,DC=lan
Wenn Sie als Authentifizierungsmechanismus den Wert "Automatisch" auswählen, können Sie in grommunio zusätzlich lokale User anlegen, die nicht im AD vorhanden sind. Unter "LDAP Template" ist noch "Active Directory" auszuwählen, um die richtigen LDAP-Einstellungen zu setzen. Sie können nun interaktiv wahlweise Benutzer synchronisieren oder Benutzer importieren als auch vorhandene synchronisieren. Auf der Konsole nutzen Sie hierfür das Tool "grommunio-admin". Darüber lassen sich Kommandos bei Bedarf per Cronjob automatisieren. Die wichtigsten Befehle finden Sie im Kasten "Nutzermanagement mit grommunio-admin". Bedenken Sie hierbei, dass grommunio auf fünf Benutzer begrenzt ist, sollten Sie noch keine Lizenz hinterlegt haben.
Nutzermanagement mit grommunio-admin
Verbindung herstellen:
grommunio-admin ldap
Successfully connected to 10.0.1.1:389 as CN=grommunio,OU=ServiceAccount,OU=_LAB, DC=lab,DC=ultrino,DC=lan
User synchronisieren:
grommunio-admin ldap downsync --complete –yes
Synchronizing 20 users...
Synchronizing user 'Lühse, Anna' (anna.luehse@lab.ultrino.lan)
User updated.
Synchronizing user 'Biener-Haken, Cara' (cara.biener-haken@lab.ultrino.lan)
User 'cara.biener-haken@lab.ultrino.lan' created with ID 43.
(…)
User und Mailboxen, die im AD nicht mehr vorhanden sind, löschen:
grommunio-admin ldap check -r -m -y
Checking 20 users...
LDAP entries of the following users could not be found: ann.probe@lab.ultrino.lan
Unloading exmdb stores...
Removing mail directories...
Deleted 1 user
PowerShell-Migrationsskript
Für die Migration der Exchange-Postfächer stellt das grommunio-Team auf GitHub ein PowerShell-Skript zur Verfügung [2]. Es automatisiert die Datenübertragung, indem es die Exchange-Postfächer ausliest, diese auf eine Freigabe exportiert, die Benutzer in grommunio anlegt und anschließend dort die Postfächer importiert. Die Ausführung des Skripts erfolgt direkt auf dem Exchange-Server.
Zur Vorbereitung erstellen Sie ein Share für die Migrationsdaten und setzen die Berechtigung für den Migrationsuser auf die Exchange-Rolle "Mailbox Import Export". Dann mountet der grommunio-Server das Share mit den Kommandos
Teilen Sie nun dem Skript die Parameter Ihrer Umgebung mit, indem Sie die entsprechenden Variablen editieren. Sofern Sie über eine eigene CA verfügen, signieren Sie das Skript. Alternativ setzen Sie vor Ausführung die benötigte Berechtigung:
Set-ExecutionPolicy unrestricted
Starten Sie die Migration mit
./exchange2grommunio.ps1
Den Migrationserfolg sollte das Skript mit diversen Informationen wie der Anzahl der erstellten Mailboxen und der Gesamtmenge der übertragenen Daten erfolgreich quittieren.
Damit nun die Outlook-Clients zuverlässig ihren Weg zum Exchange-Ersatz grommunio finden, sind noch zwei Schritte erforderlich. Zum einen muss für die Namensauflösung des neuen Servers ein entsprechender A-Record im DNS vorhanden sein und ein zusätzlicher Autodiscover-Eintrag erstellt werden (autodiscover.lab.ultrino.lan). Zum anderen ist für migrierte Workstations in einer AD-Umgebung das Setzen des folgenden Registry-Keys (gilt für Outlook 2016/2019/ 2021/ O365) notwendig:
Damit schalten Sie die Exchange-Autodiscovery für den migrierten Exchange-Server ab. Weitere Handreichungen zu diesem Thema liefert [3].
Datenübernahme mit Lücken
Als angehender grommunio-Administrator haben Sie nun den größten Teil des Exchange-Umzugs erledigt. Die Outlook-Anwender können jetzt die gewohnten Funktionen wie E-Mail und Kalender benutzen, ohne einen Unterschied durch das geänderte Backend zu bemerken. Per Browser haben sie nun zudem Zugriff auf neue Funktionen wie Chat und Videokonferenzen.
Je nach Umgebung und Anforderungen verbleibt allerdings weiterer Pflegeaufwand, der sich im besten Fall zumindest teilweise automatisieren lässt. So überträgt das Migrationsskript keine Berechtigungen oder Stellvertretungen nach grommunio. Auch Verteilerlisten aus Exchange lassen sich damit nicht als grommunio-Mailinglisten anlegen. Hier müssen Sie bei Bedarf selbst Hand anlegen oder ein PowerShell-Skript erstellen, mit dem Sie die Mitglieder mit ihren E-Mail-Adressen auslesen und in grommunio anlegen.
Öffentliche Ordner sowie Ressourcenpostfächer finden im Migrationsvorgang ebenfalls keine Berücksichtigung. Sie können diese in eine PST-Datei exportieren und anschließend in grommunio einlesen. Für Adresslisten in Exchange existiert kein Pendant in grommunio. Zusätzliche Alias-E-Mailadressen müssen Sie ebenfalls von Hand via Web-Admin-GUI in grommunio nachpflegen.
Parallelinstallation nicht möglich
Obwohl grommunio mit dem LDAP-Abgleich und dem Migrationsskript einen praktikablen Weg für eine weitgehend automatische Umstellung von Exchange bereitstellt, müssen sich Groupware-Administratoren bei dem konkreten Umzug zu grommunio darauf einstellen, dass sich dieser nur in einem Rutsch bewerkstelligen lässt. Der Grund dafür ist, dass keine Koexistenz beider Systeme darstellbar ist, weil sie ihre Ressourcen nicht miteinander teilen können. Auch Outlook auf den Clients ist neu zu konfigurieren, was zu einer Turnschuhaktion für die Admins werden könnte.
Dies steht im Gegensatz zu Exchange-Upgradeszenarien, beispielsweise beim Wechsel von Exchange 2016 auf 2019. Hierbei richtet der Admin den neuen Exchange-Server parallel zum alten Server in derselben Organisation ein, der dadurch alle Ressourcen wie Adresslisten, Verteiler, User und Quotas erhält. So kann gerade bei einer großen Zahl von Mailboxen die Migration über einen längeren Zeitraum schrittweise und ohne Downtime erfolgen.
Fazit
Der Umzug von Exchange zu grommunio ist mit den verfügbaren Tools recht schnell und einfach bewerkstelligt, wenngleich in den meisten Fällen manuelle Nacharbeit unumgänglich sein dürfte. Dies ist jedoch prinzipbedingt unvermeidbar und kein Nachteil von grommunio selbst. Die Groupware bietet sich für verschiedenste Umgebungen und Szenarien an. Die Dokumentation des jungen Projekts ist allerdings noch lückenhaft, daher kann das Partnernetzwerk des Herstellers gefragt sein.