So installierst du Pydio Cells File Sharing Server auf Ubuntu 22.04

Pydio Cells, auch bekannt als Pydio, ist eine Open-Source-Anwendung zum Teilen und Synchronisieren von Dateien, die in der Sprache Golang geschrieben wurde. Sie wird auf einem Server oder in der Cloud ausgeführt und zum Teilen von Dateien mit dem Client verwendet. Es ist ein selbstgehostetes Tool für die gemeinsame Nutzung von Dokumenten und die Zusammenarbeit, mit dem du von überall aus über eine mobile App, eine Desktop-Software oder einen Webbrowser auf verschiedene Dokumente wie Dateien, Bilder und Videos zugreifen kannst. Es bietet native Clients für Linux, Windows und macOS sowie mobile Clients für Android und iOS.

In dieser Anleitung wird erklärt, wie du Pydio unter Ubuntu 22.04 installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein Root-Passwort ist auf dem Server eingerichtet.

MariaDB installieren und konfigurieren

Pydio verwendet MariaDB, um seine Daten zu speichern. Deshalb musst du den MariaDB-Datenbankserver auf deinem Server installieren. Du kannst ihn installieren, indem du den folgenden Befehl ausführst:

apt install mariadb-server -y

Nachdem du den MariaDB-Server installiert hast, kannst du die MariaDB-Installation mit folgendem Befehl sichern:

mysql_secure_installation

Dieses Skript setzt ein Root-Passwort, entfernt anonyme Benutzer, verbietet den Root-Login aus der Ferne und entfernt die Testdatenbank wie unten gezeigt:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Als Nächstes meldest du dich bei MariaDB als Root-Benutzer an:

mysql -u root -p

Sobald du eingeloggt bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

CREATE DATABASE pydiodb;
CREATE USER 'pydiodb'@'localhost' IDENTIFIED BY 'password';

Als Nächstes erteilst du Pydio alle Rechte mit dem folgenden Befehl:

GRANT ALL PRIVILEGES ON pydiodb.* to 'pydiouser'@'localhost';

Lösche die Berechtigungen und verlasse die MariaDB-Shell mit folgendem Befehl:

FLUSH PRIVILEGES;
EXIT;

Pydio Cells auf Ubuntu 22.04 installieren

Standardmäßig ist das Pydio-Paket nicht im Ubuntu 22.04 Repository verfügbar. Daher musst du es von der offiziellen Website herunterladen.

Du kannst die neueste Version von Pydio Cells mit folgendem Befehl herunterladen:

distribId=cells 
wget -O /usr/bin/cells https://download.pydio.com/latest/${distribId}/release/{latest}/linux-amd64/${distribId}

Sobald der Download abgeschlossen ist, musst du die heruntergeladene Datei mit den richtigen Berechtigungen versehen und sie mit dem folgenden Befehl an den HTTP-Port binden:

chmod +x /usr/bin/cells
setcap 'cap_net_bind_service=+ep' /usr/bin/cells

Als Nächstes überprüfst du die Version von Pydio Cells mit folgendem Befehl:

cells version

Du erhältst die folgende Ausgabe:

Pydio Cells Home Edition
 Version: 	4.0.5
 Built: 	01 Dec 22 04:24 +0000
 Git commit: 	406762a4b5bff7b60189291ad4ee16c69a94ecd7
 OS/Arch: 	linux/amd64
 Go version: 	go1.19.3

Pydio Cells konfigurieren

Als Nächstes konfigurierst du die Pydio-Zellen mit dem folgenden Befehl:

cells configure

Du wirst aufgefordert, die verschiedenen Installationstypen auszuwählen.

Welcome to Pydio Cells Home Edition installation 
Pydio Cells Home Edition (v4.0.5) will be configured to run on this machine.
Make sure to prepare access and credentials to a MySQL 5.6+ (or MariaDB equivalent) server.
Pick your installation mode when you are ready.

? Browser-based (requires a browser access)

Wähle die browserbasierte Installation und drücke die Eingabetaste. Sobald Pydio Cells konfiguriert ist, erhältst du die folgende Ausgabe:

Use the arrow keys to navigate: ? ? ? ? 
? Installation mode: 
  ? Browser-based (requires a browser access)
    Command line (performed in this terminal)

