Seite 2 - Datei-Lakai: Selbstgehostete Alternativen zu Dropbox

Lesezeit
5 Minuten
Bis jetzt gelesen

Seite 2 - Datei-Lakai: Selbstgehostete Alternativen zu Dropbox

07.04.2020 - 10:00
Veröffentlicht in:

WebDAV allein untauglich

Das universelle Protokoll für Dateisharing via Internet ist WebDAV. Es basiert auf HTTP und natürlich HTTPS als Transportschicht. Prinzipiell genügt bereits ein simpler Apache- oder NGINX-Webserver mit den passenden Dav- und Dav-Lock-Modulen, um diesen Dienst bereitzustellen. Alle gängigen Clientbetriebssysteme unterstützen DAVFS, um Netzwerklaufwerke einzubinden. Viel mehr als "F: over Internet" hat das blanke DAV aber nicht zu bieten und so fehlt es vor allem an den vom Benutzer steuerbaren Rechte- und Zugriffsbeschränkungen. Das nackte DAV allein reicht also nicht.

large

ownCloud und Nextcloud

Zu den populärsten Dropbox-Alternativen gehören die verwandten Open-Source-Tools ownCloud [1] und das von dessen Sourcecode geforkte Nextcloud [2]. Beide in PHP programmierten Werkzeuge offerieren Synchronisations- und Kollaborationsdienste. Wer lediglich die Basisdienste für Dateisharing verwenden möchte, kann mit beiden gut umgehen. ownCloud zielt in der Zwischenzeit stärker auf den kommerziellen Einsatz mit kostenpflichtigem Enterprise Support für seine Plattform. Der Freistaat Bayern nutzt beispielsweise eine angepasste Variante von ownCloud in seiner "BayernBox", eine Dateisharing-Plattform für Kommunen in Bayern.



Auch Nextcloud bietet kommerziellen Support und entwickelt zudem die Kollaborationsfunktionen der Plattform aktiv weiter. Dazu gehören dann Dienste wie cloudbasierte Office-Funktionen (etwa OnlyOffice-Integration) zum gemeinsamen Bearbeiten von Notizen, Tabellen oder Dokumenten. Damit positioniert sich Nextcloud stärker gegen Angebote wie Office 365 oder die Google Office Suite.

Self hosted S3

Bei allen vorgestellten Tools lässt sich das S3-Protokoll für die Kommunikation zum Storage-Backend verwenden. Beim Self-Hosted-File-Sharing mit 3-Tier-Architektur muss der Anwender daher auch diesen S3-Service im heimischen Datacenter stellen. Klassisches Software-defined Storage wie Ceph oder GlusterFS bringen S3/Swift-Gateways mit, kommen in der Regel aber nur bei großen Installationen mit hunderten von TByte zum Einsatz. Zudem gestaltet sich die Konfiguration von Storage und S3-Gateway aufwendig. Das Open-Source-Projekt MinIO [3] hingegen liefert ein in Go geschriebenes simples S3-Gateway mit einer Reihe leistungsstarker Funktionen für Skalierung und Datensicherheit. Ein einzelnes MinIO-System kann via Erasure Coding die S3-Objekte auf mehrere Disks verteilt sichern. Zudem arbeitet MinIO auch im Cluster und verteilt dort S3-Objekte redundant auf die verschiedenen Knoten.

Beide Lösungen nutzen für die Kommunikation das DAV-Protokoll, das sich gänzlich ohne Clientsoftware nutzen lässt. Alternativ gibt es eine Reihe von Tools für alle gängigen PC- oder Mobilplattformen. Diese lassen sich online oder mit Synchronisation verwenden. Die dem DAV-Protokoll fehlenden Zugriffsregeln steuert der Anwender über das Webinterface des Diensts. ownCloud und Nextcloud erstellen automatisch und zeitbasiert Snapshots der Dateien.

Beide Werkzeuge unterstützen mittlerweile eine ganze Reihe von Storage-Backends. Neben lokalen Ordnern lassen sich auch NFS-Freigaben oder S3-Buckets der eigentlichen Dokumente aufnehmen. Die Metadaten lagern die Tools in einer separaten Datenbank. Damit eignen sich beide Lösungen sehr gut für eine 3-Tier-Architektur mit dem eigentlichen OC/NC-Service in der DMZ oder einer Cloud-VM und dem Storage-Backend im eigenen Rechenzentrum.

Beide Services erlauben eine Scale-out-Architektur mit mehreren Frontend-Servern, die Datenbank und Backend teilen. Ähnlich lassen sich somit auch getrennte Zugriffspunkte im lokalen Netzwerk und im Internet realisieren, die dennoch das Storage-Backend gemeinsam verwenden.

