Nextcloud mit Ubos auf dem Raspberry Pi

Seit rund einem Jahr nutze ich Owncloud auf einem meiner Raspberry Pis. Damals installierte ich das Programm mit Raspbian Jessie. Doch mittlerweile ist Stretch verfügbar, was den Umstieg derzeit, spätestens aber mit Ablauf des Unterstützungszeitraumes in 2020 nahelegt. Jedoch ist das Upgrade von einer Version auf die nächste nicht unbedingt empfehlenswert. Ich habe schon einschlägige Negativerfahrungen gemacht, so dass an sich eine Neuinstallation anstünde. Als Alternative käme Nextcloud Box in Betracht. Für Bastler bzw. Nutzer, die kein vorkonfiguriertes Gerät erwerben möchten, werden Abbilder zur Verfügung gestellt.
Doch ideal wäre eine Art Rolling Release. Und genau das habe ich mit Ubos gefunden. Ubos wird auf dem Pi installiert und ermöglicht die Bereitstellung verschiedener Applikationen -wie Nextcloud oder WordPress– über die Weboberfäche, also mittels Browser. Das auf Arch Linux beruhende Ubos besitzt keine grafische Oberfläche, ist aber im Nu mit einigen Konsolenbefehlen eingerichtet. Das System samt seiner Applikationen wird mittels eines einzigen Befehls aktuell gehalten. Ein Upgrade des OS von einer Version auf die nächste, so, wie wir es von Raspbian kennen, ist nicht erforderlich, heißt es. Ubos ist zudem frei und open source.
Für Ubos existiert eine englischsprachige Anleitung, die ich zusammenfassen möchte, weil es bei meiner Installation etwas hakte, worauf ich weiter unten eingehen werde.

Wir benötigen ein entsprechendes Image für den Raspberry 1, Zero, 2 oder 3, einen USB-Stick, eine in vfat/fat32 formatierte Micro-SD-Speicherkarte und einen Micro-SD-Adapter. Wer dd nicht mag, holt sich Etcher und schreibt das Image damit auf die Karte. Wer statt Linux Windows auf dem Remote-Rechner nutzt, benötigt –u. U. selbst unter Windows 10Bonjour; entweder über iTunes oder standalone.
Am einfachsten ist es, den Pi mittels HDMI-Kabel mit einem Monitor zu verbinden und über USB eine Tastatur anzuschließen. Bevor der Pi mit eingeschobener Micro-SD-Karte ans Stromnetz angeschlossen wird, sollte ein kleiner USB-Stick, den wir zuvor als UBOS-STAFF benannt haben, an einen der USB-Ports des Pi geklemmt werden.
Ich beziehe mich folgend auf die Anleitung für den Pi 2 oder 3.
Mit dem Anschluss des Stromkabels booten wir das System. Nachdem der Pi hochgefahren ist, loggen wir uns als Nutzer root ein, wozu wir kein Passwort benötigen. Nun sollten wir 10 Minuten abwarten, weil Ubos einige Schlüssel generiert, die auf dem Stick abgelegt werden. Ist die Zeit abgelaufen, prüfen wir mit

systemctl is-system-running

ob das System ordnungsgemäß gestartet ist, was durch die Ausgabe

running

bestätigt werden sollte. Wir aktualisieren Ubos mit

ubos-admin update

Im Regelfall sollten nach gerade heruntergeladenem Image keine Updates vorhanden sein. Übrigens: Genau mit diesem einzigen Befehl lässt sich auch künftig die gesamte Distri samt ihrer Applikationen aktuell halten. Ein zusätzlicher Upgrade-Befehl existiert nicht!
Nun können wir unsere erste Seite samt einer oder mehrerer Applikationen einrichten, wobei ich mich hier auf Nextcloud beschränken werde.
Jetzt kommt es darauf an, wie wir Ubos bzw. Nextcloud erreichen möchten. Zur Auswahl stehen die lokale IP-Adresse, die IP-Adresse + der Aufruf über ubos-rpi2.local, ubos-rpi2.local alleine oder über eine Domain (z. B. eine feste IP von noip.com) + Zertifikat, entweder ein selbst signiertes, ein offizielles oder -was ich empfehle- eines von Let’s Encrypt. Leider ist Ubos nicht lokal und kumulativ über eine mit LE signierte Domain erreichbar. Hier gilt entweder oder. Da ich nicht allein von der Existenz und vom Wohl und Wehe eines Providers abhängig sein möchte, ziehe ich den Aufruf über ubos-rpi2.local vor. Ich verzichte damit auf die Erreichbarkeit von außen. Die gleichzeitige Installation per lokaler IP-Adresse ist daher obsolet, kann aber erreicht werden, indem man als Host nicht ubos-rpi2.local (siehe unten), sondern * angibt. Dann werden beide Möglichkeiten ausgeschöpft. Dennoch sollte man den Router so konfigurieren, dass er dem Pi immer die gleiche IP zuordnet, was im Backend der FRITZ!Box ganz einfach durch Setzen eines Häkchens erreicht werden kann.

