Owncloud hat sich als Cloud-Lösung längst fest etabliert. Mit der neuen Variante Infinite Scale zeigen die Entwickler nach vierjähriger Arbeit neue Wege für das Cloud-Computing auf.
Owncloud gehört seit seiner Gründung im Jahr 2010 zu den Pionieren des Cloud-Computing [1]. Das in Nürnberg ansässige Unternehmen hat im November 2022 mit Freigabe der stabilen Version Owncloud Infinite Scale 2.0.0 (OCIS) einen Paradigmenwechsel vollzogen. Die bisherigen Owncloud-Installationen basierten auf einer LAMP-Umgebung, also mit Server-zentrierten Diensten unter dem Betriebssystem Linux. Die Kombination aus Datenbank, Webserver und der Programmiersprache PHP stößt jedoch auf herkömmlichen Dateisystemen bei größeren Installationen schnell an gewisse Grenzen. Daneben wächst mit steigender Anzahl aktiver Nutzer die Komplexität beim Administrieren deutlich.
Die Entwickler haben mit OCIS diese Probleme adressiert und dabei rigoros ausgemistet: So modernisierten sie das komplette Entwicklungsmodell und warfen dabei nahezu den gesamten PHP-Code mitsamt der Server-Dienste über Bord. Stattdessen setzt Owncloud in der neuen Version auf die von Google entwickelte Programmiersprache Go und damit einhergehend auf Microservices. Statt eines Datenbank- und eines Webservers nutzt OCIS eine Architektur mit einem Modell aus drei Schichten: Die unterste Schicht kümmert sich um die Datenspeicherung, während die mittlere die Core-Komponenten bereitstellt und die oberste Schicht die mit dem Vue.js-Framework entwickelte Webschnittstelle enthält.
Darüber hinaus ermöglicht die Programmierung in Go, verschiedene Interaktionen parallel auszuführen. Das verringert Latenzen und verkürzt die Antwortzeiten. Zusätzlich reduziert das Einsetzen von Microservices den Wartungsaufwand erheblich. Mithilfe von OpenID Connect [2], das für die sichere Authentifizierung über mehrere Instanzen hinweg sorgt, nutzen Anwender in Infinite Scale zudem zentralisiert unterschiedliche Speicherplätze. Dementsprechend sinkt der Ressourcenverbrauch des gesamten Systems. Eine On-Premises-Lösung arbeitet sogar auf einem Raspberry Pi ausreichend schnell.
Durch die Flexibilisierung der Storage-Backends mithilfe des Frameworks Reva [3] erreicht das Entwicklerteam hinter Infinite Scale bei der Datenspeicherung eine enorme Skalierbarkeit: So lässt sich Owncloud in der neuen Version sowohl mit lokalen, dateisystembasierten Medien verwenden als auch mit Cloud-Diensten wie Amazons S3 oder CERN EOS. Damit können kleine wie große Organisationen Infinite Scale einsetzen, wobei die Kosten für die Datenverwaltung deutlich sinken.
Beim Erscheinungsbild des Clients hat Owncloud ebenfalls alte Pfade verlassen und ein neues Frontend namens Phoenix gebaut. Der optisch modernisierte Webclient wirkt übersichtlich und fügt sich nahtlos ins neue Gesamtsystem ein. Auch das alte Owncloud 10 funktioniert damit. Mit verteilten Datenquellen in die neue Architektur des Systems integriert, markiert die Webschnittstelle eine einheitliche Zugriffsebene für alle Daten. Das gilt unabhängig davon, ob Sie sie Cloud- oder dateisystembasiert bereitstellen. Möchten Sie die vorhandenen nativen Client-Apps auf Ihren Endgeräten weiterhin nutzen, müssen Sie sich nicht umstellen: Da die neue Owncloud-Variante mit der WebDAV-API kooperiert, greifen die nativen Clients weiterhin auf die Cloud-Lösung zu.
Installieren
Sie binden Infinite-Scale-Server entweder auf einem dedizierten Server oder als Docker-Container ein. Bei der ersten Variante besteht die Installationsroutine aus vier Befehlen, die Sie am Prompt wie in Listing 1 gezeigt eingeben. Sie benötigen dazu keine Administratorrechte.
Listing 1
Installation
$ curl https://download.owncloud.com/ocis/ocis/stable/2.0.0/ocis-2.0.0-linux-amd64 --output ocis $ chmod +x ocis $ ./ocis init $ OCIS_INSECURE=true ./ocis server
Beim Herunterladen und Installieren legen Sie optional Demo-Konten an, indem Sie in der letzten Zeile von Listing 1 den Startbefehl des Servers um den Parameter »IDM_CREATE_DEMO_USERS=true« ergänzen. Das administrative Konto erhält den Namen admin und ein zufällig generiertes Passwort, das im Terminal erscheint. Kopieren Sie das Passwort in die Zwischenablage, um es beim ersten Login zu verwenden.
Die Cloud-Instanz startet nach Abschluss der Installation automatisch. Öffnen Sie nun einen Webbrowser, und rufen Sie unter der URL https://localhost:9200 die Login-Seite auf. Das selbst signierte Zertifikat veranlasst den Browser zu einer Warnmeldung. Die akzeptieren Sie und landen daraufhin im Dashboard von Owncloud Infinite Scale (Abbildung 1). Als Erstes ändern Sie dort das zufällig generierte Passwort, indem Sie rechts oben auf den Nutzer-Button klicken und das Admin-Konto ändern.
Unter Infinite Scale müssen Sie für die unterschiedlichen Dienste keine Konfigurationsdateien mehr bearbeiten. Stattdessen kommt die Software mit einem einzigen Binärpaket inklusive zahlreicher Erweiterungen. Der Befehl »ocis« führt je nach Aufrufparametern vielfältige Funktionen aus. Mit »./ocis server« starten Sie den Owncloud-Server, mit »./ocis –help« erhalten Sie am Prompt Hilfe. Die einzelnen Extensions sowie den Server konfigurieren Sie in einfachen Textdateien, die unter »~/.ocis/config/« respektive in einer Docker-Umgebung unter »/etc/ocis/« liegen.
Im nächsten Schritt geben Sie der Anwendung beim Aufruf verschiedene Parameter mit. Soll das System etwa im lokalen Netz von anderen Workstations aus über den Webbrowser zugänglich sein, rufen Sie es wie in Listing 2 gezeigt folgendermaßen auf. Nur so landen Nutzer über die entsprechende URL in der Owncloud-Weboberfläche. Bei Bedarf ersetzen Sie die IP-Adresse durch eine passende Domain. Soll die Infinite-Scale-Instanz aus dem Internet zu erreichen sein, empfiehlt es sich außerdem, einen Proxy-Server wie den Nginx Proxy Manager hinzuzufügen.
Listing 2
OCIS im LAN
$ OCIS_URL=https://Server-IP:9200 ./ocis server
Erster Kontakt
Während der Installation hat die Software Beispielnutzer generiert, sodass Sie den Umgang mit Owncloud sofort anhand praktischer Bedienschritte erproben können. Die Liste der voreingestellten Benutzer sehen Sie als Administrator ein, indem Sie oben links im Dashboard das App-Menü öffnen und auf Benutzermanagement klicken. Nutzerstammdaten wie E-Mail-Adresse, Passwort oder Rolle verwalten Sie über das Bleistiftsymbol in der Spalte Aktionen.
Die vorgegebenen auszuwählenden Rollen enthalten bestimmte Rechte (Abbildung 2). Sie definieren für den jeweiligen Anwender den Umfang der Weboberfläche, die er im Browser zu sehen bekommt. Um einen neuen Benutzer einzutragen, klicken Sie oben links auf die entsprechende Schaltfläche. In einem kleinen Dialog tragen Sie die wichtigsten Daten zum neuen Anwender ein. Voreingestellt erhält er dabei die Rolle User.
Gruppen
Über die Option Gruppen links im Benutzermanagement gelangen Sie in einen Einstellungsdialog, der dem für Benutzer ähnelt. Klicken Sie auf Neue Gruppe, und vergeben Sie einen Namen für die Gruppe. Anschließend befüllen Sie sie mit Teilnehmern.
Dazu wechseln Sie wieder in die Kategorie Benutzer und weisen der Gruppe über die Spalte Aktionen die gewünschten Personen einzeln zu. Im Auswahlfeld Gruppen entfernen oder hinzufügen des Benutzerkontos markieren Sie anschließend die Gruppe, der der User beitreten soll. Sie können dabei mehrere Gruppen hintereinander in das Feld aufnehmen. Um einen Benutzer aus einer Gruppe zu löschen, klicken Sie im Auswahlfeld auf das entsprechende Symbol rechts. Damit die Aktion greift, müssen Sie sie speichern.
Räumlich
In der neuen Version von Owncloud finden Sie in der linken Einstellungsspalte des Apps-Menüs den Eintrag Spaces. Darüber definieren Sie geschlossene Teams, die innerhalb eines solchen Spaces arbeiten. Ein Klick auf Neuer Space erzeugt einen derartigen Raum. Nachdem Sie ihn erstellt und benannt haben, erscheint er in der Raumliste als Kachel. Zunächst ist nur der Administrator, der den Space angelegt hat, als Mitglied und gleichzeitig als Manager des Raums eingetragen. Er kann nun unter Mitglieder hinzufügen Nutzer für den Space rekrutieren (Abbildung 3).
Ein Klick auf Hinzufügen übernimmt die Liste. Unter jedem Mitglied steht dessen Rolle im Space. Die einzelnen Rollen entsprechen dabei nicht unbedingt denen, die allgemein für das gesamte System gelten. Spaces kennen lediglich drei Rollen: Betrachter, Bearbeiter und Manager. Während Betrachter ausschließlich Leserechte für die Inhalte besitzen, können Bearbeiter Inhalte modifizieren, hochladen oder entfernen. Manager dürfen Inhalte zusätzlich teilen. Als Administrator modifizieren Sie die Rollen jederzeit nach Bedarf und laden per Link neue Teilnehmer in einen Raum ein. Dazu müssen diese über ein Konto in der jeweiligen Owncloud-Instanz verfügen.
Im Kontextmenü der Räume nehmen Sie als Administrator diverse Modifikationen am Space vor, indem Sie etwa Untertitel umbenennen oder ergänzen und Bilder einfügen. Zudem definieren sie über Quota ändern die maximale Speichergröße für den Space. In der Vorgabe liegt sie bei 1 GByte.
Inventar
Im App-Menü Dateien arbeiten Sie mit Inhalten. Über die Funktion Hochladen transferieren Sie einzelne Dateien oder Ordner in die Cloud. Dazu ruft OCIS den Dateimanager des Betriebssystems auf, in dem Sie die Inhalte fürs Hochladen markieren. Die finden sich daraufhin in der Dateiansicht Persönlich und lassen sich über das Kontextmenü hinter jedem Listeneintrag bearbeiten. Während Bilddateien in einem für mehrere gängige Formate geeigneten Anzeigemodul erscheinen, öffnen und bearbeiten Sie Textdateien in einem einfachen Editor. Multimediadateien lassen Sie mithilfe der Option Vorschau in einer Anzeigesoftware abspielen. Für PDF-Dateien kommt die App Files_pdfviewer [4] zum Einsatz.
Über Aktionen | Personen hinzufügen teilen Sie die Inhalte mit anderen. Direkt unterhalb des Felds für die Namenseingabe legen Sie dabei fest, mit welchen Rechten die eingeladenen Benutzer die Dateien öffnen dürfen. Voreingestellt erhalten sie nur Leserechte. Nach einem Klick auf Als Betrachter einladen fügen Sie in einem Kontextmenü zusätzliche Rechte hinzu wie das weitere Teilen durch die eingeladene Person oder das Bearbeiten. Anschließend klicken Sie auf Teilen.
Im Reiter Mit anderen geteilt sehen sie die Dateien oder Ordner, die sie selbst freigegeben haben. Die Empfänger der Einladung finden eine Liste aller Einladungen in der Rubrik Ausstehende Freigaben des Reiters Geteilt | Mit mir geteilt (Abbildung 4). Sobald sie die Freigabe annehmen, tauchen die Inhalte im Bereich Angenommene Freigaben auf. Lehnen sie die angebotenen Einladungen ab, erscheinen diese stattdessen unter Abgelehnte Freigaben.
In den Spaces erfordert das Teilen von Inhalten keine expliziten Einladungen, sondern lediglich entsprechende Rechte. Zum Hochladen oder Anlegen neuer Dateien und Ordner wechseln Sie in den jeweiligen Raum. Dort finden Sie die schon bekannten Dialoge für das Teilen. Je nach den Rechten, die der Administrator des Spaces den einzelnen Teilnehmern gewährt hat, können diese die Inhalte weiterverarbeiten. Einfache Mitglieder dürfen sie nur einsehen und kopieren, Spaces-Manager können sie auch teilen.
Clients
Die bereits vorhandenen native Clients für zahlreiche Desktop-Betriebssysteme oder mobile Endgeräte lassen sich mit der neuen Owncloud-Variante weiter nutzen [5]. Der Linux-Client fügt sich dabei in der aktuellen Version 3.0.0 noch nicht ganz nahtlos in die neue Infrastruktur ein. Um mit dem Owncloud-Server Kontakt aufzunehmen, müssen Sie nach der Erstinstallation zunächst einen Webbrowser zum Einloggen nutzen. Erst danach können Sie Inhalte sichern, wobei der Client das persönliche Verzeichnis sowie die Spaces synchronisiert. Anschließend aktualisiert die Anwendung die Daten fortlaufend. Die üblichen Anzeige- und Vorschaufunktionen stehen über die Standardprogramme der jeweiligen Arbeitsumgebung zur Verfügung (Abbildung 5).
Der Linux-Client synchronisiert die Daten nach dem Hochfahren des Systems automatisch. Für einen manuellen Abgleich verwenden Sie den Webbrowser, den Sie jeweils aus der nativen Linux-App heraus aufrufen. Um in der App neue Konten einzurichten, müssen Sie zum einen die Server-Adresse kennen, und zum anderen führt auch hier der Weg nur über den Webbrowser. Der Linux-Client gibt zudem per Synchronisationsprotokoll Auskunft über die letzten Aktivitäten (Abbildung 6). Dabei informiert er im Reiter nicht synchronisiert über nicht abgeglichene Inhalte. Auf dieses Weise helfen die Protokolle beim Lokalisieren von Fehlern, falls es nicht gelingt, die Daten komplett abzugleichen.
Fazit
Mit dem neuen Release Infinite Scale 2.0.0 gelingt Owncloud tatsächlich ein Quantensprung in Sachen Cloud-Computing. Durch den konsequenten Einsatz technischer Innovationen ergeben sich im Vergleich zu herkömmlichen Lösungen viele Vorteile.
Administratoren freuen sich über die einfachen Installationsroutinen, die es ermöglichen, einen funktionierenden Cloud-Server innerhalb weniger Minuten aufzusetzen, sei es als Binärpaket auf einer einzelnen Maschine oder als Docker-Container. Vorbei sind außerdem die Zeiten, als man noch verschiedene Server-Dienste installieren und umständlich mithilfe zahlreicher Konfigurationsdateien einstellen musste. Grundsätzlich müssen Sie OCIS zwar ebenfalls manuell konfigurieren, aber die Voreinstellungen decken speziell für kleinere Infrastrukturen alles Notwendige ab. Das erleichtert zusätzlich die Wartung im laufenden Betrieb.
Anwender finden ihre Inhalte transparent gespeichert, wobei sie zwischen mehreren, nicht mehr zwingend dateisystemzentrierten Ablageorten wählen können. Durch verschiedene Applikationserweiterungen und die neuen Spaces erlaubt Infinite Scale, fast komplett Cloud-basiert zu arbeiten. Nahezu alle EDV-gestützten Bürotätigkeiten lassen sich damit in die private Wolke verlagern. Eine ausführliche Dokumentation, die auch weniger versierten Admins eine gute Hilfestellung bietet, rundet die Komplettlösung ab [6]. (csi/jlu)
Infos
- Owncloud: https://owncloud.com/de/
- OpenID Connect: https://openid.net/connect/
- Reva: https://reva.link/
- Files_pdfviewer: https://github.com/owncloud/files_pdfviewer
- Owncloud-Clients: https://download.owncloud.com/desktop/ownCloud/stable/latest/linux/download/
- Dokumentation: https://doc.owncloud.com/ocis/next/