Die Installation von ownCloud/Nextcloud stellt den Administrator vor keine besonderen Anforderungen. Der Verwalter muss den Webserver Apache oder NGINX mit dem passenden PHP-Support einrichten und eine SQL-Datenbank (in der Regel MySQL) bereitstellen. Ein paar Basisparameter liegen in einer Konfigurationsdatei, die restliche Administration erfolgt im Webbrowser. Beide Plattformen klinken sich problemlos in gängige Directory-Dienste wie ADS oder FreeIPA ein, unterstützen Zwei-Faktor-Authentifikation und Single Sign-on.

Beide Angebote liefern in der Praxis zuverlässige Dateidienste über das DAV-Protokoll und eigene Sync-Clients. Die Performance, speziell beim Dateisync, ist anderen Tools unterlegen. Das spielt aber bei der Hauptaufgabe Kollaboration eine geringe Rolle. Die Entwicklung hin zu mehr Kollaborationsfunktionen gefällt, steckt aber verglichen mit anderen Angeboten wie denen von Google noch etwas in den Kinderschuhen.

large

Seafile

Seafile [4] führt ein Schattendasein hinter ownCloud/Nextcloud, obwohl es bereits länger als ownCloud existiert. Der auf Open Source fußende File-Sharing-Service ist in Python auf Basis des Django-Webframeworks geschrieben. Seafile kann sowohl den eigenen Webserver nutzen als auch hinter Apache oder NGINX operieren. Es benötigt eine Datenbank für die Metadaten und unterstützt verschiedene Storage-Backends. Neben S3 kann das Tool nativ mit dem Object-Storage Ceph über dessen librados arbeiten.

Die Architektur fällt bei Seafile etwas komplexer aus als bei ownCloud/Nextcloud. Für den Basisbetrieb benötigt der Dienst mehrere Komponenten, da er das Webfrontend vom eigentlichen Dateidienst abkoppelt. Letzterer kann auch über ein eigenes Binärprotokoll mit Clients kommunizieren. Das arbeitet zwar schneller als WebDAV, braucht im Gegenzug aber einen zusätzlichen offenen Port in der Firewall. Auch bei Seafile arbeiten die Entwickler an Office-Diensten, die aktuell aber weit weniger Funktionen als ownCloud/Nextcloud liefern. Wie die beiden anderen Tools verwaltet Seafile mehrere Versionen einzelner Dateien, sodass Rollbacks bei versehentlichen Änderungen möglich sind.

Für den Desktop-Nutzer offeriert Seafile zwei getrennte Clients: Einen für Sync und einen Drive-Client. Drive eignet sich dabei vorzüglich für Kollaborationsfunktionen. Seafile kann via Drive einzelne Dateien rein online verwenden, andere aber wiederum synchronisieren oder cachen. Hat ein Nutzer eine freigegebene Datei mit Schreibfunktionen geöffnet, setzt Seafile Drive diese Datei bei anderen Nutzern auf "locked" und erlaubt ihnen keine Schreibzugriffe. Seafile unterstützt verschiedene Directories sowie Single Sign-on und Zwei-Faktor-Authentifizierung.

Verglichen mit ownCloud/Nextcloud ist Seafile komplexer einzurichten und zu verwalten. Aber wie so oft beherrschen die etwas komplizierteren Dienste mehr Funktionen und lassen sich detaillierter konfigurieren. So unterstützt Seafile mehr Storage-Backends und lässt dem Anwender mehr Konfigurationsoptionen, beispielsweise beim Versionierungsregelwerk. Auch Seafile ist Cluster-fähig für den Scale-out-Betrieb und nutzt neben den bestehenden Diensten noch Memcached für die Kommunikation innerhalb des Clusters. In Praxistests mit Nextcloud und Seafile läuft Letzteres oft flotter, sowohl bei Dateizugriffen über den Client als auch bei Operationen in der Web-UI.

Pydio Cells

Pydio steht für "Put your data in orbit" und stammt vom PHP-Tool AjaXplorer ab. Der ursprüngliche Hintergedanke des Projekts: Eine Applikation, die aussieht und funktioniert wie der Windows-Explorer, aber die Dokumente auf einem Server im Internet sichert. Die Macher von Pydio stellen jetzt mit Cells [5] ein neues Konzept vor und trennen sich zugleich von PHP als Programmiersprache. Cells arbeitet in Go und zielt auf ein modernes Gruppen-Dateimanagement mit File-Service und Chatfunktionen. Cells verzichtet von Haus aus auf klassische Desktop-Clients – hierfür muss ein WebDAV-Zugang genügen – und verwaltet fast alle Funktionen im Browser oder einer Mobile-Phone-App.

large