Wir befehlen

ubos-admin createsite

Nun beantworten wir einige Fragen:
Als Host geben wir (zur Zeit des Verfassens dieses Beitrages) ubos-rpi2.local an. Achtung: In der Anleitung ist von ubos-raspberry-pi2.local die Rede, was nicht stimmt und was bei mir zu erheblicher Fehlersuche und zu Supportaufwand führte. Die Einzelheiten könnt Ihr in Google Groups nachlesen.
Des weiteren verfahrt Ihr wie in der Anleitung beschrieben mit folgenden Maßgaben:
Es gelten die Zeichen der deutschen Tastatur mit US-Zeichensatz: Daher sind @ mit shift + 2 sowie * mit shift + 8 erhältlich.

Mit dem user name und dem user passwort loggen wir uns später in Nextcloud ein. Also bitte genau überlegen!

First app to run (or leave empty when no more apps): nextcloud

App wordpress suggests context path /nextcloud
Enter context path: /nextcloud

Für Nextcloud benötigt man in der Regel den Kalender- Aufgaben- und die Kontakterweiterungen. Jene sind abweichend von der üblichen Installation nicht über die Kategorien des App Stores des Backends, sondern wie folgt zu installieren:

Any accessories for wordpress? Enter list: nextcloud-calendar nextcloud-contacts nextcloud-tasks

Jetzt erfolgt der Download der Pakete und die Installation (auf dieselbe Weise kann man auch WordPress aufsetzen).
Die Eingangsseite erreicht man über seinen Browser mit der Eingabe ubos-rpi2.local,

Nextcloud hingegen mit einem Klick auf das Icon oder über ubos-rpi2.local/nextcloud.

Die Erweiterungen Kalender und Kontakte sind bereits aktiviert.

Die CardDAV-Links zur Synchronisation mit dem Desktop Client und weiteren Anwendungen, wie Thunderbird, Evolution oder Roundcube, sind ebenfalls vorhanden, sofern sie nach dem ersten Einloggen bestätigt wurden.
Wer mittels Domain und Let’s Encrypt installieren möchte, wählt eingangs statt

ubos-admin createsite

den Befehl

sudo ubos-admin createsite --tls --letsencrypt

Als Host wird z. B. die über noip gewählte statische IP/Internetadresse eingegeben, also etwa blabla.ddns.net. Den Rest erledigt das System von selbst wie vorstehend. Im Router müssen zusätzlich die Ports 443, 80 und 22 geöffnet werden. Um einen regelmäßigen Abgleich der IP mit dem NoIP-Server zu gewährleisten, tragen wir, sofern wir eine FRITZ!Box betreiben, unter Internet -> Freigaben -> DynDNS no-ip ein. Dort müssen der komplette Domainname, blabla.ddns.net, der Benutzername, blabla, und das Kennwort angegeben werden. Bei anderen Routern muss eventuell der ddclient installiert werden.

Abschließend wollen wir aber nicht ständig einen Monitor und eine Tastatur am Pi angeschließen, sondern ihn mittels anderer Netzwerkrechner, z. B. über unseren Desktop oder unser Notebook, steuern. Die Verbindung erfolgt über ssh, allerdings nicht -wie gewohnt- mit Passwort, sondern über eine Schlüsseldatei, die Ubos während der Installation auf dem Stick UBOS-STAFF abgelegt hat. Wir können die Datei direkt von dort nutzen. Ich ziehe es hingegen vor, den Stick abzuziehen, die Datei auf meine Rechner zu kopieren und mich von dort aus einzuloggen. Wir nehmen daher die Datei UBOS-STAFF/shepherd/ssh/id_rsa und kopieren sie an irgendeinen Ort auf unserem Remote-Rechner, möglichst aber so, dass nur wir selbst Zugriff darauf haben, etwa wie hier (die Befehle sind an die eigenen Gegebenheiten anzupassen):