? Browser-based (requires a browser access)
Installation Server is starting...
Listening to: https://0.0.0.0:8080

2022-12-13T05:43:12.641Z	INFO	pydio.rest.config	starting	{"service": "pydio.rest.config", "hook router to": "/a/config"}
2022-12-13T05:43:12.659Z	INFO	pydio.rest.install	starting	{"service": "pydio.rest.install", "hook router to": "/a/install"}
Open a browser window to: [https://0.0.0.0:8080]
2022-12-13T05:43:14.741Z	INFO	pydio.server.caddy	? Created a new local CA at "rootCA.pem" ????
2022-12-13T05:43:14.858Z	INFO	pydio.server.caddy	? Created a new certificate valid for the following names ????
2022-12-13T05:43:14.858Z	INFO	pydio.server.caddy	 - "127.0.0.1"
2022-12-13T05:43:14.858Z	INFO	pydio.server.caddy	 - "139.84.138.121"
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	 - "localhost"
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	? The certificate is at "5b92168f4e3239411477f1f5f42539f4.pem" 
 and the key at "5b92168f4e3239411477f1f5f42539f4-key.pem"
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	
2022-12-13T05:43:14.859Z	INFO	pydio.server.caddy	???? If you are behind a reverse proxy, you can either install the RootCA on the proxy machine trust store, or configure your proxy to `insecure_skip_verify` for pointing to Cells.
2022-12-13T05:43:14.860Z	INFO	pydio.server.caddy	???? If you are developing locally, you may install the RootCA in your system trust store to see a green light in your browser!
2022-12-13T05:43:14.860Z	INFO	pydio.server.caddy	????  To easily install the RootCA in your trust store, use https://github.com/FiloSottile/mkcert. Set the $CAROOT environment variable to the rootCA folder then use 'mkcert -install'
2022-12-13T05:43:14.860Z	INFO	pydio.server.caddy	
2022-12-13T05:43:14.862Z	WARN	pydio.server.caddy	admin - admin endpoint disabled
2022-12-13T05:43:14.862Z	INFO	pydio.server.caddy	tls.cache.maintenance - started background certificate maintenance{"cache": "0xc0002bdab0"}
2022-12-13T05:43:14.863Z	INFO	pydio.rest.install	ready
2022-12-13T05:43:14.864Z	INFO	pydio.web.install	ready
2022-12-13T05:43:14.865Z	INFO	pydio.rest.config	ready
2022-12-13T05:43:14.865Z	WARN	pydio.server.caddy	tls - stapling OCSP{"error": "no OCSP stapling for [localhost 127.0.0.1 139.84.138.121]: no OCSP server specified in certificate"}
2022-12-13T05:43:14.865Z	WARN	pydio.server.caddy	http - automatic HTTP->HTTPS redirects are disabled{"server_name": "srv0"}
2022-12-13T05:43:14.866Z	INFO	pydio.server.caddy	autosaved config (load with --resume flag) - {"file": "/root/.config/pydio/cells/caddy/autosave.json"}
2022-12-13T05:43:14.866Z	INFO	pydio.server.caddy	tls - cleaning storage unit{"description": "FileStorage:/root/.config/pydio/cells/caddy"}
2022-12-13T05:43:14.866Z	INFO	pydio.server.caddy	tls - finished cleaning storage units

Jetzt ist Pydio Cells installiert und konfiguriert. Du kannst jetzt mit dem nächsten Schritt fortfahren.

Zugriff auf das Webinterface von Pydio Cells

Du kannst nun über die URL https://your-server-ip:8080 auf Pydio Cells zugreifen . Du solltest die Seite mit der Pydio Cells Lizenzvereinbarung sehen:

Stimme der Lizenzvereinbarung zu und klicke auf die Schaltfläche NEXT. Du solltest die Seite mit der Datenbankkonfiguration sehen.

Gib deine Datenbankkonfiguration an und klicke auf die Schaltfläche WEITER. Du solltest die Seite zum Anlegen eines Admin-Benutzers sehen:

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche WEITER. Du solltest die folgende Seite sehen:

Klicke jetzt auf die Schaltfläche JETZT INSTALLIEREN. Du solltest die Anmeldeseite von Pydio Cells sehen:

Gib deinen Administrator-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche EINGABE. Auf der folgenden Seite solltest du das Pydio Dashboard sehen:

Systemd-Dienstdatei für Pydio Cells erstellen

Als Nächstes musst du eine systemd-Dienstdatei erstellen, um den Pydio-Dienst zu verwalten. Drücke zunächst die Tastenkombination STRG+C, um den Pydio-Dienst anzuhalten, und erstelle dann eine systemd-Dienstdatei mit dem folgenden Befehl:

nano /etc/systemd/system/cells.service

Füge die folgenden Zeilen hinzu:

[Unit]
Description=Pydio Cells
Documentation=https://pydio.com
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/bin/cells

[Service]
User=root
Group=root
PermissionsStartOnly=true
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/cells start
Restart=on-failure
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65536
TimeoutStopSec=5
KillSignal=INT
SendSIGKILL=yes
SuccessExitStatus=0
WorkingDirectory=/root

[Install]
WantedBy=multi-user.target

Speichere und schließe die Datei und lade den systemd-Daemon neu, um die Änderungen zu übernehmen:

systemctl daemon-reload

Starte und aktiviere dann den Pydio-Dienst mit folgendem Befehl:

systemctl enable cells
systemctl start cells

Du kannst den Pydio-Status auch mit dem folgenden Befehl überprüfen:

systemctl status cells

Du erhältst die folgende Ausgabe:

? cells.service - Pydio Cells
     Loaded: loaded (/etc/systemd/system/cells.service; disabled; vendor preset: enabled)
     Active: active (running) since Sat 2022-12-13 11:34:24 UTC; 6s ago
       Docs: https://pydio.com
   Main PID: 25764 (cells)
      Tasks: 119 (limit: 2341)
     Memory: 421.6M
        CPU: 4.114s
     CGroup: /system.slice/cells.service
             ??25764 /usr/bin/cells start
             ??25769 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.jobs$
             ??25775 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.search$
             ??25781 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.gateway.websocket$
             ??25783 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.pydiods1$
             ??25787 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.personal$
             ??25790 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.cellsdata$
             ??25802 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.versions$
             ??25805 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.sync.thumbnail>
             ??25816 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.tasks$
             ??25819 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.objects.local1$
             ??25847 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.pydiods1$
             ??25848 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.personal$
             ??25849 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.cellsdat>
             ??25850 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.versions$
             ??25851 /usr/bin/cells start --fork --config local --registry grpc://:8000 --broker grpc://:8003 ^pydio.grpc.data.index.thumbnai>

Dec 13 12:34:29 ubuntu2204 cells[25764]: 2022-12-13T11:34:29.294Z        INFO        pydio.test.objects        Started
Dec 13 12:34:29 ubuntu2204 cells[25764]: 2022-12-13T11:34:29.307Z        INFO        pydio.gateway.grpc        Activating self-signed configura>
Dec 13 12:34:29 ubuntu2204 cells[25764]: 2022-12-13T11:34:29.308Z        INFO        pydio.gateway.grpc        Started
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.191Z        INFO        pydio.grpc.data.index.pydiods1        Warning: no private >
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.194Z        INFO        pydio.grpc.data.index.personal        Warning: no private >
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.195Z        INFO        pydio.grpc.data.index.cellsdata        Warning: no private>
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.204Z        INFO        pydio.grpc.data.index.thumbnails        Warning: no privat>
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.212Z        INFO        pydio.grpc.data.index.versions        Warning: no private >
Dec 13 12:34:30 ubuntu2204 cells[25764]: 2022-12-13T11:34:30.326Z        INFO        pydio.gateway.proxy        Restarting proxy        {"caddy>

Du kannst jetzt auf das Pydio Cells Dashboard zugreifen, indem du die URL https://your-server-ip:8080 verwendest.

Fazit

Glückwunsch! Du hast Pydio Cells erfolgreich auf Ubuntu 22.04 installiert und konfiguriert. Du kannst Pydio Cells jetzt auf deinem eigenen Server einsetzen, deine Dateien, Dokumente und Bilder über das Pydio-Dashboard hochladen und von jedem Handy oder Webbrowser darauf zugreifen. Wenn du Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …