Dokumentation der Seafile App für UCS

Definitionen

Univention Corporate Server (UCS) UCS ist ein Debian-basiertes Server-Betriebssystem mit integriertem Identity- und Infrastrukturmanagementsystem für die zentrale und plattformübergreifende Verwaltung von Servern, Diensten, Clients, Desktops und Benutzern. UCS wird von der Univention GmbH mit Sitz in Bremen entwickelt.
Wenn in diesem Text von «einem oder dem UCS» gesprochen wird, ist damit eine UCS-Instanz gemeint.
UCS-Host Ein UCS-Host ist eine virtuelle Maschine oder ein physischer Server, auf dem UCS installiert ist.
Univention App Center Das Univention App Center (auch App Center) ist ein App Store für UCS. Unterschiedliche Hersteller bieten dort ihre Softwarelösungen für Unternehmen und öffentliche Einrichtungen an. App Center Apps lassen sich mit wenig Aufwand installieren sowie über das zentrale UCS Managementsystem verwalten. Das App Center wird von der Univention GmbH betrieben.
Seafile App Die Seafile App ist ein im Univention App Center angebotener Docker Container, der auf UCS einen Seafile Server Professional Edition mitsamt Voraussetzungen und ergänzenderen Diensten installiert. Über entsprechende Install-Skripte wird Seafile mit dem Identitymanagement und anderen Diensten des UCS sowie anderen Apps aus dem App Center integriert. Die Seafile App wird von der datamate GmbH & Co. KG mit Sitz in Mainz entwickelt.
Seafile Server Professional Edition Der Seafile Server Professional Edition (auch Seafile) ist eine File Collaboration Lösung der Seafile Ltd. mit Sitz in Peking, China. Europa-Generalvertriebspartner von Seafile ist die datmate GmbH & Co. KG.
Seahub Seahub ist das Webinterface von Seafile. Nach der Installation der Seafile App über das App Center ist Seahub über die URL http(s)://ucs-host.domain.tld/seafile erreichbar.
System-AdministrationDie System-Administration ist ein Bereich in Seahub, über den sich Seafile verwalten und an individuelle Anforderungen anpassen lässt. Nur Administratorbenutzer von Seafile haben Zugriff auf die System-Administration.

1. Voraussetzungen

Die Seafile App kann auf einem UCS der Version 4.4-1 errata200 (veröffentlicht am 16. Juli 2019) und neuer installiert werden. Die weiteren Voraussetzungen sind in den folgenden Unterabschnitten dargestellt.

1.1. Hardwarevoraussetzungen

Die von der Seafile App benötigten Ressourcen richten sich weitgehend nach der Anzahl der gleichzeitigen Zugriffe (d.h. Benutzer, die Seafile gleichzeitig verwenden). Folgende Mindestanforderungen sollten auf einem UCS für den performanten Betrieb der Seafile App erfüllt sein:

  • < 25 Anwender: 2 CPU Cores, 2GB RAM
  • < 100 Anwender: 2 CPU Cores, 4GB RAM
  • < 1.000 Anwender: 4 CPU Cores, 8GB RAM

Für einen performanten Betrieb von Seafile ist es darüber hinaus empfehlenswert, UCS und die Datenbank auf einer SSD zu installieren. Wenn Sie die Seafile App mit anderen Apps verknüpfen/integrieren (z.B. den Online Editoren Collabora oder ONLYOFFICE), dann sind zusätzliche Hardware-Ressourcen empfehlenswert.

1.2. Lizenzvoraussetzungen

Seafile ist proprietäre Software und benutzt ein sogenanntes Named-User Lizenzmodell. Bei dieser Software-Lizenzierungsform wird in der Lizenz die maximale Anzahl der registrierbaren Benutzer festgelegt.

Gleichzeitig können Sie Seafile auch ohne Lizenz ausprobieren. Die Seafile App kann uneingeschränkt mit bis zu drei Benutzern verwendet werden. Der Administratorbenutzer, der bei der Installation der Seafile App angelegt wird, ist einer dieser drei Benutzer. Um Seafile mit mehr als drei Benutzern nutzen zu können, müssen Sie eine Lizenz erwerben.

Eine Lizenz für bis zu 9 Benutzer können Sie im Seafile Customer Center in einem automatisierten Verfahren erwerben. Wenn Sie mehr als 9 Benutzer lizenzieren wollen, dann kontaktieren Sie den Seafile Vertriebspartner datamate. Die Preisliste finden Sie hier.

Zusätzliche Benutzer aktivieren Sie mit einer Lizenzdatei, die Sie auf dem UCS hinterlegen. Verbinden Sie sich via SSH oder (S)FTP/SCP mit dem UCS-Host und kopieren Sie die Lizenzdatei unter den Pfad /var/lib/univention-appcenter/apps/seafile/data/seafile-data/seafile/. Achten Sie darauf, dass die Lizenzdatei den Namen seafile-license.txt hat. Starten Sie nun die Seafile App neu. Dies können Sie entweder mit dem Shell-Befehl univention-app restart seafile oder über die App-Einstellungen im App Center erledigen. Über den Menüpunkt ‘Info’ in der System-Administration von Seafile können Sie jederzeit den aktuellen Lizenzstatus überprüfen. Allgemeine Informationen zur Lizenzdatei und der Lizenzverwaltung in Seafile finden Sie hier.

Der Upload der Lizenzdatei über den Menüpunkt ‘Info’ in der System-Administration führt dazu, dass die Lizenzdatei im Seafile Container abgespeichert und bei einem Update der Seafile App (siehe Abschnitt 3.2.) nicht übernommen wird. Der Lizenzupload über die System-Administration ist daher nicht empfohlen.

2. Installation

Die Seafile App lässt sich einfach über das App Center installieren. Beachten Sie folgende Hinweise zur Installation.

2.1. Ablauf

Die Installation der Seafile App erfolgt – vereinfacht gesprochen – in vier Schritten:

  • Abfrage der Zugangsdaten des zukünftigen Seafile-Administratorbenutzers
  • Download und Speicherung aller für die Installation benötigten Dateien
  • Prüfung auf andere installierte Apps für die automatische Integration
  • Konfiguration der Seafile App inkl. Anlage des Administratorbenutzers

Die Installation kann je nach Umständen bis zu 15 Minuten oder länger dauern. Nach Abschluss der Installation erreichen Sie das Seafile Webinterface Seahub über die URL http(s)://ucs-host.domain.tld/seafile. Die Anmeldung mit dem erstellen Administratorbenutzer ist sofort und ohne weitere vorbereitende Maßnahmen möglich.

2.2. Administratorbenutzer

Seafile bietet verschiedenste Möglichkeiten der Benutzerauthentifizierung. Die Seafile App verwendet die Seafile-eigene Benutzerdatenbank und eine Schnittstelle zur UCS-Benutzerverwaltung.

Der Administratorbenutzer, dessen Zugangsdaten Sie im ersten Schritt der Installation angeben haben, wird in der Benutzerdatenbank von Seafile angelegt. Dieser User ist unabhängig von der UCS-Benutzerverwaltung. Mit diesem Benutzer haben Sie unmittelbaren Zugriff auf die System-Administration.

Ein Administrator kann über den Tab ‘Admins’ im Menüpunkt ‘Benutzer’ der System-Administration weitere Benutzer mit Administratorrechten ausstatten. Dies können sowohl Benutzer aus der Seafile-eigenen Benutzerdatenbank genauso wie Benutzer aus der UCS-Benutzerverwaltung (siehe Abschnitt 5) sein.

Sollten Sie versehentlich alle Administratorbenutzer gelöscht bzw. deaktiviert oder deren Zugangsdaten vergessen haben, dann können Sie das Administratorkonto über die Kommandozeile zurücksetzen oder einen neuen Administratorbenutzer anlegen. Verbinden Sie sich dafür mit dem UCS-Host und wechseln Sie mit dem Befehl docker exec -it seafile /bin/bash in den Seafile Container. Der Befehl ./seafile-server-latest/reset-admin.sh verlangt die Eingabe einer E-Mail-Adresse und eines Passworts. Anschließend wird entweder der vorhandene Benutzer wieder aktiviert bzw. sein Passwort geändert oder ein neuer Administratorbenutzer angelegt.

2.3. Integration von Online Editoren

Im dritten Schritt der Installation prüft Seafile, ob die Collabora Online oder die ONLYOFFICE App auf dem UCS-Host installiert ist. Wird eine von beiden gefunden, dann wird die installierte App automatisch mit Seafile integriert, so dass Benutzer direkt in Seahub Office Dokumente mit der App bearbeiten können. Werden mehrere Online Editoren gefunden, wird keine App automatisch konfiguriert.

Die Integration der Online Editoren lässt sich natürlich auch im Nachhinein manuell über die Konfigurationsdateien von Seafile konfigurieren (siehe Abschnitt 6).

2.4. Weitere Integrationen

Eine automatische Integration mit anderen Apps des App Stores (z.B. Groupware, Backup, Antimalware) ist aktuell nicht verfügbar. Seafile bietet aber vielfältige Konfigurationsoptionen über seine Konfigurationsdateien an. So sind viele weitere Intergrationen der Seafile App mit anderen Apps auf einem UCS möglich (siehe Abschnitt 6).

3. Update

Nach Veröffentlichung neuer Seafile Releases werden aktualisierte Seafile Apps zeitnah im App Center zur Verfügung gestellt. Von dort lassen sich Updates mit einem Klick installieren. Die Update-Skripte, die bei einer Standalone Seafile Instanz im Rahmen eines Updates ausgeführt werden müssen, werden beim Seafile App Update automatisch ausgeführt. Folgende Hinweise sind wichtig, um Komplikationen beim Update zu vermeiden.

3.1. Auswirkungen auf die Systemkonfigurationen

Vorgenommene Konfigurationsanpassungen über die System-Administration bleiben bei einem App Update erhalten. Gleiches gilt für alle in Konfigurationsdateien vorgenommenen Änderungen (siehe Abschnitt 6.). Dies ist der Fall, da die Konfigurationsdateien außerhalb des Seafile Containers gespeichert sind.

Anders verhält es sich bei Konfigurationsanpassungen des Webservers nginx. Dessen Konfigurationsdateien befinden sich innerhalb des Containers der Seafile App und werden bei einem Update ersetzt. Sichern Sie daher die nginx Conf-Dateien vor einem Update, wenn Sie darin manuelle Anpassungen vorgenommen haben. Dies ist beispielsweise dann der Fall, wenn Sie die WebDAV-Schnittstelle von Seafile aktiviert haben.

3.2. Auswirkung auf die Seafile Lizenz

Wenn Sie – wie empfohlen – die Lizenzdatei per SSH/(S)FTP/SCP auf Ihrem UCS-Host abgelegt haben (siehe Abschnitt 1.2), dann ist nach einem App Update nichts weiter zu tun. In der aktualisierten Seafile App werden alle lizenzierten Benutzer zur Verfügung stehen.

Anders verhält es sich, wenn Sie die Lizenzdatei über die System-Administration hochgeladen haben. In diesem Fall müssen Sie nach jedem Update der Seafile App die Lizenz erneut hochladen. Bitte bedenken Sie, dass Seafile den Start verweigern wird, wenn zum Zeitpunkt des Starts der App mehr als drei Benutzer aktiv sind.

4. Deinstallation

Die Deinstallation der Seafile App erfolgt – genau wie deren Installation – über das App Center. Sie müssen die Deinstallation aus Sicherheitsgründen zweimal bestätigen.

Ab der Version 7.0.10 werden bei der Deinstallation nur die durch die Seafile App installierten Docker Container gelöscht. Datenbank und gespeicherte Dateien liegen weiterhin im Ordner /var/lib/univention-appcenter/apps/seafile/data. Im Ordner /var/lib/univention-appcenter/backups/appcenter-backup-seafile:TIMESTAMP/conf liegt die Datei mysql_password.secret. Wenn Seafile vollständig vom UCS-Host entfernt werden soll, dann müssen diese beiden Ordner ebenfalls gelöscht werden.
In der Version 7.0.7 werden bei der Deinstallation der App alle Daten, die in Seafile gespeichert sind, dauerhaft gelöscht. Die Daten lassen sich nicht wiederherstellen.

5. Benutzer- und Gruppenverwaltung

Die Seafile App nutzt die LDAP-basierte Benutzerverwaltung des UCS. Die folgenden Erläuterungen erklären, was es dabei zu beachten gibt.

5.1. Benutzerfreischaltung

Sie schalten Benutzer für Seafile über die UCS-Benutzerverwaltung frei. Die Übergabe der Daten der freigeschalten Benutzer (Vorname, Nachname, Benutzername und ein E-Mail-Kontakt) in die Seafile Benutzerdatenbank erfolgt alle 60 Sekunden. Nach Abschluss des Benutzerdatenimports kann sich der Benutzer an Seafile anmelden.

Seafile benötigt zwingend eine E-Mail-Adresse des Benutzers. Das Feld ‘Primäre E-Mail-Adresse’ in der UCS-Benutzerverwaltung muss daher eine E-Mail-Adresse enthalten.

Einem für Seafile freigeschalteten Benutzer wird automatisch die Seafile-Rolle ‘Standard’ zugewiesen. Die Berechtigungen dieser Rolle lassen sich über die Rollenverwaltung definieren und ändern. Administratorberechtigungen für Seafile werden nicht über die UCS-Benutzerverwaltung vergeben. Diese Rollenzuweisung erfolgt in der System-Administration (siehe Abschnitt 2.2.).

Die Anzahl der aktiven Benutzer wird durch die Seafile Lizenzdatei limitiert. Die Prüfung der Benutzeranzahl erfolgt durch Seafile im Rahmen der LDAP-Anbindung. Sie können in der UCS-Benutzerverwaltung beliebig viele Benutzer für Seafile aktivieren, es werden jedoch nur so viele Anwender in Seafile angelegt, wie es die Lizenz zulässt.

Wenn Sie ans Limit der möglichen Benutzer stossen, dannn haben Sie zwei Möglichkeiten, um weitere User in Seafile anzulegen: Sie können die Seafile Lizenz upgraden, d.h. mit mehr Benutzern ausstatten, oder Sie können anderen Anwender in der UCS-Benutzerverwaltung die Berechtigung für Seafile entziehen (siehe Abschnitt 5.2.). Bei der nächsten LDAP-Synchronisation der Benutzer werden diese Anwender in Seafile auf Status ‘inaktiv’ gesetzt, wodurch Sie nicht mehr gegen das Benutzerlimit der Lizenzdatei zählen.

5.2. Benutzerdeaktivierung

Die Deaktivierung eines Benutzers erfolgt wie die Freischaltung eines Benutzers über die UCS-Benutzerverwaltung. Ein Benutzer, dem die Berechtigung für Seafile entzogen wird, wird in Seafile auf den Status ‘inaktiv’ gesetzt. Ein inaktiver Benutzer kann sich nicht mit dem Seafile Server verbinden – weder über die Seafile Weboberfläche noch über einen Client. Seine Bibliotheken bleiben bestehen und alle Freigaben an andere Benutzer und Sharing-Links funktionieren weiterhin.

Eine bekannte Komplikation zwischen Seafile und der UCS-Benutzerverwaltung ist, dass ein Benutzer, dem die Seafile Berechtigung entzogen wird, solange zu den lizenzpflichtigen Benutzern zählt, bis ein neuer Benutzer für Seafile freigeschaltet wird.

Die Löschung eines Benutzers im Menü ‘Benutzer’ der System-Administration führt dazu, dass alle Bibliotheken des gelöschten Benutzers in den Papierkorb verschoben werden. Der Benutzer bleibt aber nicht dauerhaft gelöscht, da er über die LDAP-Anbindung nach spätestens 60 Sekunden wieder neu angelegt wird. Die Bibliotheken eines so gelöschten und wieder neu angelegten Benutzers bleiben im Papierkorb. Die Benutzerverwaltung über die System-Administration von Seafile ist daher nicht empfohlen.

5.3. Gruppen

Die Seafile-Freischaltung einer über die Univention Management Console erstellt Gruppen ist nicht ohne weiteres möglich. Grund dafür ist, dass die LDAP-Anbindung der Seafile App nur Benutzer berücksichtigt. Die Freischaltung für Gruppenmitglieder müssen daher individuell, Mitglied für Mitglied, erfolgen.

Diese Standardeinstellung können Sie in der LDAP-Konfiguration der Seafile App manuell anpassen. Beispielsweise können Sie Filter für die LDAP-Anbindung ändern und Benutzer aus einer Gruppe in Seafile synchronisieren lassen. Alternativ können Sie mehrere Univention Gruppen in Seafile als Gruppen synchronisieren. Mehr dazu finden Sie in Abschnitt 6.

6. Serverkonfiguration

Die Seafile App bietet nur wenige Konfigurationsmöglichkeiten über das App Center. Der mit der App installierte Seafile Professional Server verfügt aber über vielfältige Konfigurationsoptionen mittels seiner eigenen Konfigurationsdateien. Über deren manuelle Anpassung lässt sich Seafile zielgenau für die eigenen Bedürfnisse individualisieren.

6.1. Konfigurationsmöglichkeiten über die UCS App Einstellungen

Sie haben in den Einstellungen der Seafile App folgende Konfigurationsmöglichkeiten:

  • SMTP-Konto für den Mail-Versand: Der Seafile Server verwendet dieses Mail-Konto, um Benachrichtigungen, Freigabe-Links und Benutzereinladungen zu versenden.
  • Aktivierung des WebDAV-Zugriffs: Die WebDAV-Schnittstelle ist über das Unterverzeichnis /seafile/seafdav erreichbar; Authentifizierung erfolgt mit E-Mail-Adresse und dem Passwort des Anwenders (ab Version 7.0.10)

Beim Speichern der App Einstellungen werden die entsprechenden Werte in den Konfigurationsdateien von Seafile geschrieben. Wenn Sie Änderungen direkt in den Konfigurationsdateien vorgenommen haben, dann werden diese dadurch überschrieben.