/home/nutzer/Dokumente/my-ubos-shepherd-key/ssh/id_rsa

Dann setzen wir die Rechte restriktiv:

chmod 600 /home/nutzer/Dokumente/my-ubos-shepherd-key/ssh/id_rsa

Auf dem Pi per Konsole einloggen:

ssh -i /home/nutzer/Dokumente/my-ubos-shepherd-key/ssh/id_rsa shepherd@ubos-rpi2.local

Ubos meckert möglicherweise kurz; wir machen aber mit yes weiter. Drin sind wir

und können jetzt z. B. das System aktuell halten, weitere Apps installieren oder Backups anlegen, worauf ich hier nicht weiter eingehen möchte. Bei Interesse möge man sich in How to use UBOS vertiefen. Ubos wird mit

sudo systemctl halt

runtergefahren und mit

sudo systemctl reboot

neu gestartet.

Ich bin von Ubos überzeugt: Entfällt doch das ständige Gefrickel mit irgendwelchen Konfigurationsdateien, wenn man Raspbian mit Nextcloud und gegebenenfalls einer Domain nebst Let’s Encrypt aufsetzen möchte, was Zeit und den letzten Nerv raubt. Vor allem aber entfällt der Stress wie bei einem Upgrade Raspbians oder dessen Neuinstallation. Allerdings könnte Ubos Manual etwas übersichtlicher und vor allem aktueller sein. Dafür erhält man freundliche Unterstützung über das Forum.

Ubos hat mein vorheriges aus Raspbian und Owncloud bestehendes System abgelöst.

 

Weiterführende Links:

1

11 comments on Nextcloud mit Ubos auf dem Raspberry Pi

  1. Arch Linux habe ich als reichlich absturzfreudiges System in Erinnerung. Mag am Rolling Release liegen. Es gibt übrigens keine amerikanische Tastatur. Meintest du: US-amerikanisch?

    Ich bezweifle auch, dass Ubos frei ist. Ist doch GPL, oder? „Juristen“ sollten das eigentlich besser wissen.

  2. Zum einen läuft Arch Linux sehr stabil und ist nach einer Installation meistens länger in Betrieb als die von anderen Distributionen. Zum anderen ist Ubos lediglich ein Arch Linux Derivat.
    Was heißt, dass Ubos seine eigenen Repositorien hat. Auch wenn viele Packete von Arch übernommen werden, Ubos wählt aus, kompiliert einiges selbst und testet. Wenn das gut gemacht wird, ist das Rolling Release Modell auch für Server ideal. Es gibt schon viel zu viele Woldpress Installationen die schlecht gewartet werden, weil der Aufwand zu groß ist. Hier kann Ubos viel Arbeit abnehmen.

  3. Für mich wäre das keine Alternative. Das ist etwas für jemanden der das System nicht vor hat verstehen zu wollen. Ein paar Befehle und fertig. Außerdem würde ich kein Rolling Release im Serverbereich einsetzen wollen. Hier sollte es ein OS sein, welches den Status „stable“ hat und möglichst lange mit Sicherheitsupdates unterstützt wird.

  4. Hallo, Johannes (UBOS-Entwickler) hier. Vielen Dank für den ausführlichen Artikel, und schön, dass die Installation geklappt hat!

    Noch eine Sache, die wahrscheinlich von Interesse sein dürfte: „ubos-admin backup-to-amazon-s3“ tut was es sagt: alle Daten werden zu Amazon S3 hochgeladen; optional mit Verschlüsselung. Mit „ubos-admin restore –url …“ hat man alle apps und Daten, auch auf einem neuen Rechner, wieder zurück. Das ist zumindest für mich ein grosser Zeitersparer …

    Cheers nach Deutschland,

    Johannes

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte folgende Codes benutzen:
<a href="ADRESSE">BESCHRIFTUNG</a>  <strong>WICHTIG/FETT</strong>  <em>HERVORGEHOBEN/KURSIV</em>  <blockquote>ZITAT</blockquote>