Dank des Umstiegs auf Go braucht der Cloud-Speicher von Pydio Cells nicht mehr zwingend einen Webserver, was die Installation der Anwendung als Appliance erleichtert.
Neben Owncloud und dessen Fork Nextcloud gilt Pydio [1] als beliebte Filehosting- und Cloud-Speicher-Plattform. Es wartet mit erweiterten Funktionen auf, wie etwa einer integrierten Office-Suite mit der Fähigkeit zum kollaborativen Arbeiten. Clients für alle gängigen Betriebssysteme und Apps für mobile Geräte runden die Lösung ab.
Mit Pydio Cells [2] erfinden die Entwickler die Anwendung nun komplett neu: Anstatt bisher komplett auf PHP zu setzen, arbeitet der Kern der Software jetzt mit Go. PHP kommt nur noch beim Frontend zum Einsatz. Durch den Wechsel der Programmiersprache verspricht der Hersteller eine höhere Verarbeitungsgeschwindigkeit und bessere Skalierbarkeit.
Datenbank
Pydio gibt im Rahmen der Dokumentation ausführliche Hinweise zur Installation auf vielen Systemen [3], von diversen Linux-Distributionen über Mac OS X bis hin zu Container-Lösungen wie Docker.
Unter Ubuntu verlangt die Software nach einem MySQL-Server (Version 5.6 oder neuer) oder MariaDB (mindestens Version 10.2). Fällt die Wahl auf Ubuntu mit MariaDB, müssen Sie die Datenbank-Software über die Paketquelle des Projekts aktualisieren, da selbst das aktuelle Ubuntu 18.10 “Cosmic Cuttlefish” nur über MariaDB 10.1 verfügt. Im Rahmen des Tests untersuchten wir die Installation auf einem Rechner mit Ubuntu 18.04 LTS.
Ausgehend von einem frisch eingerichteten System installierten wir im ersten Schritt MariaDB in der erforderlichen Version. Das Projekt unterhält für die gängigsten Distributionen Paketquellen, ein Assistent auf der Webseite liefert entsprechende Installationshinweise [4]. Mit den Befehlen aus Listing 1 funktioniert das Einspielen der Datenbank unter Ubuntu 18.04. Im letzten Schritt erfragt das System ein Root-Passwort für die Datenbank – nicht zu verwechseln mit dem Root-Account des Betriebssystems.
Listing 1
$ sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 $ sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/repo/10.3/ubuntu bionic main' $ sudo apt update $ sudo apt install mariadb-server
Damit der Einrichtungsassistent von Pydio Cells später die für die Software benötigten Tabellen anlegen kann, müssen Sie die Datenbank und einen entsprechenden Nutzer im System anlegen. Melden Sie sich dazu über sudo mysql -u root -p bei der Datenbank an (dazu benötigen Sie das zuvor vergebene Passwort), und geben Sie dann die SQL-Kommandos aus Listing 2 ein. Achten Sie darauf, ein sicheres Passwort für die Datenbank zu verwenden (Zeile 2).
Listing 2
$ sudo mysql -u root -p MariaDB [(none)]> CREATE USER 'pydio'@'localhost' IDENTIFIED BY 'PaSsWoRt'; MariaDB [(none)]> CREATE DATABASE cells; MariaDB [(none)]> GRANT ALL PRIVILEGES ON cells.* to 'pydio'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Vorbereitungen
Einen Server-Dienst wie Pydio Cells sollten Sie nicht im Kontext des eigenen Benutzers oder gar als Root ausführen. Legen Sie also einen System-User mit dem Namen pydio an. Anschließend geben Sie Ihrem Nutzer im Home-Verzeichnis des neuen Accounts noch Schreibrechte und installieren die für das Frontend von Pydio benötigten PHP-Abhängigkeiten (Listing 3).
Listing 3
$ sudo useradd -r -m -s /bin/bash pydio $ sudo passwd pydio $ sudo usermod -aG pydio $USER $ sudo chmod -R g+w /home/pydio $ sudo apt install php-fpm php-gd php-curl php-intl php-xml $ sudo addgroup pydio www-data $ sudo chmod g+w /run/php
Einen Webserver wie Apache oder Nginx brauchen Sie dagegen nicht mehr zwingend. Für Tests ohne Load-Management genügt es, auf die direkt von Pydio generierten Seiten zuzugreifen.
Um später beim Ausführen von Pydio Fehler in den Logs zu vermeiden, übertragen Sie dem Pydio-Nutzer noch den PHP-Listener und erhöhen die Anzahl der gleichzeitig geöffneten Dateien. Dazu bearbeiten Sie mit einem Texteditor die Datei /etc/php/7.2/fpm/pool.d/www.conf und ändern die Zeile listen.owner = www-data in listen.owner = pydio (Listing 4). Vergessen Sie nicht, die so modifizierte Datei anschließend abzuspeichern.
Listing 4
; Set permissions for unix socket, if one is used. In Linux, read/write ; permissions must be set in order to allow connections from a web server. Many ; BSD-derived systems allow connections regardless of permissions. ; Default Values: user and group are set as the running user ; mode is set to 0660 listen.owner = pydio listen.group = www-data
Zusätzlich legen Sie, ebenfalls mit administrativen Rechten, noch die Datei /etc/security/limits.d/nofile.conf mit dem Inhalt aus Listing 5 an. Diese Konfiguration sorgt dafür, dass der Server ausreichend Kapazitäten für Dateizugriffe erhält. Um die Änderungen zu aktivieren, starten Sie das System nun am besten einmal neu.
Listing 5
* soft nofile 8192 * hard nofile 8192
Installation
Die eigentliche Installation des Diensts übernimmt ein in das Pydio-Binary integriertes Installationsskript. Dazu wechseln Sie zum zuvor angelegten Pydio-Benutzer und laden dann die Linux-Version des Diensts in der Form der Datei pydio-cells-Version-linux-amd64.zip herunter. Entpacken Sie das Archiv, und rufen Sie über ./cells install die Installationsroutine auf (Listing 6).
Listing 6
$ su pydio $ cd $ wget https://download.pydio.com/pub/cells/release/1.2.2/linux-amd64/pydio-cells-1.2.2-linux-amd64.zip $ unzip pydio-cells-1.2.2-linux-amd64.zip $ ./cells install
Der Assistent bietet eine Browser- und eine CLI-Oberfläche an (Abbildung 1). Im Test zeigte sich die Kommandozeilen-Version nicht weniger komplett, geht aber zügiger zur Sache: Im ersten Schritt wählen Sie die Netzwerkkonfiguration (IP-Adresse und Port), unter der das System zu erreichen ist. Danach lässt sich eine SSL-Verschlüsselung aktivieren (im Rahmen des Tests verzichten wir auf Verschlüsselung, daher Disable SSL). Zu guter Letzt tragen Sie die Zugangsdaten zum SQL-Server ein und setzen ein Passwort für den Admin-Account im Backend des Diensts. Die Advanced Settings am Ende können Sie in der Regel überspringen.
Nach Abschluss des Assistenten starten Sie Pydio Cells über das Kommando ./cells start. Während die ersten Statusmeldungen über den Bildschirm laufen, öffnen Sie die URL http://Server-IP:8080 in einem Browser und loggen sich als admin mit dem entsprechenden Passwort ein. Im Backend stellen Sie dann am besten unter Settings (zu erreichen über das Icon mit den drei übereinander gestapelten Punkten) und My Account die Sprache der Administrationsoberfläche auf Deutsch um. Wenn Sie danach das Fenster mit [F5] neu laden, erhalten Sie über Einstellungen den Zugriff auf das Dashboard des Diensts (Abbildung 2).
Erste Schritte
Im Dashboard sollten Sie sich mit den Konfigurationsmöglichkeiten von Pydio vertraut machen. Für den Einstieg wichtig: Legen Sie unter dem gleichnamigen Menüpunkt Benutzer und Gruppen an. In den Grundeinstellungen tragen Sie die Standardsprache ein und unter Mailer einen SMTP-Server, sodass Pydio E-Mails versenden kann (etwa zu verlorenen Passwörtern). Anschließend loggen Sie sich aus dem Admin-Account aus und melden sich als normaler Benutzer wieder an.
Pydio gliedert die vom Nutzer verwalteten Daten in Arbeitsumgebungen (englisch: “cells” – daher der Name der überarbeiten Pydio-Version). Mit einem Klick auf das Plus-Icon in der linken Leiste legen Sie einen solchen Arbeitsbereich an. Über den Schalter NEU legen Sie Ordner und Dateien an oder laden Daten hoch (Abbildung 3). Die Konfiguration erfolgt dann über das Kontextmenü daneben mit den drei Punkten und danach über das Stift-Symbol. In den Einstellungen steuern Sie, welche Nutzer oder Gruppen (“Teams”) die geteilten Daten sehen und verändern dürfen.
Neben dem Plus an Leistung bietet Pydio Cells auch diverse Neuerungen im Frontend. So gibt es im Browser jetzt eine Inhaltsvorschau über eingebettete Viewer. Bilder, PDF-Dokumente oder Texte lassen sich also direkt im Web betrachten und im Fall von Texten auch direkt bearbeiten. Über den integrierten Chat in der rechten Seitenleiste können die Mitglieder eines Teams direkt miteinander kommunizieren, ohne dazu E-Mails oder eine externe Messaging-Lösung zu benötigen.
Knirschende Clients
Um nicht nur mit dem Webfrontend arbeiten zu müssen, stehen bei Pydio Cells Clients für PCs und mobile Geräte zur Verfügung. Links zu den Anwendungen finden sich im Download-Bereich des Projekts [5]. Für Android-Nutzer unterscheidet Pydio zwischen einer kostenlosen und einer Pro-Version (einmalig 0,94 Euro). Die Pro-Variante bietet eine moderne Oberfläche und erweiterte Funktionen, wie zum Beispiel das automatische Herunterladen von Bildern der Smartphone-Kamera.
Im Test zeigte sich jedoch, dass beide Versionen noch nicht mit Pydio Cells zurechtkommen. Der Versuch, sich an einem Pydio-Cells-Server anzumelden, scheitert: Die Lite-Version meldet einen nicht vorhandenen Pydio-Server, die Pro-Version versucht sich endlos zu verbinden. Abhilfe stellt Pydio aktuell in Form der App Pydio Cells bereit [6]. Sie bietet zwar keine erweiterten Funktionen (Abbildung 4), ermöglicht aber immerhin grundlegende Dateioperationen. Pydio empfiehlt, die App vorerst auch nur für solche zu verwenden, bis die Haupt-Apps aktualisiert werden.

Abbildung 4: Die Android-App Pydio Cells dient nur als Zwischenlösung, bis der eigentliche Client angepasst werden kann.
Auch der Linux-Client zeigt Schwächen: Pydio bietet ihn in Form eines vorkompilierten Binarys an, das sich aufgrund fehlender Abhängigkeiten (etwa libgstreamer-plugins-base0.10-0) auf aktuellen Distributionen nicht mehr ausführen lässt. Die Bibliothek gab es etwa bei Ubuntu nur bis Version 16.04. Unter Arch Linux lässt sich der Client über das AUR besser installieren; allerdings quittiert die Oberfläche ihren Dienst, falls die Desktop-Umgebung keinen System-Tray anbietet (wie etwa die Gnome Shell).
Fazit
Subjektiv betrachtet, profitiert Pydio vom Umbau hin zu Pydio Cells. Das unter Go entwickelte Backend arbeitet besonders bei größeren Datenmengen zügiger und bietet aufgrund des Verzichts auf PHP bessere Möglichkeiten, die Rechenlast zu stemmen. Die überarbeitete Oberfläche wirkt aufgeräumt und wartet mit zahlreichen neuen Funktionen auf. Speziell für Linux-Anwender treten diese Neuerungen allerdings in den Hintergrund, wenn man einen Blick auf den Client wirft: Der läuft unter aktuellen Distributionen nur mit Mühen, wenn überhaupt. Auch den Android-Client müssen die Entwickler noch auf einen aktuellen Stand hieven.
Infos
-
Pydio: https://pydio.com
-
Pydio Cells: https://pydio.com/en/features/pydio-cells-overview
-
“Installation Guides”: https://pydio.com/en/docs/cells/v1/installation-guides
-
Paketquellen für MariaDB: https://downloads.mariadb.org/mariadb/repositories/#mirror=host-europe
-
Downloads: https://pydio.com/en/download
-
Pydio Cells für Android: https://play.google.com/store/apps/details?id=com.pydio.android.cells