6.2. Konfigurationsmöglichkeiten über die Konfigurationsdateien

Alle Konfigurationsdateien von Seafile befinden sich auf dem UCS-Host unter dem Pfad /var/lib/univention-appcenter/apps/seafile/data/seafile-data/seafile/conf/. Um eine Änderung an den Konfigurationsdateien wirksam werden zu lassen, muss die Seafile App neu gestartet werden. Dies geht entweder per Shell-Befehl univention-app restart seafile oder über die App-Einstellungen im App Center. Wenn Seafile nach einer Konfigurationsänderungen nicht startet, dann liegt dies vermutlich an fehlerhaften Parametern oder inkonsistenten Einrückungen in der PY-Konfigurationsdatei.

Da die Konfiguration von Seafile über seine fünf Konfigurationsdatei umfassend im englischsprachigen Seafile Manual dokumentiert ist, erfolgt hier nur eine übersichtsartige Darstellung der Konfigurationsoptionen mit relevanten Verweisen auf das Seafile Manual.

6.2.1. seahub_settings.py

Die seahub_settings.py enthält die Einstellungen für das Seafile Webinterface Seahub. In dieser Konfigurationsdatei können Sie Funktionen in Seahub aktivieren/deaktivieren, Spracheinstellungen treffen und Rollen definieren. Unter dem folgenden Link finden Sie eine Liste der Parameter für die seahub_settings.py.

6.2.2. ccnet.conf

Die ccnet.conf enthält die Einstellungen für die LDAP-Authentifizierung bzw. -Synchronisation. Unter den folgenden Links finden Sie weitere Informationen zur den Konfigurationsmöglichkeiten in der ccnet.conf:

6.2.3. seafile.conf

Die seafile.conf enthält die Einstellungen für den Seafile Daemon und den Fileserver. In der Datei lässt sich beispielsweise die Standardquota für alle Benutzer, die Regeln für das Löschen des Papierkorbs und die maximale Dateigröße für den Upload festlegen. Unter dem folgenden Link finden Sie weitere Informationen zu den Konfigurationsmöglichkeiten in der seafile.conf.

6.2.4. seafevents.conf

Die seafevents.conf enthält die Einstellungen zur Indexierung der Volltextsuche und der Konvertierung von Office Dateien zu PDFs. Unter dem folgenden Link finden Sie weitere Informationen zu den Konfigurationsmöglichkeiten in der seafevents.conf.

6.2.5. seafdav.conf

Die seafdav.conf enthält die Einstellungen für die WebDAV-Schnittstelle von Seafile. WebDAV ist bei der Seafile App standardmäßig deaktiviert. Unter dem folgenden Link finden Sie weitere Informationen zu den Konfigurationsmöglichkeiten in der seafdav.conf.

7. Support

Hilfe bei der Konfiguration und Nutzung gibt es in den folgenden Quellen:

Individuellen Support bietet die datamate GmbH & Co. KG an. datamate ist Seafile Europa-Vertriebspartner und Anbieter der Seafile App im Univention App Center.

8. Lizenzierung

Die Komponenten von Seafile sind unter den folgenden Lizenzen veröffentlicht:

  • Seafile iOS Client: Apache License v2
  • Seafile Android Client: GNU General Public License v3
  • Desktop Sync Client: GNU General Public License v2
  • Seahub: Apache License v2
  • Seafile Server Professional Edition: proprietär

Der Quellcode der unter open-source Lizenzen veröffentlichten Komponenten finden Sie auf GitHub.

9. Backup

Grundsätzlich empfiehlt es sich, eine Backup Lösung von Univention zu verwenden. Mehr zum Thema Backup eines UCS-Systems finden Sie im Univention Wiki. Wenn Sie über die Konsole ein reines Backup des Seafile Containers erstellen wollen, dann müssen Sie den Pfad /var/lib/univention-appcenter/apps/seafile/ sichern.

10. Changelog

7.0.10 (coming soon)

  • Aktualisierung auf Seafile Professional 7.0.10
  • WebDAV über die App-Einstellungen aktivierbar/deaktivierbar
  • Automatische Umleitung von http:// zu https://
  • Deinstallation löscht keine Nutzer- und Konfigurationsdaten mehr
  • Neuinstallation prüft auf vorherige Installationen
  • Optimierung der Webserverkonfiguration für Seafile Clients
  • Neue Screenshots im App Center

7.0.7 (August 2019)

  • Veröffentlichung der Univention App
  • Support für sämtliche Seafile Clients
  • Automatische Integration von OnlyOffice und Collabora Online (wenn bereits installiert)
  • Anpassung des SMTP-Kontos über die App-Einstellungen in Univention