Anwender erstellen in Cells Projekte und Arbeitsgruppen und laden dazu Personen oder Gruppen aus dem Directory ein. Auch bei Cells wollen die Entwickler stärker in Richtung modulare Webapplikationsdienste gehen, statt nur Filesharing oder Internet anzubieten. Wie die anderen Dienste beherrscht Pydio mehrere Storage-Backends und integriert sich in LDAP- und AD-Directories. Allerdings können sich nur Nutzer der kostenpflichtigen Enterprise-Edition mit Verzeichnisdiensten verbinden. Die Community-Edition muss mit dem Pydio internen User-Management alleine klarkommen. Wie so viele der jungen neuen Webservices präsentiert sich Pydio Cells mit einer schicken, simplen und übersichtlichen Browser UI. Cells sind schnell erstellt und anderen Nutzern zur Verfügung gestellt.

Die Installation des Dienstes ist simpel, da Pydio Cells lediglich aus einem Executable besteht, das auf Linux-Systemen im Userspace und völlig ohne Root-Rechte startet. Die komplette Konfiguration und Anpassung findet im Browser statt. Das Konzept hinter Cells mit frei definierbaren Zellen und Arbeitsgruppen sowie die übersichtliche UI können überzeugen. Der integrierte Gruppenchat und weitere modulare Office-Funktionen werten das Tool weiter auf, auch wenn es für das recht junge Werkzeug noch nicht so viele Plug-ins wie etwa für Nextcloud gibt. Positiv fällt zudem auf, dass das schlanke Go-Executable flott ans Werk geht, ohne dabei allzu viele Ressourcen zu belegen.

Fazit

Die vier vorgestellten Tools für selbstgehostete Dropbox-Alternativen weisen verschiedene Vor- und Nachteile auf. ownCloud/Nextcloud haben sich in der Praxis vielfach bewährt, bleiben in der Basisfunktionalität doch sehr nahe am klassischen Filesharing. Das modulare Add-on-App-Konzept geht in die richtige Richtung, kann aber in Sachen Stabilität, Komfort und Performance nicht immer überzeugen. Noch näher am klassischen Fileserver orientiert sich Seafile, das mit einem gut durchdachten Desktop-Client punktet. Zudem lässt es sich sehr flexibel konfigurieren, auch wenn auf der anderen Seite Installation und Administration etwas komplexer und aufwändiger ausfallen.

Pydio Cells geht neue Wege, die den Arbeitsabläufen in Teams und Projekten entgegenkommen. Noch mangelt es den 1.x-Versionen hier und da an der Stabilität – wir bekamen das Tool beispielsweise nicht auf einer CentOS-VM zum Laufen, wohl aber als Docker-Container auf Debian Basis – dafür stimmt die Architektur. Wer bereit für moderneres Filesharing ist, sollte dieses Werkzeug evaluieren. Wer eher am klassischen Fileserver hängt, ist bei Seafile und ownCloud/Nextcloud besser aufgehoben.

<< Vorherige Seite Seite 2 von 2


ln/Andreas Stolzenberger

[1] ownCloud: https://owncloud.org/
[2] Nextcloud: https://nextcloud.com/
[3] MinIO: https://min.io/
[4] Seafile: http://www.seafile.com/
[5] Pydio Cells: https://pydio.com/

Ähnliche Beiträge

Seite 2 - New Work – und jetzt?

Technologien zum Remote-Onboarding
Gerade das Onboarding neuer Kollegen hat sich in Zeiten von New Work und mobilem Arbeiten verändert. Vor allem in den letzten zwei Jahren hat der erste Arbeitstag häufig nicht im Büro, sondern aus dem Remote-Office stattgefunden. Auch dann wird eine einfache Inbetriebnahme der Arbeitsgeräte erwartet – ohne den persönlichen Kontakt mit den IT-Teams.

New Work – und jetzt?

Flexible Arbeitsmodelle sind für viele Unternehmen zum Standard geworden. Das bringt viele Vorteile für die Mitarbeiter – aber auch immer größere Herausforderungen für IT-Administratoren. Denn sie sollen flexibles, sicheres Arbeiten mit hohem Nutzungskomfort ermöglichen, sind dabei aber mit verschiedensten, komplexen Systemumgebungen und einer kritischen Sicherheitslage konfrontiert. Lesen Sie, welche Strategien und Technologien bei der praktischen Umsetzung helfen.

Schatten-IT im Home Office verhindern

Seit Beginn der Pandemie boomt das Home Office. Mehr Flexibilität, ein geringeres Infektionsrisiko und hohe Produktivität sind die Folgen. Doch wie immer gibt es auch eine Kehrseite: Gefahren aufgrund von Schatten-IT. Mitarbeiter nutzen unautorisierte Soft- und Hardware, um ihren Aufgaben nachzugehen und öffnen Hackern damit oft unbewusst Tür und Tor. Der Online-Artikel zeigt die Risiken auf und beleuchtet, was IT-Verantwortliche tun können, um die eigene Infrastruktur wirkungsvoll zu sichern.