Ich beschäftige mich hier mit der „EGroupware“, aktuelle Version 20.x.
EGroupware ist ein webbasierte Groupware, die verschiedene Applikationen unterstützt, insbesondere für Kalender, Adressbuch, u. a.
Die EGroupware ist Open Source (bei GitHub verfügbar, GPL2-Lizensierung) und neben einer kostenpflichtigen „EPL“-Version gibt es die frei verfügbare „Community Edition“. Sie läuft auf Linux-Servern mit Apache oder nginx, PHP und MySQL oder MariaDB.
Für gängige, aktuelle Betriebssysteme (CentOS, Debian, Fedora, OpenSuse, Ubuntu ...) gibt es vorgefertigte, einfach zu installierende Repositories.
Soweit zur Theorie. In der Praxis ergeben sich dann aber doch einige Fallstricke...
Ich nutze die Egroupware nun schon seit einer Weile. In den ersten Versionen hatte ich etwas mit der Installation gekämpft. Als ich dann irgendwann auf die Egroupware 19 aktualisieren wollte, mein Server aber nicht alle Systemvoraussetzungen erfüllte, entschloss ich mich, auf die Docker-basierte Version umzusteigen. Als (damaliger) Docker-Einsteiger war das auch nicht ganz einfach, mittlerweile bin ich damit aber sehr glücklich.
Auf Github steht eine Anleitung bereit, wie man die Egroupware unter Docker betreibt. Für Docker-Anfänger kann das etwas unübersichtlich sein. Es handelt sich nämlich hier nicht um einen einfachen Docker-Container, sondern einen ganzen Zoo von bis zu 10 Containern, die über das Tool docker-compose gestartet und vernetzt werden.
Mit etwas besseren Docker-Kenntnissen lässt sich das Ganze aber einfach anpassen und abspecken. Ich hatte mich z. B. entschieden, den db-Container mit der MariaDB wegzulassen und die Egroupware stattdessen mit der MySQL-Datenbank zu betreiben, die auf dem Hostrechner läuft. (So profitiert das System dann automatisch von der Datenbanksicherung, die auf dem Hostrechner implementiert ist.) Auch den watchtower, der alle Container automatisch aktualisiert, fand ich entbehrlich. (Ich mag es nicht, wenn automatische Updates im Zweifelsfall alles automatisch kaputt machen.) Auch die Container collabora-key, rocketchat, mongo, mongo-init-replica können bedenkenlos weggelassen werden, wenn die Collabora-Suite und Rocketchat nicht genutzt werden.
Seit Version 17.1 setzt EGroupware auf die Integration der Collabora-Suite. Das mag ganz toll sein, führt aber leider dazu, dass die Anzeige-Funktionalität für Dokumente völlig im Eimer ist. Soll heißen: Der Dateimanager der EGroupware, mit dem man bisher einfach und leicht wichtige Dokumente zentral ablegen und anzeigen (und ODF-Dokumente über das integrierte webodf-Javascript sogar direkt online bearbeiten) konnte, ist ohne eine Lizenz für die Collabora-Suite nicht mehr vernünftig nutzbar. Die Funktionalität lässt sich auch in der Admin-Oberfläche nicht abschalten, jedenfalls habe ich nichts gefunden. Man kann natürlich versuchen, im Programmcode etwas zu machen, der ist aber für Nichteingeweihte ziemlich unübersichtlich. Leider sind die im Web auffindbaren Informationen auch nicht sehr hilfreich, da zum Großteil nicht aktuell.
Tatsächlich habe ich dann eine ganz einfache Lösung gefunden: Nicht aus dem Repository installieren, sondern einfach direkt von GitHub! Dann bekommt man einen Server, in dem das Anzeigen von Dokumenten aus dem Dateimanger und das Bearbeiten von ODF-Dokumenten ohne die Collabora-Suite problemlos funktioniert!
Klingt kompliziert? Ist es aber gar nicht. In Anlehnung an das Dokument README.md, hier für mein Debian-9:
apt-get install composer cd /path/to/your/docroot git clone -b 17.1 https://github.com/EGroupware/egroupware.git cd egroupware ./install-cli.php
... und dann einfach über http://servername/egroupware/ den Anleitungen folgen und fertig!
Anscheinend kann man Collabora deaktivieren, indem man den Anwendern die Aufrufberechtigung entzieht. Hätte ich mir anders vorgestellt, vermutlich hab ich es deshalb nicht gefunden.
EGroupware-Homepage: https://www.egroupware.org/de/
Offizielles Hilfe-Forum: https://help.egroupware.org/
GitHub: https://github.com/EGroupware
Wikipedia-Artikel: https://de.wikipedia.org/wiki/EGroupware