Privat im Netz

Sven-Ola Tücke

Oktober 2025


Inhaltsverzeichnis

Projektvorstellung
Inbetriebnahme
Hardware auswählen und beschaffen
Bediencomputer oder Smartphone vorbereiten
Image herunterladen und auf SD-Karte schreiben
Installation mit Captive-Portal
Mit dem Internet verbinden
Nextcloud Erstkonfiguration
Android Smartphone Verbinden
Desktop-Computer Verbinden
Pflege und Wartung
Backups einrichten
Ein Backup einspielen
Nextcloud-Update durchführen
Backup-Server aufsetzen
Backup-Server auf SBC
Backup-Server auf Synology-NAS
A. Speicherkonzept

Projektvorstellung

Das Projekt Privat im Netz soll es Privatpersonen ermöglichen, einen Cloud-Server auf eigener Hardware zu betreiben. Dabei legt Privat im Netz besonderen Wert auf die einfache Bedienbarkeit und geringe Kosten. Die Zweck ist, einen kleinen Server in deiner Wohnung zu betreiben. Der Server wiederum stellt Datendienste für eigene Rechner und Smartphones zur Verfügung.

Orange Pi 3 Zero mit Gehäuse aus dem 3D-Druck

Der laufende Server besteht nach der Inbetriebnahme aus folgenden Komponenten:

  • Silikon: Ein kleiner lüfterloser Mini-Rechner mit wenigen Kubikzentimetern Abmessung stellt die Rechenleistung zur Verfügung. Es sollte ein eigener und zweckbestimmter Rechner sein, da so ein Server im Dauerbetrieb läuft. Es gibt passende kleine Rechner als Nebenprodukt der Smartphone-Evolution. Single-Board-Computer (SBC) mit ARM-CPU, ausreichend Arbeitsspeicher und einer Speicherkarte zur dauerhaften Datenspeicherung kannst du für wenig Geld erwerben. Der bekannteste SBC ist der Raspberry Pi, den es mittlerweile in mehreren Hardware-Versionen gibt. Für Privat im Netz werden zur Zeit bevorzugt chinesische SBC von Shenzhen Xunlong eingesetzt: Orange Pi Zero 3.

  • Betriebssystem: Als Betriebssystem kommt Armbian zum Einsatz. Armbian ist eine auf ARM-CPUs und SBC spezialisierte Variante des Betriebssystems Debian-Linux. Armbian ist auf einer großen Anzahl von unterschiedlichen SBC lauffähig (siehe https://www.armbian.com/download/). Passende Image-Dateien kannst du herunterladen, auf eine SD-Karte übertragen und anschließend starten.

  • Cloud-Software: Die Cloud-Software Nextcloud ist ein in Deutschland hergestelltes System zur Verwaltung von persönlichen Daten (siehe https://nextcloud.com/de/). Neben Datei-Synchronisation zwischen verschiedenen (eigenen) Rechnern und Smartphones kannst du Kontakte, Adressen oder Fotos zentralisiert speichern und verwalten. Du kannst eigene Dateien zum Download durch andere Benutzer anbieten, Informationen mit anderen Benutzern über einen Chat austauschen oder mit einem gemeinsam bearbeiteten Dokument Projekte koordinieren. Die Nextcloud-Software kann mit einer Web-Oberfläche bedient werden. Über den Nextcloud-App-Store kannst du zusätzliche Apps installieren. Es gibt außerdem passende Dienstprogramme für gängige Computer- und Smartphone-Betriebssysteme.

    Größere Nextcloud-Systeme mit mehreren Benutzern bieten beispielsweise außerdem Videokonferenzen, Office-Software, Bürokommunikation und E-Mail-Integration an. Überdies ist es möglich, mehrere Nextcloud-Systeme untereinander zu vernetzen (Federation). Einige dieser Funktionen können die kleinen SBC überlasten, aber größere Systeme kann man bei professionellen Providern mieten.

  • Appliance 1: Zur Installation und Wartung der eingesetzten Nextcloud gibt es schon seit längeren ein geeignetes System: Mit NextcloudPi kann die Nextcloud-Software installiert und für den Betrieb auf SBC optimiert werden (siehe https://docs.nextcloudpi.com/). Außerdem bietet NextcloudPi Konfigurationssoftware zur System-Verwaltung mit Hilfe einer Web-Oberfläche oder alternativ mit Hilfe eines Terminal-Textmenüs.

  • Appliance 2: Zur Vereinfachung der Installation, zum optimierten Betrieb und für ein gemeinschaftliches Backup-Konzept stellt das Privat im Netz geeignete Skripte und Konfigurationsseiten zur Verfügung. Privat im Netz bietet dazu in einem Open-Source-Repository sowohl das Skript zur Herstellung von startfähigen Image-Dateien als auch die Quelltexte der verwendeten zusätzlichen Softwarepakete an (siehe https://codeberg.org/sven-ola/privat-in). Für diese Softwarepakete existiert außerdem ein separates Debian-Repository, so dass zukünftige Versionen mit dem automatischen Update verteilt werden.

  • Projekt-Server: Nicht alle privaten Internet-Anschlüsse haben von extern erreichbare IPv4- oder IPv6-Adressen. Bei Internet-Anschlüssen mit CGNAT, DS-Lite oder Map-T kann man zwar externe Dienste verwenden. Aber eigene Dienste können aus technischen Gründen von extern aus nicht erreicht werden. Außerdem kann es Fälle geben, wo die notwendige Einrichtung einer Port-Weiterleitung auf dem Internet-Anschlussgerät nicht möglich ist. In beiden Fällen kann der eigene Server einen Wireguard-Tunnel zum Privat im Netz Projekt-Server aufbauen, über den indirekt eine Verbindung von außen zurückgeschaltet wird.

Projektziel von Privat im Netz ist die Ermächtigung von Privatpersonen gegenüber allgegenwärtigen und mittlerweile auch manchmal als übergriffig empfundenen Datenverwaltern. Etwas selber machen, sich kundig machen, unabhängiger werden: Das vermittelt Wissen und macht zudem gute Laune. In dem Sinne möchte Privat im Netz anregen, möglichst den eigenen Internet-Zugang zu verwenden, den eigenen DynDNS-Namen zu verwenden oder eine neue Backup-Gruppe zu gründen.

Anmerkung

Ein weiteres Ziel von Privat im Netz ist die Generierung von Spenden für den örtlichen Hackspace, konkret das FabLab Lüneburg (siehe https://www.fablab-lueneburg.org/). Zu diesem Zweck plane ich, die oben beschriebenen SBC zum Selbstkostenpreis abzugeben und gegen eine Spende an den Verein die Inbetriebnahme und Wartung in abendlichen Veranstaltungen lehrend zu begleiten.

Inbetriebnahme

Die Inbetriebnahme eines eigenen Servers ist bewusst einfach gestaltet. Im Prinzip kann sie auch ohne tieferes Verständnis der Systemeigenschaften erfolgen. Aus diesem Grund befindet sich eine sehr technische Beschreibung im Anhang unter Speicherkonzept.

Du solltest aber wissen, dass deine Daten auf der SD-Karte verschlüsselt gespeichert werden. Deshalb ist auch ein längerer Installationsvorgang notwendig, damit deine Daten mit individueller Verschlüsselung gespeichert sind. Die Installation dauert etwa 15 Minuten, anschließend wird das Verschlüsselungspasswort angezeigt.

Ein zweites Passwort ist für den Gerätestart in einem getrennten Speicherbaustein auf dem SBC gespeichert, so dass eine verlorene SD-Karte nicht einfach so entschlüsselt werden kann. Mit direkten und körperlichen Zugriff auf SBC und SD-Karte kann ein versierter Benutzer allerdings trotzdem deine Daten kopieren oder verändern.

Das Verschlüsselungspasswort ist außerdem etwa 100 Zeichen lang und besteht aus zufällig generierten Zeichen. Am besten verwendest du zur Speicherung ein Passwort-Manager-Programm oder eine passende Smartphone-App.

Achtung

Wenn dein Server in der Nacht einen Backup-Schnappschuss hochlädt, dann wird das Gerätestart-Passwort aus dem Backup-Schnappschuss entfernt. Deshalb kannst du ein Backup ausschließlich mit deinem Verschlüsselungspasswort wiederherstellen.

Hardware auswählen und beschaffen

Es können verschiedene SBC als Server eingesetzt werden. Privat im Netz bietet derzeit Images für diese SBC an:

  • Shenzhen Xunlong - Orange Pi Zero 2 (512 Mb und 1 Gb), Orange Pi Zero 3 (1 Gb oder mehr): Allwinner 64-Bit CPU, separater NOR-Speicher, Wifi.

  • Sinovoip - Banana Pi M1 (1 Gb), Banana Pi M2 Zero (512 Mb), Banana Pi M2 Ultra Berry (2 Gb): Allwinner 32-Bit CPU

Ich habe auch andere SBC ausprobiert, beispielsweise Orange Pi Zero, Raspberry Pi 2, Raspberry Pi Zero, Odroid U2, Cubie A5E. Diese Geräte haben zum Teil nicht genug Leistung, zu wenig Speicher, bleiben gerne wegen Überhitzung stehen oder sind schlicht nicht (mehr / gut) beschaffbar.

Wenn du ein bereits vorhandenes SBC einsetzen willst, dann solltest du ein Armbian- oder ein Raspbian-Image als Basis herunterladen und dieses Image mit Hilfe des Konversionsskripts von https://codeberg.org/sven-ola/privat-in erweitern.

Anmerkung

Das Betriebssystem Armbian ist ein sogenanntes Rolling-Release. Das bedeutet, dass mindestens der Linux-Kernel im Wochentakt ein Update erhält. Nicht alle Updates waren in der Vergangenheit mit Privat im Netz kompatibel, so dass ich mich entschlossen habe, die Armbian-Images für die obigen unterstützen SBC selbst herzustellen, damit bei der Installation ein automatisches Update eingerichtet werden kann.

Wenn du ein neues SBC beschaffen willst, dann sind die bisher genannten SBC recht gut und preiswert auf Amazon, auf Ebay oder bei Aliexpress erhältlich. Selbstverständlich kannst du dich auch bei Reichelt, Conrad, Pollin oder Völkner umschauen. Der stationäre Einzelhandel in Deutschland verkauft solche Geräte in der Regel nicht.

Die SBC werden normalerweise mit verschiedenen Zusätzen verkauft: Netzteil, USB-Anschlussleitung, Gehäuse, Kühlkörper und SD-Karte sind in beliebigen Kombinationen gegen Aufpreis im Lieferumfang. Um ein Gehäuse im 3D-Druck selbst herzustellen, kannst du eine passende STL-Datei auf Thingyverse oder Printables herunterladen.

Orange Pi 3 Zero Gehäuse in OpenSCAD

Für einige ausgewählte SBC findest du Quelldateien im Projekt-Repository unter /housing. Die *.scad-Dateien lassen sich mit OpenSCAD in das Format *.stl konvertieren, so dass du es in eine 3D-Drucksoftware importieren kannst.

Bediencomputer oder Smartphone vorbereiten

Dein Computer oder dein Smartphone haben alles Wichtige bereits an Bord: Ein Wifi-Funkmodul, ein optionaler Ethernet-Anschluss und ein Webbrowser sind eigentlich immer vorhanden. Wenn du noch keine Passwort-Verwaltung benutzt, dann empfehle ich dir dringend die Installation und das Ausprobieren einer Passwort-Verwaltungssoftware oder einer Passwort-App. Für Einsteiger ist beispielsweise der KeePassXC Password-Manager geeignet.

Anmerkung

Natürlich kann man Passworte auch auf einem Zettel notieren. Das führt automatisch zur Wiederverwendung von viel zu einfachen Passwörtern die zudem mit einer Wörterbuchattacke erraten werden können.

Natürlich kann man Passworte auch in der Webbrowser-Konfiguration speichern. Mit einer Webbowser-Anmeldung bei einem der großen Cloud-Anbieter können diese Passworte auch auf mehrere eigene Geräte synchronisiert werden. Spätestens jetzt erhält man personalisierte Werbung. Aber erstens gibt es einen Grund, warum wichtige Dienste wie Bank, Entwicker-Webseite oder Amt heute oft eine Zwei-Faktor-Authentisierung verlangen: ohne 2FA ist zwar bequemer aber auch anfällig für Bedienfehler oder Schlimmeres. Und zweitens würde ich die Sicherheit meiner Passwörter niemals einem Cloud-Anbieter überlassen. Außerdem geht es bei Privat im Netz auch um digitale Selbständigkeit, da gehört ein Passwort-Manager einfach dazu.

So könnte es nach einer Zeit auch bei dir aussehen

Image herunterladen und auf SD-Karte schreiben

Ein Image ist eine Datei mit einem Datenträgerabbild. Die Images von Privat im Netz enthalten einen U-Boot-Urlader, einen Linux-Kernel, eine Linux-Startumgebung (Initramfs) sowie eine Auswahl an vorinstallierter Software (Userspace-Programmpakete). Eine Image-Datei ist zwischen 2 und 3 Gb groß, so dass das Herunterladen und das Übertragen auf eine SD-Karte einige Minuten dauert. Meine Images findest du auf dem Privat im Netz Projekt-Server unter https://privat-in.de/downloads/.

Du benötigst einen Laptop oder einen Desktop-Rechner mit einem Mikro-SD-Karten-Adapter. Mikro-SD-Karten können mit einem einfachen mechanischen Adapter auch mit einem großen SD-Karten-Adapter beschrieben werden. Du kannst auch einen Mikro-SD-Karten-Adapter am USB-Anschluss verwenden.

Wichtig

Mit einem Smartphone kann man eine SD-Karte nicht direkt beschreiben. Du benötigst dafür also einen Desktop-Rechner oder einen Laptop.

Tipp

Nur für fortgeschrittene Benutzer - deine SSH-Public-Keys eintragen: Zeige den Offset der ersten Image-Partition an: fdisk -l sd.img, üblicherweise sind das 8192 Sektoren. Anschließend die Partition einbinden, etwa mit sudo mount -o loop,offset=$(( 512 * 8192 )) sd.img /mnt. Die Datei /mnt/root/.ssh/authorized_keys bearbeiten und die Einbindung wieder aufheben.

Viele Linux-Benutzer kennen das: eine Start-fähige SD-Karte kann man mit einem Kommandozeilen-Befehl beschreiben. Ein fataler Fehler wäre es, hier das falsche Gerät zu überschreiben. Prüfe daher besonders genau die Angabe des Zielgerätes (of=).

sudo dd if=sd.img of=/dev/mmc<nummer> bs=1M status=progress && sync

Andere Betriebssysteme verhindern den direkten Zugriff auf Speichermedien und benötigen deshalb Zusatzsoftware. Unter Windows gibt es allerlei Hilfsprogramme, beispielsweise Rufus. Unter MacOS soll es auch mit Bordmitteln funktionieren, aber auch hier gibt es Hilfsprogramme. Im Internet gibt es gute Beschreibungen zum Thema, suche einfach nach Raspberry Pi Image schreiben Windows MacOS Linux.

Die folgenden Schritte führen zu einem laufenden SBC:

  1. Das zum SBC passende Image herunterladen.

  2. Das Image auf eine Mikro-SD-Karte kopieren (siehe oben).

  3. Die Mikro-SD-Karte in den SBC stecken.

  4. Den SBC mit einer Ethernet-Leitung mit dem Internet-Zugangsgerät verbinden.

  5. Den SBC mit einer USB-Anschlussleitung mit einem USB-Netzteil verbinden.

  6. Das USB-Netzteil in eine Steckdose einstecken.

Der erste Start kann ein paar Minuten dauern. In dieser Zeit wird die Linux-Startumgebung den größeren Teil der SD-Karte mit einem verschlüsselten Dateisystem einrichten. Während dieses Vorgangs sollte die grüne LED des SBC aufblitzen (Disk Activity). Eine weitere LED am Ethernet-Anschluss (Net Activity) sollte grün leuchten oder blinken.

Wichtig

Leuchtet keine der beiden grünen LEDs auf, dann startet der SBC nicht. Sollte eine rote LED aufleuchten, dann zeigt das einen Fehler während der Initialisierung an.

Zur Fehlersuche und Analyse kann ich an dieser Stelle nur Hinweise aufschreiben. Stecken die Anschlussleitungen richtig? Ist die SD-Karte korrekt eingelegt? Wurde die SD-Karte mit dem richtigen Image beschrieben? Möglicherweise hilft der Anschluss eines HDMI-Monitors und einer USB-Tastatur. Wahlweise kann eine Analyse des Startvorgangs mit Hilfe einer seriellen UART-Verbindung erfolgen. In diesem Zustand ist für den Benutzer root das Passwort admin eingerichtet.

Installation mit Captive-Portal

Nach dem Erststart und mit einem per Ethernet angeschlossenen Internet-Zugangsgerät wechselt das Wifi-Funkmodul des SBC in den Access-Point-Modus. Damit sendet der SBC eine Funkkennung mit der IPv4-Adresse des Ethernet-Anschlusses: privat-in.de (192.168.x.x). Du kannst nun die Web-Oberfläche für die Installation aufrufen.

Mit Smartphone starten

  1. Öffne auf deinem Smartphone die Wifi-Einstellungen. Nach kurzer Zeit zeigt das Smartphone mehrere Funkkennungen an.

  2. Tippe auf den Eintrag privat-in.de und aktiviere die Verbindung. Diese Verbindung funktioniert ohne Passwort.

  3. Es öffnet sich automatisch ein Anmeldefenster in einem Webbrowser, ein sogenanntes "Captive Portal".

Mit Computer oder Notebook starten

  1. Starte auf deinem Computer einen Webbrowser.

  2. Öffne die Wifi-Einstellungen deines Computers. Hier wird die Ethernet-IP-Adresse des SBC in der privat-in.de-Funkkennung angezeigt.

  3. Gib die Zeichenfolge http:// in die Adresszeile des Webbrowsers ein. Ergänze die Eingabe mit der abgelesenen IP-Adresse aus der Funkkennung (192.168.x.x).

Mit der Web-Oberfläche Installieren

Die Web-Oberfläche zeigt drei Schaltflächen an: Installieren, Wiederherstellen und Alles löschen.

Mit einem Klick auf die Schaltfläche Installieren wird auf einer weiteren Seite der nun folgende Vorgang erläutert. Hier startest du mit einem weiteren Klick auf die Schaltfläche Installieren das Installationsskript. Die Ausgaben des Skripts werden nun fortlaufend auf einer Webseite ausgegeben. Das Skript installiert Updates, lädt die Nextcloud-Software herunter, installiert diese und passt die Systemkonfiguration für Nextcloud an. Dieser Vorgang dauert etwa 15 Minuten.

Wichtig

Die Installation sollte möglichst nicht abgebrochen werden. Solltest du das Webbrowser-Fenster schließen, das Smartphone wechselt in den Ruhezustand oder das Terminal-Applet verliert die Verbindung, dann läuft der Vorgang im Hintergrund weiter. Öffne die Webseite einfach noch einmal oder verbinde das Smartphone erneut.

Warte ab, bis die Anzeige *** INSTALLATION COMPLETE *** zeigt. In diesem Zustand öffnet die Schaltfläche Aktivieren eine neue Seite mit dem verschlüsselten Protokoll HTTPS. Da für lokale IPv4-Adressen keine offiziellen Webseiten-Zertifikate ausgestellt werden, wird dein Webbrowser jetzt vor einem möglichen Sicherheitsrisiko warnen. Im Internet und auf offiziellen Webseiten solltest du diese Warnung ernst nehmen und die Webseite verlassen. Hier aber musst du das Risiko akzeptieren. Die üblichen Schaltflächen dafür lauten Erweitert... und Risiko akzeptieren und fortfahren (oder ähnlich).

Die nun angezeigte blau hinterlegte Aktivierungsseite gehört bereits zum gerade installierten NextCloudPi. Hier werden zwei zufällig generierte Passwörter gezeigt. Du musst beide Passwörter in deine Passwort-Verwaltung kopieren:

  • Das obere längere Verschlüsselungspasswort schützt die Datenverschlüsselung der SD-Karte und alle deine Backup-Images.

  • Das untere kürzere Passwort schützt die NextcloudPi-Weboberfläche auf Port 4443 und das normale Verwaltungskonto für deine Nextcloud. Der Kontoname lautet ncp.

Achtung

Im Prinzip ist dies der Moment, in dem eine andere Person den gleichen Kopiervorgang machen könnte. Dies ist eine Abwägung zwischen Einfach und Sicher: die Installation solltest du generell nicht an belebten Orten durchführen. Wenn es besonders sicher sein muss entferne die Wifi-Antenne auf der Platine des SBC, platziere das Gerät beispielsweise in einem MIkrowellen-Ofen und schließe die Installation über die Ethernet-Verbindung ab.

Zum Kopieren der Passwörter kannst du die daneben angezeigten Icons anklicken. Aktiviere die Passwörter mit der Schaltfläche Activate, die unten auf der Seite verfügbar ist. Anschließend wechselt dein Webbrowser zum NextcloudPi-Panel auf Port 4443. Mit der geänderten Portnummer musst du erneut das Sicherheitsrisiko einer lokalen Webseiten-Verbindung akzeptieren. In den folgenden Passwort-Dialog musst du den Kontonamen ncp angeben und das kürzere Passwort aus deiner Passwort-Verwaltung einkopieren.

Anmerkung

Beim ersten Aufruf des NextcloudPi-Panels wird ein Assistent NextcloudPi First Run angezeigt. Du kannst hier einen externen Datenträger einbinden und die Erreichbarkeit des SBC über das Internet herstellen. Ich empfehle hier die Schaltfläche Überspringen.

Als eine der ersten Einstellungen solltest du den Host- bzw. Rechnernamen für den SBC setzen, da dieser Name an vielen unterschiedlichen Orten Verwendung findet. Die Einstellung findest du im links angezeigten Menü PRIVAT_IN mit dem Eintrag Hostname ändern.

Tabelle 1. Smartphone: Installation mit Captive Portal

Neue WLAN-Verbindung herstellen

Mit Installieren starten

Die Erläuterung lesen

Die Installation läuft

*** INSTALLATION COMPLETE *** abwarten, dann Aktivieren tippen

Eine Sicherheitswarnung übergehen

Eine weitere Sicherheitswarnung

Passwörter kopieren, dann Activate tippen

Beim NextcloudPi-Panel anmelden


Tabelle 2. Desktop: Installation im Browser

Die unverschlüsselte Portalseite

Die Erläuterungsseite zur Installation

Die Installation läuft

*** INSTALLATION COMPLETE *** abwarten, dann Aktivieren klicken

Der Webbrowser warnt bei lokalen IP-Adressen

Die Warnung muss in zwei Stufen akzeptiert werden

Der Aktivierungsdialog zeigt die Passwörter (von der Redaktion geändert)

NextcloudPi-Panel: Den Erstzugangs-Assistenten überspringen

NextcloudPi-Panel: Einstellung des Host- bzw. Rechnernamens


Mit dem Internet verbinden

Die Webbrowser-Sicherheitswarnungen machen deine Nextcloud so gut wie unbenutzbar. Deshalb benötigst du ein Webseiten-Zertifikat. Du kannst jeden beliebigen DNS-Namen mit einem kostenlosen Webseiten-Zertifikat verbinden. Es gibt dafür zwei Voraussetzungen: Du kannst auf deinem Server die Letsencrypt-Software ausführen und der Port 443 deines Servers ist tatsächlich mit dem angegeben DNS-Namen aus dem Internet heraus erreichbar.

Port-Weiterleitung und DynDNS

Zunächst benötigst du einen DNS-Namen. DNS steht für Domain Name System, ein global verfügbares System zum Nachschlagen von numerischen IP-Adressen. Außerdem wird deinem Internet-Zugangsgerät üblicherweise eine wechselnde öffentliche IP-Adresse zugewiesen. Der Adresswechsel kann regelmäßig oder bei einer Neuverbindung erfolgen.

Um einen DNS-Namen mit einer wechselnden IP-Adresse zu verbinden kannst du einen DynDNS-Dienst einrichten. Dabei ist es möglich, einen DynDNS-Dienst zu verwenden, der von deinem Internet-Zugangsgerät unterstützt wird. Wahlweise oder zusätzlich kannst du mit folgenden Schritten einen DynDNS-Dienst auf deinem Server konfigurieren.

  1. Besuche die Webseite eines der unterstützten DynDNS-Dienste. Im NextcloudPi-Panel findest du im Menü NETWORKING mehrere Einträge für DynDNS-Dienste: duckDNS, freeDNS, namecheapDNS, no-ip und spDYN.

  2. Bei allen DynDNS-Diensten musst du zunächst ein Konto anlegen. Dazu gibst du üblicherweise deine E-Mail-Adresse, manchmal einen Kontonamen sowie ein Passwort an. Eine gute Gelegenheit, den Umgang mit dem Passwort-Manager zu üben. Manche Dienste kosten Geld, andere sind kostenlos und senden per E-Mail Werbung und wieder andere sind spendenbasiert.

  3. Ich habe beispielsweise seit vielen Jahren einen DynDNS-Namen bei https://www.noip.com/. Bei diesem DynDNS-Dienst muss ich einmal im Monat den Link in einer E-Mail aufrufen. In dem Bildschirmfoto unten lege ich im Menü DNS Records einen neuen DynDNS-Namen svens-nextcloud.loginto.me an.

  4. Anschließend rufe ich im NextcloudPi-Panel aus dem Menü NETWORKING den Eintrag no-ip auf. Dort aktiviere ich die Option Active, gebe unter User und Password meine Zugangsdaten für No-IP an und trage die Domain svens-nextcloud.loginto.me ein. Ich bestätige die Konfiguation mit der Schaltfläche Apply.

  5. Der eingerichtete DynDNS-Dienst sollte geprüft werden. Dazu kannst du beispielsweise die Stromversorgung deines Internet-Zugangsgeräts trennen und wiederherstellen. Anschließend suchst du mit Duckduckgo nach My IP oder benutzt einen ähnlichen Dienst um deine neue öffentliche IP-Adresse zu ermitteln. Zur Prüfung startest den Kommandozeilen-Befehl ping <deine.dns.domain> ein und vergleichst die ausgegebene IP-Adresse mit dem Ergebnis im Webbrowser. Dein Internet-Zugangsgerät sollte diese IP-Adresse in einem Status-Dialog anzeigen.

Anschließend musst du noch eine Port-Weiterleitung des Ports 443 auf die interne IP-Adresse deines Servers einrichten. Diese Einrichtung kannst du nur auf deinem Internet-Zugangsgerät ausführen. Leider gibt es unterschiedliche Internet-Zugangsgeräte und die Bedienung ist nicht einheitlich. Hier hilft ein Blick in die Benutzerdokumentation, eine Web- oder Youtube-Recherche, beispielsweise Port Forwarding kombiniert mit dem Produktnamen deines Internet-Zugangsgerätes.

Wichtig

Ignoriere Anweisungen zur Einrichtung von UPnP, PCP oder sonstigen automatischen Mechanismen zur Port-Weiterleitung. Dein Server unterstützt ausschließlich eine manuell eingerichtete Port-Weiterleitung.

Tipp

Teste die Kombination aus DynDNS-Name und Port-Weiterleitung mit einem Smartphone. Schalte dazu die Wifi-Verbindung aus, so dass das Gerät nur über die Mobilfunk-Verbindung kommunizieren kann. Rufe anschließend die konfigurierte Webseite auf, im obigen Beispiel wäre das https://svens-nextcloud.loginto.me. Wenn nun die Warnung vor einem möglichen Sicherheitsrisiko angezeigt wird, dann funktionieren beide Konfigurationseinstellungen mit hoher Wahrscheinlichkeit.

Tunnel mit Privat im Netz

Wenn dein Internet-Anschluss ohne CGNAT, DS-Lite oder Map-T ist und du ein DynDNS und eine Port-Weiterleitung eingerichtet hast, dann kannst du dieses Thema ignorieren. Anderfalls ist es möglich, deinen Server indirekt mit Hilfe des Privat im Netz Projekt-Servers von extern zu erreichen. Dazu baut dein Server eine dauerhafte Verbindung zum Privat im Netz Projekt-Server auf. Ausgehende Verbindungen sind ja möglich, weil die in der ausgehenden Verbindung beteiligten Geräte die abgehenden Datenpakete erlauben und Antwortpakete zuordnen können. Der Privat im Netz Projekt-Server kann dann Datenpakete von Teilnehmern im Internet sozusagen Huckepack über die bestehende Verbindung austauschen (Tunneln).

Anmerkung

Technisch funktioniert das wunderbar. Strukturell entsteht aber ein SPOF (Single Point of Failure), da der Privat im Netz Projekt-Server außer Betrieb gehen könnte oder der Projekt-Server angegriffen werden kann. Ich helfe dir außerdem gerne beim Einrichten eines eigenen Projekt-Servers, Themen wären: Auswahl eines Providers, Einrichten von Sub-Domains und Verschlüsseln eines paravirtualisierten VPS.

Die Einrichtung eines Tunnels erfordert nur wenige Schritte:

  1. Du denkst dir eine noch unbenutzte Sub-Domain zu privat-in.de aus. Diese sendest du mir mit der Bitte um einen Tunnel.

  2. Ich richte die Sub-Domain ein. Konkret ist das ein zusätzlicher CNAME-Record in der Domainverwaltung bei Strato. Ich erzeuge außerdem ein Wireguard-Schlüsselpaar und sende dir den privaten Schlüssel und eine IP-Adresse zu.

  3. Rufe im NextcloudPi-Panel aus dem Menü PRIVAT_IN den Eintrag Wireguard (Eingang) auf. Aktiviere die Option Active. Trage die empfangenen Einstellungen ein: Private Key und IPv4 Address. Die anderen Einstellungen sind bereits vorgegeben. Bestätigen mit Apply.

Anschließend solltest du deinen Server unter der neuen Sub-Domain von privat-in.de aufrufen können.

Wireguard-Tunnel einrichten (Schlüssel von der Redaktion geändert)

Wenn du einen Tunnel für einen anderen Wireguard-Server einrichten willst, dann musst du außerdem die Einstellungen Server Public Key und Server Adress and Port passend einstellen. Die Einstellung IPv4 Trusted Proxy ist für Projekt-Server relevant, die den externen Verkehr mit einem umgekehrten Proxy umleiten. Hier muss die interne Quell-Adresse des Reverse-Proxy-Servers eingetragen werden (siehe Nextcloud-101: Reverse Proxy).

Anmerkung

Alle CNAME-Sub-Domain-Einträge zu privat-in.de verweisen auf die immer gleiche IP-Adresse des Privat im Netz Projekt-Servers. Dort läuft die Software HAProxy, die alle Anfragen an die einzelnen Tunnel weiterleitet. Eingehende HTTPS-Verbindungen sind zwar verschlüsselt, aber am Anfang jeder Verbindungsaufnahme übermitteln moderne Webbrowser den gewünschten Zielserver-Namen als Klartext (Server Name Identification, SNI).

Web-Server-Zertifikat beschaffen

Ein digitales Web-Server-Zertifikat bestätigt den Zusammenhang zwischen dem in der Webbrowser-Adressliste angezeigten Domain-Namen und dem Schlüsseltext-ausliefernden Web-Server. Auf diese Weise ist sichergestellt, dass Passwörter, Bestellungen und sonstige Benutzereingaben den richtigen Server erreichen und nicht etwa von Dritten abgefangen oder verfälscht werden.

Das Projekt Let’s Encrypt ermöglicht es Privatleuten, auf einfache Weise ein gültiges Server-Zertifikat erhalten. Dies funktioniert ohne Identitätsnachweis, ohne Sachkundeprüfung und ohne teure Mitgliedschaften einfach durch die Ausführung der Let's Encrypt-Software auf deinem Server. Dazu muss zum Zeitpunkt der Zertifikats-Ausstellung dein Server auf dem Port 443 unter dem angegeben Domain-Namen erreichbar sein. Das Zertifikat ist dann einige Wochen gültig. Es gibt daher einen Hintergrund-Prozess, der das eingerichtete Zertifikat regelmäßig erneuert.

Dein Letsencrypt-Zertifikat kannst du mit den folgenden Schritten einrichten.

  1. Rufe im NextcloudPi-Panel aus dem Menü NETWORKING den Eintrag letsencrypt auf.

  2. Aktiviere die Option Active. Trage die gewünschten Einstellungen ein: Domain und Email. Bestätigen mit Apply.

Das kleine Statusfenster auf der NextcloudPi-Panel-Seite zeigt nun den Fortschritt an. Im Erfolgsfall wird der neu zertifizierte Webserver-Schlüssel sofort angewendet. Dein Webbrowser reagiert daraufhin ebenfalls und zeigt erneut einen Zertifikatsfehler. Du musst hier erneut das Risiko akzeptieren. Rufe anschließend deine nun zertifizierte Domain in einem neuen Webbrowser-Fenster auf.

NextcloudPi-Panel: Ein Let's Encrypt Zertifikat erhalten

Wichtig

Für eine Sub-Domain zu privat-in.de musst du als E-Mail-Adresse webadmin@privat-in.de angeben. Bei einer eigenen DynDNS-Domain musst du deine eigene E-Mail-Adresse angeben. Die E-Mail-Adresse wird zwar bei der Zertifikatsausstellung geprüft, Erinnerungs-E-Mails zu auslaufenden Zertifikaten werden allerdings nicht (mehr) versendet.

Nextcloud Erstkonfiguration

Es ist geschafft und deine Nextcloud kann von überall auf der Welt aufgerufen werden. Es begrüßt dich der Anmelde-Dialog, wo du den Kontonamen ncp und das zuvor erhaltene Passwort für das Verwaltungskonto deiner Nextcloud eingeben kannst (das kürzere Passwort aus Installation mit Captive-Portal). Dieses Passwort kannst du bequem in deinem Webbrowser speichern.

Deine Nextcloud: Anmelde-Dialog

Die weiteren Schritte hängen von deinen Anwendungswünschen ab. Lesestoff zum Thema gibt es im Internet, beispielsweise die Einführung der Nextcloud GmbH. Diese Schritte solltest du zunächst durchführen:

  1. Lege ein neues (normales) Benutzerkonto für dich selbst an. Öffne das Hauptmenü mit einem Klick auf das Benutzersymbol rechts oben. Wähle auf der neuen Seite im linken Menü den Eintrag Konten. Klicke auf die Schaltfläche Neues Konto um ein neues Konto anzulegen.

  2. Wechsele im Hauptmenü zum Menüeintrag Administrationseinstellungen. Auf der Seite Übersicht werden fast immer Warnungen und Fehler angezeigt. Einige davon können wichtig sein. Wähle im linken Menü den Eintrag Design und ändere den Eintrag Name auf den zuvor gesetzten Hostnamen (siehe den letzten Schritt von Installation mit Captive-Portal).

Deine Nextcloud: Dashboard und Hauptmenü

Android Smartphone Verbinden

Um Dateien, Passworte, Adressen und Kalendereinträge zwischen verschiedenen Geräten zu synchronisieren gibt es für das Smartphone-Betriebssystem Android verschiedene Apps. Du kannst diese Apps mit Google Play oder mit F-Droid installieren.

Nextcloud App

Diese App wurde von der Nextcloud GmbH hergestellt. Mit dieser App kannst du Fotos hochladen, Dokumente herunterladen oder deine Passwort-Manager-Datei synchronisieren. Es ist möglich, den kompletten Dateibaum aus deiner Nextcloud auf dein Smartphone zu synchronisieren. Wahlweise ist es ebenfalls möglich, nur einzelne Daten auf Anforderung zu synchronisieren, beispielsweise deine Passwort-Datenbank-Datei.

Nextcloud Talk

Diese App wurde ebenfalls von der Nextcloud GmbH hergestellt. Mit dieser App kannst du an Unterhaltungen teilnehmen, die mittels Nextcloud-Talk auf deinem Server geführt werden. Das können einfache Text-Chats sein, aber auch Video-Anrufe und Konferenzen sind möglich.

DAVx⁵

Die App DAV-X-hoch-Fünf wurde von der bitfire web engineering GmbH hergestellt. Mit dieser App synchronisierst du Adressen, Termine und Aufgaben. Andere Apps, wie beispielsweise der System-Kalender oder die Telefon-App, greifen über den Android-Konten-Mechanismus auf diese Daten zu. Diese App kannst du bei Google Play für wenig Geld erwerben. Die Distribution über F-Droid erfolgt auf Spendenbasis.

Die Anmeldung jeder neu installierten App erfolgt normalerweise indirekt über den Android-Webbrowser:

  1. Du gibst in der App die URL für deine Nextcloud ein.

    Die App startet den Android-Webbrowser mit der angegebenen URL.

  2. Du gibst deinen Kontonamen und dein Passwort ein.

    Die Webseite blendet eine Zugriffsanfrage ein.

  3. Du bestätigst den Zugriff und schließt den Android-Webbrowser (meist: X-Icon oben links).

    Die App übernimmt die Autorisierungsantwort aus dem Webbrowser. Sie kann damit den Datenzugriff durchführen.

Die gewährten Zugriffe kannst du in der Web-Oberfläche deiner Nextcloud verwalten. Wechsele im Hauptmenü zum Menüeintrag Persönliche Einstellungen. Auf der Seite Sicherheit werden gewährte Zugriffe angezeigt. Gewährte Zugriffe kannst du hier widerrufen.

Tabelle 3. Smartphone: DAVx⁵ einrichten

Die DAVx⁵-Werbung überspringen

Ein Konto hinzufügen

Kontotyp wählen: Nextcloud

Die Nextcloud-URL eingeben

Im Webbrowser die Anmeldung bestätigen

Im Webbrowser anmelden

Im Webbrowser den Zugriff gewähren

Den Webbrowser schießen mit X

In DAVx⁵ die Einrichtung abschließen

In DAVx⁵ mit Berechtigungen verwalten fortfahren

In DAVx⁵ die App-Einstellungen starten

Die App-Berechtigungen gewähren


Anmerkung

Die App DAVx⁵ benötigt einige Berechtigungen, um korrekt zu funktionieren. Berechtigungen gewährst du über den Berechtigungsdialog der Android-Systemsteuerung. Dieser ist über die oben gezeigte Schaltfläche Berechtigungen verwalten erreichbar. Wahlweise kannst du auch im Android-Anwendungsstarter mit im einem langen Druck auf das DAVx⁵-Icon das Informationsmenü öffnen. Dort kannst du den Menüpunkt Berechtigungen aufrufen. Den Zugriff auf deinen Standort musst du nicht gewähren, aber die Deaktivierung von App-Aktivität bei Nichtnutzung stoppen ist empfohlen.

Desktop-Computer Verbinden

Bei einem Desktop-Computer hängt das genaue Vorgehen stark von dem installierten Betriebssystem ab. Mit einem aktuellem Linux installiert man eine passende Software üblicherweise mit dem Paket Nextcloud-Desktop. Für MacOS und Windows kannst du ein Programm zur Datei-Synchronisierung auf den Webseiten der Nextcloud GmbH herunterladen: Download und Installation. Generelle Erläuterungen zur Konfiguration des Datei-Synchronisierungs-Programms findest du ebenfalls auf diesen Webseiten.

Windows: Neues Konto mit Nextcloud-Desktop

Bei der Einrichtung des Datei-Synchronisierungs-Programms werden per Vorgabe alle Ordner und Dateien vom Server in dein Benutzerverzeichnis auf deinen Rechner synchronisiert. Unter Windows wird außerdem der Ersatz mit virtuellen Dateien (Verknüpfungen) angeboten.

Tipp

Alternativ kannst du im Einrichtungsassistenten die Schaltfläche Ordner-Konfiguration überspringen anklicken und später gezielt einen einzelnen Ordner hinzufügen.

Für die Integration deiner Nextcloud-Kontakte und deiner Nextcloud-Adressen gibt es zwei verschiedene Ansätze:

  • Einige Linux-Desktops und MacOS verwalten Online-Konten über die Systemsteuerung (Beispiele: Gnome3, KDE, Cinnamon und unter MacOS die Internet-Accounts). Konfigurierte Online-Konten können anschließend von Benutzerprogrammen verwendet werden (Beispiele: Der Gnome-Kalender, das E-Mail-Programm Evolution).

  • In allen anderen Fällen musst du deinen Nextcloud-Kalender über einen CalDAV-Link und deine Nextcloud-Adressen über einen CardDAV-Link einzeln für die gewünschten Programme konfigurieren (Beispiele: Mozilla Thunderbird, Microsoft Outlook).

Anmerkung

Die zentrale Konfiguration mit Online-Konten ist bequemer. Fehlt allerdings eine Steuerungsmöglichkeit für den Zugriff durch datenhungrige Social-Media-Programme, kann es sinnvoller sein, deine Nextcloud-Datenverbindungen für jede Anwendung einzeln zu konfigurieren.

Am Beispiel eines Cinnamon-Desktops unter Linux kann die Einrichtung eines Nextcloud-Internetkontos auf diese Weise erfolgen:

  1. Starte die Systemeinstellungen. Rufe das Einstellungsfenster für Internetkonten auf. Wähle den Anbieter Nextcloud aus.

    Der Dialog Nextcloud-Konto wird angezeigt.

  2. Konfiguriere die URL für deine Nextcloud unter Server. Trage Benutzername sowie Passwort ein. Bestätige mit Verbinden.

    Im nun folgenden Auswahldialog kannst du bestimmen, welche Komponenten des Internetkontos verwendet werden.

Linux - Cinnamon - Steuerung: ein Nextcloud-Konto einrichten

Anmerkung

Der oben dargestellte Dialog mit der roten Schaltfläche Konto entfernen funktioniert in dieser Situation nicht ganz korrekt. Dein Konto ist bereits verbunden, klicke einfach auf Abbrechen.

Für verschiedene E-Mail-Programme finden sich gute Anleitungen im Internet, beispielsweise Synchronisierung mit Thunderbird von der Nextcloud GmbH. Für Microsoft Outlook unter Windows kann die Einrichtung mittels CardDAV und CalDAV derzeit nur mit zusätzlicher Software erfolgen:

  1. Lade und installiere die Software Outlook CalDav Synchronizer.

    Im Outlook-Ribbon sollte anschließend eine neue Menüschaltfläche angezeigt werden: CalDav Synchronizer.

  2. Klicke auf den Menüpunkt Synchronization Profiles. DIes öffnet das Fenster Options. Klicke auf das grüne Plus-Icon, um einen neuen Profileintrag zu erstellen. Anschließend wählst du in einem Dialogfenster mit vielen bunten Firmen-Logos die schmucklose Option Generic CalDAV / CardDAV.

    Ein leeres Profil wird angezeigt. Fülle die Eingabefelder aus: Name (des Profils), Username (für deine Nextcloud), Password und Email address. Wähle unter Outlook folder entweder Kalender (Nur dieser Computer) oder Adressen (Nur dieser Computer).

  3. Starte zusätzlich einen Webbrowser. Melde dich bei deinem Server an. Navigiere zur Nextcloud-App Kontakte. Klicke auf die Schaltfläche Kontakte-Einstellungen. Klicke unter der Überschrift Adressbücher rechts auf das Dreipunkte-Icon und wähle den Befehl Link kopieren. Navigiere wahlweise zur Nextcloud-App Kalender. Rolle im Menübereich links unten nach oben und wählen den Menübefehl Primäre CalDAV-Adresse kopieren.

  4. Füge den kopierten Link in das CalDav-Synchronizer-Profil unter DAV URL ein. Bestätige die Profileinstellungen mit OK.

Diese Einrichtung kannst du nach diesem Schema auch unter anderen Betriebsystemen oder auch mit anderen Programmen durchführen.

Microsoft Outlook: CalDav Synchronizer einrichten

Pflege und Wartung

So ein kleiner SBC-Server kann verloren gehen, die SD-Karte kann versagen oder es passieren andere Unfälle. In diesen Fällen hilft ein Backup sehr. Darum solltest du ein regelmäßiges und automatisches Backup für deine Nextcloud einrichten. Du kannst nun ein Eigenbackup mit den Mitteln des NextcloudPi-Panels einrichten. Diese Anleitung beschreibt aber ein gemeinschaftliches Backup-Konzept, mit dem du deine Daten auf mehrere Backup-Geber verteilen kannst.

Backups auf mehrere Speicherorte verteilen

Hier ist hilfreich, dass

  • SD-Karten eine Größenbeschränkung für deine Datensammlung haben und

  • die Datenspeicherung auf den SD-Karten bereits verschlüsselt erfolgt.

Für deine Film- und Fotosammlung mit mehreren Terabytes solltest du allerdings ein anderes Backup-Konzept nutzen.

Warnung

Verlierst du dein Backup-Passwort, also das längere Passwort aus dem letzten Schritt von Installation mit Captive-Portal, dann kannst du mit dem hier vorgestellten Backup-Konzept ein woanders gespeichertes verschlüsseltes Backup nicht wiederherstellen!

Tipp

Nur für fortgeschrittene Benutzer - einen SSH-Zugang kannst du im Menü NETWORKING mit dem Menüpunkt SSH einrichten.

Backups einrichten

Die Voraussetzung ist, dass du die Zustimmung von ein oder mehreren Backup-Gebern hast, deine Backups zu speichern. Ab hier ist die Einrichtung ein oder mehrerer Backups mit folgenden Schritten möglich.

  1. Rufe im NextcloudPi-Panel aus dem Menü PRIVAT_IN den Eintrag Backup senden auf.

  2. Kopiere die Einstellung aus Public Key (generated) und sende diese Zeichenfolge an deine Backup-Geber. Die Zeichenfolge ist ein öffentlicher SSH-Schlüssel. Du kannst diese Zeichenfolge also per E-Mail, mit einer Messenger-Nachricht oder über einen Social-Media-Post versenden.

    Die jeweiligen Backup-Geber fügen die Zeichenfolge in eine dafür vorgesehene Textdatei ein. Anschließend senden sie dir die Zugangsadresse zu.

  3. Nun kannst du die Option Active einschalten. Trage die Zugangsadresse in eins der Eingabefelder IP or Address ein.

  4. Solltest du deine Nextcloud nur selten verwenden, dann kannst du mit der Einstellung Sync periodicity (in days) eine mehrtägige Pause einstellen. Die Einstellung Hour of Day when syncing bestimmt den nächtlichen Zeitpunkt des Backups. Die Einstellung Blurb files to keep (0=all) bestimmt, wieviele Nachrichtendateien des durch nächtliche Backup-Meldungen verdrängten geschwätzigen NextcloudPi-Logs vorgehalten werden.

  5. Bestätige deine Einstellungen mit Apply.

Nächtliches Backup einrichten

Bei mehreren eingerichteten Backup-Adressen werden deine Backups jede Nacht auf ein anderes Backup-Ziel hochgeladen. Während des nächtlichen Backups kannst du deine Nextcloud weiter verwenden. Der Vorgang wird mit einem LVM2-Schnappschuss eingeleitet, dies dauert nur wenige Momente. Anschließend wird der Geräte-Schlüssel aus dem Schnappschuss entfernt und das gesamte SD-Karten-Image mit der entfernt gespeicherten Version synchronisiert. Dieser Vorgang dauert länger, wenn seit dem letzten Backup viele neue Daten gespeichert wurden. Während des Hochladens ist die Leistung deiner Nextcloud etwas eingeschränkt.

Wichtig

Bitte merke dir die Zieladressen für deine Backups, beispielsweise als Notiz in deinem Passwort-Manager. Mindestens eine Zieladresse benötigst du später als Zugangsadresse zum Wiederherstellen eines Backups.

Tipp

Du solltest nach ein paar Tagen prüfen, ob deine Backups korrekt hochgeladen werden. Klicke dazu auf das Logs-Icon in der Icon-Leiste des NextcloudPi-Panels. Das Icon ist im obigen Bildschirmfoto durch dem Mauszeiger markiert. Dort sollten für jedes nächtliche Backup jeweils Erfolgs- oder Misserfolgsmeldungen einsehbar sein.

Ein Backup einspielen

Es ist passiert: Du möchtest ein bestehendes Backup wiederherstellen. Dafür benötigst du folgende Dinge:

  • einen SBC mit der gleichen Architektur wie das ursprüngliche Gerät. Für ein Gerät mit ARM 32-Bit benötigst du eines mit ARM 32-Bit und für ein ARM 64-Bit-Gerät eines mit ARM 64-Bit,

  • eine SD-Karte mit mindestens dem gleichen oder mit mehr Speicherplatz als die ursprüngliche SD-Karte,

  • die Zugangsadresse mindestens einer deiner Backup-Geber, abzulesen beispielsweise aus einer E-Mail oder eine Messenger-Nachricht und

  • dein (langes) Backup-Passwort, das du in einem Passwort-Verwaltungsprogramm gespeichert hast.

Zunächst musst du die SD-Karte mit einer der Privat im Netz-Imagedateien beschreiben. Das funktioniert so wie bereits unter Image herunterladen und auf SD-Karte schreiben beschrieben. Anschließend führst du die Schritte durch, die bis zur Anzeige der Captive-Portal-Seite führen (siehe Installation mit Captive-Portal).

  1. Statt mit der Schaltfläche Installieren fortzufahren klickst du auf die Schaltfläche Wiederherstellen.

    Jetzt wird dein Webbrowser vor einem möglichen Sicherheitsrisiko warnen. Im Internet und auf offiziellen Webseiten solltest du diese Warnung ernst nehmen und die Webseite verlassen. Hier aber musst du das Risiko akzeptieren. Die üblichen Schaltflächen dafür lauten Erweitert... und Risiko akzeptieren und fortfahren (oder ähnlich).

  2. Gib das Backup-Passwort in das obere Eingabefeld ein. Gib die Zugangsadresse in das untere Eingabefeld ein. Bestätige mit Wiederherstellen.

    Die Captive-Portal-Seite zeigt die Initialisierung mit einer Terminal-Ausgabe auf schwarzem Hintergrund. Hier wird zunächst das Datum und die Dateigröße des vorhandenen Backup-Images auf dem Server des Backup-Gebers abgefragt und angezeigt. Anschließend beginnt ein Countdown von 30 Sekunden, in der dem der Vorgang noch abgebrochen werden kann.

  3. Nun musst du abwarten, bis das Backup-Image heruntergeladen und auf die SD-Karte geschrieben wurde. Beachte dazu die Blink-Sequenz der beiden LEDs auf dem SBC. Die grüne LED zeigt einen Schreib- oder Lese-Zugriff auf die SD-Karte an. Die rote LED blinkt zum Start der Wiederherstellung einmal. Danach zeigt sie den ungefähren Fortschritt der Wiederherstellung an: 9 mal blinken - noch 90% bis fertig, 8 mal blinken - noch 80% bis fertig, usw. Die LED blinkt dazu in schnellen Dreiergruppen.

Im Fehlerfall blinkt die rote LED dauerhaft. Möglicherweise hilft es hier, den Vorgang zu wiederholen. Falls das nicht funktioniert kannst du auch den Backup-Geber bitten, dir das gespeicherte Image auszuhändigen. Überträgst du das Image direkt auf eine Partition eines USB-Sticks oder einer SD-Karte, dann kannst du den verschlüsselten Datenträger mit einem Linux-Desktopsystem öffnen. Nach der Eingabe deines Backup-Passworts hast du direkten Zugriff auf deine Nextcloud-Dateien.

Tabelle 4. Desktop: Wiederherstellen im Browser

Portalseite: Daten wiederherstellen

Portalseite: Image-Anzeige und Countdown

Desktop-Linux: Backup-Image Direktzugriff


Nextcloud-Update durchführen

Von Zeit zu Zeit solltest du ein Update der Nextcloud-Server-Software durchführen. Welche neuen Versionen es im Moment gibt, das findest du unter https://docs.nextcloud.com/. Ein Update ist in etwa 15 Minuten erledigt. Deine Nextcloud während des Vorgangs nicht benutzbar.

  1. Rufe im NextcloudPi-Panel aus dem Menü UPDATES den Eintrag nc-update-nextcloud auf.

  2. Belasse die Vorgabe für Version auf 0 und bestätige mit Apply.

    Dies schaltet deine Nextcloud in den Wartungsmodus. Anschließend wird die nächste verfügbare Version der Nextcloud-Server-Software heruntergeladen und installiert.

  3. Ein grüner Punkt neben der Schaltfläche Apply zeigt den erfolgreichen Abschluss des Update an.

    Sollte dein Browser eine Fehlermeldung anzeigen, dann klicke auf das Logs-Icon in der Icon-Leiste des NextcloudPi-Panels um den Status des Updates zu prüfen. Das Icon ist im folgenden Bildschirmfoto durch dem Mauszeiger markiert.

  4. Prüfe nach Abschluss des Updates, ob du dich bei der Internet-Adresse für die Web-Oberfläche deiner Nextcloud anmelden kannst.

    Nach früheren Updates wurde beim Aufruf des Nextcloud-Anmeldedialogs gelegentlich die Fehlermeldung Zugriff über eine nicht vertrauenswürdige Domain angezeigt. Rufe zur Korrektur im NextcloudPi-Panel aus dem Menü NETWORKING den Eintrag letsencrypt erneut auf und bestätige mit Apply.

Nextcloud-Server-Software updaten

Tipp

Rufe in der Web-Oberfläche deiner Nextcloud im Hauptmenü den Menüeintrag Apps auf. Auf der Seite Deine Apps werden möglicherweise zusätzliche Updates angeboten.

Backup-Server aufsetzen

Backup-Server auf SBC

Du kannst als Backup-Geber für andere Betreiber eines Privat im Netz-SBC eine Backup-Speichermöglichkeit anbieten. Dazu benötigst du einen schnellen Internet-Zugang, die Möglichkeit für ein Port-Forwarding auf deinem Internet-Zugangsgerät und eine unbenutzte USB-Festplatte.

Banana Pi M2U mit SATA-Festplatte als Backup-Server

Mit diesen Schritten richtest deinen SBC zur Speicherung von Backups ein:

  1. Verbinde die USB-Festplatte mit deinem SBC. Beachte, dass die Stromaufnahme für die USB-Festplatte nicht höher als 500mA sein sollte. Manche USB-Festplatten benötigen eine extra Stromversorgung um zuverlässig zu funktionieren.

  2. Rufe im NextcloudPi-Panel aus dem Menü TOOLS den Eintrag USB-Laufwerke formatieren auf. Gib in das Eingabefeld Label eine Bezeichnung für die USB-Festplatte ein. Verwende einen Bezeichner wie für Dateinamen und ohne Leerzeichen. Die Option Remove data dir ist nur von Bedeutung, wenn die USB-Festplatte zur Speicherung deiner Nextcloud-Daten verwendet wurde. Bestätige mit Apply.

    Die USB-Festplatte wird vollständig neu formatiert.

  3. Rufe im Menü SYSTEM den Eintrag Automatische Datenträgereinbindung auf. Aktiviere die Option Active. Bestätige mit Apply.

    Die USB-Festplatte wird jetzt und beim nächsten Neustart unter /media/${Label} eingebunden.

  4. Rufe im Menü PRIVAT_IN den Eintrag Backup empfangen auf. Ändere die Einstellung Directory auf den Verzeichnispfad der eingebundenen USB-Festplatte: /media/${Label}. Die Webseite ändert die Anzeige neben dem Eingabefeld in den grünen Text in path exists. Gib in die Eingabefelder Public Key einen oder mehrere der von anderen Benutzern empfangenen öffentliche SSH-Schlüssel ein. Bestätige mit Apply.

    Auf dem SBC wird nun ein neuer Benutzer privat-in angelegt. Die konfigurierten öffentlichen Schlüssel werden in der Datei /home/privat-in/.ssh/authorized_keys eingetragen.

Anmerkung

Die Eingabefelder des NextcloudPi-Panels verarbeiten Leerzeichen nicht korrekt. Deshalb musst du bei öffentlichen Schlüsseln die Leerzeichen durch Unterstriche ersetzen.

Ab sofort können Backups auf deinem SBC gespeichert werden. Beachte, dass Backup-Benutzer gesteuert über die Datei authorized_keys jeweils nur genau ein Skript aufrufen können: /usr/bin/privat-in-receive-backup. Beachte außerdem, dass im Skript /etc/rc.local für die USB-Festplatte ein Spindown nach 30 Sekunden ohne Zugriffe eingestellt wird.

Die Bandbreiten-Belastung für deinen Internet-Zugang kann hoch sein, wenn viele neu eingerichtete Backup-Benutzer das erste Backup hochladen. Im laufenden Betrieb ist das wesentlich weniger. Rechne aber mit mindestens 64 Mb Download und 2 Mb Upload pro Tag und Backup-Benutzer plus die von den Backup-Benutzern zusätzlich seit dem letzten Backup gespeicherten Dateien.

Das Empfangs-Skript vergibt eine Zeitstrafe für jede neue Aktion. Besonders Speicher- oder Rechenintensive Aktionen sollen so eingebremst werden. Gegen besonders kreative Geister hilft möglicherweise aber nur die Löschung des verwendeten SSH-Keys aus der Liste.

Tabelle 5. USB-Festplatte für Backup einrichten

NextcloudPi-Panel: USB-Festplatte formatieren

NextcloudPi-Panel: USB-Festplatte einbinden

NextcloudPi-Panel: Backup empfangen


Backup-Server auf Synology-NAS

Wenn du eine Synology DiskStation betreibst, dann kannst du damit als Backup-Geber für andere Betreiber eines Privat im Netz-SBC eine Backup-Speichermöglichkeit anbieten. Dazu musst du auf deiner DiskStation einen Docker-Image importieren und damit den separierten Speicher-Zugriff durch andere Teilnehmer einrichten.

  1. Lade die etwa 13 Megabyte große Archivdatei https://privat-in.de/privat-in-backup-amd64.tar herunter.

    Melde dich anschließend bei deiner DiskStation an.

  2. Starte das Programm FileStation. Navigiere im Verzeichnisbaum zum Verzeichnis /docker. Klicke auf die Menü-Schaltfläche Erstellen. Wähle den Menüpunkt Ordner erstellen. Gib einen Ordnernamen ein, beispielsweise privat-in-images. Bestätige mit OK.

  3. Starte das Programm Container Manager. Wechsele mit dem Fenstermenü zum Menüpunkt Image. Wenn zuvor noch keine Docker-Images importiert wurden, klicke auf die zentral angezeigte Menüschaltfläche Importieren. Andernfalls klicke auf die Menüschaltfläche Aktion und öffne das Untermenü Importieren.

    Wähle aus dem Untermenü Aus Datei hinzufügen den Menüpunkt Von lokalem Gerät. Suche in der Dateiauswahl die gerade heruntergeladene Archivdatei privat-in-backup-amd64.tar und bestätige die Auswahl.

  4. Wechsele mit dem Fenstermenü des Programms Container Manager zum Menüpunkt Container. Klicke auf die Schaltfläche Erstellen. Dies öffnet den Dialog Allgemeine Einstellungen. Wähle aus der Dropdown-Auswahl Image das soeben importierte Image privat-in-backup:latest. Aktiviere die Option Automatischen Neustart aktivieren. Belasse die anderen Einstellungen auf den Vorgabewerten. Bestätige mit Weiter.

    Dies öffnet den Dialog Erweiterte Einstellungen. Ändere unter der Überschrift Port-Einstellungen die Einstellung für Lokaler Port beispielsweise auf 2222 und belasse die Eingabefelder rechts daneben auf 22 und TCP. Dies konfiguriert für die IP-Adresse deiner DiskStation auf Port 2222 eine Weiterleitung zur internen IP-Adresse des Docker-Containers auf Port 22. Klicke unter der Überschrift Volume-Einstellungen auf die Schaltfläche Ordner hinzufügen. Wähle im Auswahldialog das zuvor angelegte Verzeichnis /docker/privat-in-images. Bestätige mit Auswählen. Trage neben dem neu angezeigten Ordnereintrag exakt die Zeichenkette /images ein. Das ist ein Schrägstrich-Zeichen und genau 6 Buchstaben dahinter. Belasse den Zugriff auf Lesen/Schreiben. Bestätige mit Weiter.

    Dies öffnet den Dialog Zusammenfassung. Bestätige mit Fertig.

  5. Richte auf deinem Internet-Anschlussgerät eine Port-Weiterleitung des Ports 2222 auf deine DiskStation ein.

Anmerkung

Die Benennung und die Position des Datenordners für den Container ist beliebig. Der bei der Einrichtung angegebene Mount-Point /images wird aber genau so erwartet. Ähnliches gilt für den extern sichtbaren Port: du kannst eine andere Portnummer abweichend von 2222 verwenden, der Container lauscht aber nur auf Port 22 für den SSH-Dienst.

Hinweise zum Betrieb

Während des Erststarts des Containers privat-in-backup werden neue Dateien in dem zugeordneten Datenordner geschrieben. Das sind zunächst Dateien mit generierten Hostschlüsseln für SSH. Diese machen den laufenden Container für die SBC der Backup-Benutzer identifizierbar. Vor dem Hochladen eines Backups wird jedes mal geprüft, ob diese Hostschlüssel unverändert vorhanden sind. Vorhandene Hostschlüssel werden bei einem Neustart oder Update des Containers nicht überschrieben.

Außerdem wird eine neue Datei authorized_keys.txt angelegt. Hier sind zunächst die öffentlichen Schlüssel der Privat im Netz-Entwicklungsgeräte eingetragen. Du kannst in dieser Datei neue öffentliche Schlüssel hinzufügen oder unerwünschte öffentliche Schlüssel löschen. Der Inhalt dieser Datei wird beim Neustart in den Container übernommen. Dabei werden Unterstriche durch Leerzeichen ersetzt und durch verschiedene Betriebssysteme oder Text-Editoren eingefügte Zeilenende-Zeichen korrigiert.

Für ein Update stoppe zunächst den laufenden Container. Dann löscht du sowohl den Privat im Netz-Container als auch das dazugehörige Image. Das Datenverzeichnis muss erhalten bleiben. Anschließend wiederholst du die Installation wie oben beschrieben.

Die hochgeladenen Image-Dateien sind sogenannte Sparse-Dateien. Sie belegen weniger Platz als angezeigt, da unbeschriebene Dateibereiche als Speicherlöcher vorhanden sind. Dies ist eine Eigenschaft des speichernden Dateisystems (Ext4 oder Btrfs). Kopierst du diese Dateien auf ein anderes Dateisystem (z,B. NTFS, VFAT oder exFAT) dann werden Speicherlöcher in Bereiche mit Null-Bytes konvertiert.

Tabelle 6. Synology-NAS für Backup einrichten

Disk Station: Anmelden als Administrator

File Station: Ordner erstellen

Container Manager / Image: Image importieren

Container Manager / Container: Container erstellen (Allgemeine Einstellungen)

Container Manager / Container: Container erstellen (Erweiterte Einstellungen)

Container Manager / Container: Container erstellen (Zusammenfassung)

Container Manager: Container wird ausgeführt

File Station; Backup-Ordner verwalten


A. Speicherkonzept

Einer der echten Nachteile von selbstbetriebener IT-Infrastruktur ist die Möglichkeit des Datenverlusts. Gegen Datenverluste gibt es ein erprobtes Mittel: ein Backup. Möglichst dezentral gespeichert, möglichst automatisch erledigt, möglichst gut verschlüsselt, möglichst ohne den laufenden Betrieb zu stören und am besten auch mit mehr als einer Wiederherstellungsoption.

Das Projekt Privat in Netz verwendet zur Adressierung der obigen Designziele dieses Speicher- und Backup-Konzept:

  • Auf jeder SD-Karte ist zunächst ein bootfähiges Armbian-Image gespeichert, so wie es von https://www.armbian.com/download/ heruntergeladen werden kann. Die Herstellung von bootfähigen Images für sehr verschiedene SBC ist eine Kunst für sich. Deshalb wird das Layout der SD-Karte so übernommen und lediglich durch einige zusätzlich installierten Pakete und Konfigurationsdateien ergänzt. Außerdem sind alle Pakete vorinstalliert, die später auch durch das NextcloudPi-Installationsskript installiert werden.

    Dieser Bereich der SD-Karte ist für alle Benutzer gleich. Er muss daher nicht verschlüsselt und auch nicht in ein Backup gesichert werden.

  • Während des ersten Hochlaufs startet in der Initramfs ein Skript. Das Skript legt im unbelegten größeren Teil der SD-Karte eine neue Partition an. Diese Partition mit LVM2 verwaltet, genauer: die neue Partition wird als Physical Volume verwendet, darin wird eine neue Volume Group eingerichtet die wiederum einen großen Teil des Speicherplatzes für ein neues Logical Volume bereitstellt.

    Danach wird das neue logische Volume für die LUKS-Datenverschlüsselung initialisiert. In dem verschlüsselten Datenbereich wird ein leeres Ext4-Dateisystem angelegt. Anschließend wird die vorhandene Armbian-Partition mit dem verschlüsselten Ext4-Dateisystem überlagert (UnionFS). Das überlagerte UnionFS wird als Root-Dateisystem eingerichtet, so dass nun der normale Linux-Startvorgang ablaufen kann.

    Das ist jetzt alles nichts besonderes, sondern wird bei Docker, Podman und einigen Linux-Distributionen ganz ähnlich eingesetzt. Besonders ist vielleicht, dass hier zwei LUKS-Keyslots verwendet werden: ein Keyslot mit dem Standardpasswort admin, der zweite Keyslot ist einer zufällige Bytefolge, die in einem Extra-Speicherbaustein (NOR-Flash) auf dem SBC gespeichert ist. Das Standardpasswort wird später nach der Installation mit einem Benutzerpassword überschrieben. Die Bytefolge schließt bei einem Neustart den verschlüsselten LUKS-Speicherbereich auf.

  • Wenn ein Backup hochgeladen werden soll, dann wird zunächst ein LVM2-Snapshot erstellt. Aus dem Snapshot wird der Startschlüssel-Keyslot entfernt. Dieser Vorgang dauert weniger als eine Sekunde. Dies produziert eine zweite Sicht auf das überlagernde LUKS-Dateisystem, die anschließend als Image-Backup hochgeladen werden kann. Parallele Schreibvorgänge auf das Root-Dateisystem werden auf einen temporären Speicherbereich ausgelagert (Snapshot-COW-Volume). Während des Backup-Vorgangs kann so das Root-Dateisystem weiterverwendet werden.

  • Das Hochladen eines Image-Backups mit mehreren Gigabyte dauert recht lange. Um diesen Vorgang zu optimieren, kommt ein dafür geeignetes Synchronisationprogramm zu Einsatz: Blocksync-fast. Blocksync-fast arbeitet mit einer Prüfsummen-Datei (Digest). Mit einer Folge von Prüfsummen lässt sich abschnittsweise prüfen, ob ein bestimmter Teil eines Images erneut hochgeladen werden muss. Die Prüfsummen werden mit einem schnellen Algorithmus errechnet, der für je 2 Megabyte eine 4 Byte Prüfsumme erstellt. Die Prüfsummen-Datei wird beim Sender gespeichert.

  • Zur Neuberechnung der Prüfsummen müsste für jedes Backup der Snapshot-Speicher vollständig gelesen werden. Zur Optimierung dieses Vorgangs kommt eine wenig bekannte Erweiterung des Linux-Kernels zum Einsatz: DM-Era. DM-Era speichert in einer zusätzlichen Metadaten-Partition, auf welche Blöcke eines Speichergeräts Schreibvorgänge stattfinden. Die Liste der seit dem letzten Backup beschriebenen Blöcke kann als XML-Datei abgefragt werden. Mit dieser Liste wiederum kann der Kopiervorgang von Blocksync-fast zusätzlich optimiert werden.

Auf dem Speicher der Backup-Geber werden verschlüsselte Image-Dateien als Backup abgelegt. Diese Image-Dateien können ausschließlich mit dem Benutzer-Passwort ausgelesen werden. Um ein Backup wiederherzustellen benötigt ein Benutzer das LUKS-Passwort, IP-Adresse und Portnummer des Backup-Gebers und den zum Hochladen des Backups verwendeten privaten SSH-Schlüssel. Aus diesem Grund enthält das LUKS-Passwort eine konvertierte Form des privaten SSH-Schlüssels. Das LUKS-Passwort ist deshalb fast 100 Zeichen lang.

Kolophonium

Dieser Anleitung wurde als DocBook-XML-Datei mit XMLMind XML Editor geschrieben und mit Hilfe des Linux-Pakets xmlto in HTML umgewandelt. Siehe https://www.xmlmind.com/xmleditor/ und https://docbook.org/.