So fliegt die Himbeere!

Im Beitrag Himbeere reloaded habe ich über den neuen Raspberry Pi geschrieben und angedeutet, dass er dazu auserkoren wurde, für mich als private Datenwolke in die Lüfte zu steigen. Dazu wollte ich erst Own Cloud benutzen, aber Andi (schon wieder er) hat mir empfohlen, stattdessen Nextcloud zu nehmen. Eine gute Empfehlung, weil es dort Funktionen gratis gibt, für die man bei Own Cloud zahlen muss.

In den Tamedia-Zeitungen habe ich im Beitrag Wie man Googles Würgegriff entkommt (Abo plus) bereits ein bisschen über den Verlauf dieses Projekts geschrieben – allerdings ohne in die Details zu gehen. Hier werde ich nun ein paar Einzelheiten preisgeben. Zumindest, soweit das möglich ist, ohne dass meine ganze Street Cred als Nerd aufs Spiel zu setzen.

Denn wie im Artikel angedeutet, habe ich mich amateurhaft angestellt. Zu meiner Verteidigung sei gesagt, dass nicht allein meine Dummheit schuld war, sondern diese, hoffentlich nachvollziehbaren Gründe:

  • Erstens waren meine Linux-Kenntnisse nie besonders gut – als Computerjourni schlägt man sich (halb freiwillig, halb unfreiwillig) nun einmal vor allem mit Windows, dem Mac, iOS und Android herum. Und meine bescheidenen Kenntnisse sind inzwischen eingerostet.
  • Zweitens ist die Dokumentation nicht so toll, wie sie sein könnte. Wenn man googelt, findet man Anleitungen, die teils überholt sind.
  • Und drittens bin ich von falschen Annahmen ausgegangen. Ich habe geglaubt, manche Dinge (wie das Formatieren der externen Festplatte und das Verschieben des Datenordners von der SSD auf diese besagte externe Festplatte) auf manuellem Weg erledigen zu müssen (weil es früher nicht anders ging). Doch das ist überflüssig. Heute existieren Admin-Werkzeuge, die ich weiter unten vorstelle. Und aufgrund von Grund 1 war hinterher die Nextcloud-Installation hinüber.

Dabei wäre es eigentlich einfach. Und man braucht nur eine Handvoll Terminal-Befehle zu beherrschen. Grob geht man folgendermassen vor:

Man richtet auf dem Raspberry Pi Raspbian wie beschrieben ein. Man aktiviert als nächstes in der Konfiguration den Zugang via SSH. Dann findet man die IP-Adresse des Raspberrys heraus, zum Beispiel über diesen Befehl:

hostname -I

Dann greift man am Mac per Terminal auf den Raspberry Pi zu:

ssh pi@192.168.1.146

Die IP-Adresse nach dem At entspricht natürlich der Angabe, die einem der erste Befehl zurückgeliefert hat. Bei Windows nutzt man Putty (hier die Anleitung). Und wenn man mag, kann man sogar eine mobile App nutzen, zum Beispiel WebSSH fürs iPhone oder JuiceSSH für Android (letztere habe ich aber nicht getestet).

Übrigens, wenn man, wie ich, in die Verlegenheit kommen sollte, wegen eines eklatanten User-Versagens Raspbian mehr als einmal installieren zu müssen, dann gibt der Mac nach der Neuinstallation eine Warnung aus, in der von einer Man in the Middle-Attake die Rede ist. (Warning: Remote host identification has changed. It is possible that someone is doing something nasty.)

Das liegt daran, dass sich durch die Neuinstallation die Schlüssel zur Absicherung der SSH-Verbindung geändert haben. Man entfernt in dem Fall die alten Schlüssel, und zwar mit diesem Befehl:

ssh-keygen -R 192.168.1.146

Die IP-Adresse muss man natürlich wiederum an die Gegebenheiten anpassen.

Sinnvoll ist, an dieser Stelle ein Update für das Betriebssystem und die vorinstallierte Software anzustossen – am besten noch bevor man einen Neustart ausführt. Mir ist es nämlich passiert, dass der Raspberry Pi nach der Installation des Betriebssystems nicht mehr aufstarten konnte. Meine Vermutung ist, dass das an einem Kompatibilitätsproblem von Raspbian liegt. Für die Aktualisierung tippt man am Prompt folgende Befehle:

sudo apt-get update
sudo apt-get dist-upgrade

Mehr Details zum Updaten finden sich übrigens hier.

Nun kann es auch schon losgehen. Für die Installation von Nextcloud habe ich mich an die Anleitung Nextcloud auf dem Raspberry Pi – so gehts von Heise gehalten. Man kann die Anleitung auch kurz zusammenfassen, denn man braucht nur einen einzigen Befehl für die Installation:

curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | sudo bash

Die Installation dauert ihre Zeit. Wenn sie durchgelaufen ist, dann erscheint (im Browser, wenn man via IP-Adresse des Raspberry Pi auf die Nextcloud zugreift) ein Assistent, der einem die Zugangsdaten für den Administrator angibt und die man sich aufschreiben sollte. Falls man das vergisst, kann man das Admin-Passwort jedoch nachträglich ändern:

sudo -u www-data php /var/www/nextcloud/occ user:resetpassword ncp

Die Pfade und der Name des Benutzers (ncp) muss man unter Umständen den Gegebenheiten anpassen.

Der Nextcloud-Assistent, der aus unerfindlichen Gründen meine externe Festplatte verschmäht.

Der Assistent nimmt grundlegende Angaben zur Konfiguration entgegen. Hier sollte man die Gelegenheit haben, als Speicherort die externe Festplatte anzugeben. In meinem Fall hat das nicht geklappt – vielleicht deswegen, weil ich in voreilendem Gehorsam die Festplatte selbst gemountet hatte. Wie eingangs angedeutet kann man sich das sparen.

Für die Konfiuration und Administration sind an dieser Stelle zwei Befehle nützlich. Erstens dieser hier:

sudo raspi-config

Er zeigt am SSH-Terminal die Konfigurationsmöglichkeiten für den Raspberry Pi an. Im Menü erscheint auch ein Punkt für die Konfiguration von Nextcloud. Dieses Konfigurationsmenü lässt sich auch mit folgendem Befehl aufrufen.

sudo ncp-config

Warum mit Bash-Befehlen hantieren, wenn es doch dieses komfortable Konfigurationsmenü gibt?

Unter Config ändert man den Speicherort für die Datenbank (nc-database) und die Ablage (nc-datadir). Man kann auch hier Passwörter ändern (nc-passwd), die URL-Schönschreibung aktivieren (nc-prettyURL), das Web-Interface ein- und ausschalten (nc-webui) und eine verbastelte Konfiguration zurücksetzen (nc-init).

An gleicher Stelle führt man auch die Liste der zulässigen Domains (nc-trusted-domains). Das ist notwendig, nachdem man den DynDNS-Dienst eingerichtet hat. Die dort gewählte Domain muss hier hinterlegt werden.

Auch die anderen Konfigurationspunkte sollte man sich ansehen. Bei Networking schaltet man z.B. Samba ein. Bei System konfiguriert man die externen Festplatten: Bei nc-automount aktiviert man die Funktion, dass externe USB-Festplatten automatisch eingebunden werden. Und man schaltet das WLAN ein und aus (nc-wifi).

Bei Tools flickt man die Berechtigungen (nc-fix-permissions), formatiert externe Festplatten (nc-format-USB), führt Wartungsaufgaben durch (nc-maintenance), erzeugt Vorschauen für die Galerie (nc-previews) und führt eine Aktualisierung durch, wenn Dateien ausserhalb von Nextcloud verändert worden sind (nc-scan).

Fazit: Wenn man dieses Instrument kennt, dann ist die Konfiguration keine Hexerei.

Erstaunlich unkompliziert war übrigens der Zugriff von aussen. Als DynDNS habe ich es einmal mit Noip.com probiert, werde aber wohl noch wechseln, weil dieser Dienst von meinem Router nicht direkt unterstützt wird. Ich muss nachsehen, ob es mit spdyn.de (Nach Hause finden) geht. Apropos Router: Beim Turris-Omnia-Router (Der Nerd-Router) gibt es ein Modul für dynamische DNS-Adressen.

Die zwei unteren Einträge im Turris-Omnia-Router leiten HTTP- und HTTPS-Anfragen zum Raspberry Pi weiter.

Was es noch braucht, ist ein Port-Forwarding in der Firewall des Routers. Auch das war, ein bisschen zu meiner Überraschung, ein Klacks.

Tipps von Twitter

Und hier noch die Tipps von Twitter als Reaktion zu diesem Blogpost:

Beitragsbild: Sobald der Arm nach oben schnellt… (Liam Ortiz/Pexels, Pixels-Lizenz).

Autor: Matthias

Computerjournalist, Familienvater, Radiomensch und Podcaster, Nerd, Blogger und Skeptiker. Überzegungstäter, was das Bloggen angeht – und Verfechter eines freien, offenen Internets, in dem nicht alle interessanten Inhalte in den Datensilos von ein paar grossen Internetkonernen verschwinden. Wenn euch das Blog hier gefällt, dürft ihr mir gerne ein Bier oder einen Tee spendieren: paypal.me/schuessler

2 Gedanken zu „So fliegt die Himbeere!“

  1. Schöne Anleitung! Wusste nicht, dass es für den RasPi einen eigenen NextCloud-Installer gibt. Ist natürlich super, so schön eingebunden in die Konfigurationstools.

    Wenn man zu faul ist, um Monitor und Tastatur anzuschliessen, kann man übrigens auf der SD-Karte eine leere Datei namens „ssh“ hinterlegen. Dann ist SSH beim nächsten Start aktiviert.

    Was Du -quasi als „Kür“- noch machen könntest: bei Deiner Domain einen CNAME-Eintrag einrichten, welcher auf den DynDNS-Namen zeigt. Dann im NextCloud Let’s Encrypt aktivieren. So könntest Du über https://cloud.clickomania.ch auf den RasPi zugreifen und das mit einem gültigen Zertifikat.

Kommentar verfassen