Inhaltsverzeichnis
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.
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.
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.
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.
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.
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.
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.
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
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.
Mit einem Smartphone kann man eine SD-Karte nicht direkt beschreiben. Du benötigst dafür also einen Desktop-Rechner oder einen Laptop.
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:
Das zum SBC passende Image herunterladen.
Das Image auf eine Mikro-SD-Karte kopieren (siehe oben).
Die Mikro-SD-Karte in den SBC stecken.
Den SBC mit einer Ethernet-Leitung mit dem Internet-Zugangsgerät verbinden.
Den SBC mit einer USB-Anschlussleitung mit einem USB-Netzteil verbinden.
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.
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.
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.
Öffne auf deinem Smartphone die Wifi-Einstellungen. Nach kurzer Zeit zeigt das Smartphone mehrere Funkkennungen an.
Tippe auf den Eintrag „privat-in.de“ und aktiviere die Verbindung. Diese Verbindung funktioniert ohne Passwort.
Es öffnet sich automatisch ein Anmeldefenster in einem Webbrowser, ein sogenanntes "Captive Portal".
Starte auf deinem Computer einen Webbrowser.
Öffne die Wifi-Einstellungen deines Computers. Hier wird die Ethernet-IP-Adresse des SBC in der „privat-in.de“-Funkkennung angezeigt.
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“).
Die Web-Oberfläche zeigt drei Schaltflächen an:
, und .Mit einem Klick auf die Schaltfläche Nextcloud-Software herunter, installiert diese und passt die Systemkonfiguration für Nextcloud an. Dieser Vorgang dauert etwa 15 Minuten.
wird auf einer weiteren Seite der nun folgende Vorgang erläutert. Hier startest du mit einem weiteren Klick auf die Schaltfläche das Installationsskript. Die Ausgaben des Skripts werden nun fortlaufend auf einer Webseite ausgegeben. Das Skript installiert Updates, lädt dieDie 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 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 und (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“.
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 , 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.
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 .
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ü
mit dem Eintrag .Tabelle 1. Smartphone: Installation mit Captive Portal
![]() Neue WLAN-Verbindung herstellen | ![]() Mit starten |
![]() Die Erläuterung lesen | ![]() Die Installation läuft |
![]() *** INSTALLATION COMPLETE *** abwarten, dann tippen | |
![]() Eine Sicherheitswarnung übergehen | ![]() Eine weitere Sicherheitswarnung |
![]() Passwörter kopieren, dann 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 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 |
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.
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.
Besuche die Webseite eines der unterstützten DynDNS-Dienste. Im NextcloudPi-Panel findest du im Menü
mehrere Einträge für DynDNS-Dienste: , , , und .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.
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ü einen neuen DynDNS-Namen „svens-nextcloud.loginto.me“ an.
Anschließend rufe ich im NextcloudPi-Panel aus dem Menü 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 .
den Eintrag auf. Dort aktiviere ich die OptionDer 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.
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.
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.
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“).
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:
Du denkst dir eine noch unbenutzte Sub-Domain zu „privat-in.de“ aus. Diese sendest du mir mit der Bitte um einen Tunnel.
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.
Rufe im NextcloudPi-Panel aus dem Menü den Eintrag auf. Aktiviere die Option Active. Trage die empfangenen Einstellungen ein: Private Key und IPv4 Address. Die anderen Einstellungen sind bereits vorgegeben. Bestätigen mit .
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).
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).
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.
Rufe im NextcloudPi-Panel aus dem Menü den Eintrag auf.
Aktiviere die Option Active. Trage die gewünschten Einstellungen ein: Domain und Email. Bestätigen mit .
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
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.
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:
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
. Klicke auf die Schaltfläche um ein neues Konto anzulegen.Wechsele im Hauptmenü zum Menüeintrag Übersicht werden fast immer Warnungen und Fehler angezeigt. Einige davon können wichtig sein. Wähle im linken Menü den Eintrag und ändere den Eintrag Name auf den zuvor gesetzten Hostnamen (siehe den letzten Schritt von Installation mit Captive-Portal).
. Auf der SeiteDeine Nextcloud: Dashboard und Hauptmenü
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.
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.
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.
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:
Du gibst in der App die URL für deine Nextcloud ein.
Die App startet den Android-Webbrowser mit der angegebenen URL.
Du gibst deinen Kontonamen und dein Passwort ein.
Die Webseite blendet eine Zugriffsanfrage ein.
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 . 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 |
![]() In DAVx⁵ die Einrichtung abschließen | ![]() In DAVx⁵ mit fortfahren |
![]() In DAVx⁵ die starten | ![]() Die App-Berechtigungen gewähren |
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 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 aufrufen. Den Zugriff auf deinen Standort musst du nicht gewähren, aber die Deaktivierung von App-Aktivität bei Nichtnutzung stoppen ist empfohlen.
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.
Alternativ kannst du im Einrichtungsassistenten die Schaltfläche
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).
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:
Starte die
Systemeinstellungen. Rufe das
Einstellungsfenster für Internetkonten auf.
Wähle den Anbieter Nextcloud aus.
Der Dialog Nextcloud-Konto wird angezeigt.
Konfiguriere die URL für deine Nextcloud unter Server. Trage Benutzername sowie Passwort ein. Bestätige mit .
Im nun folgenden Auswahldialog kannst du bestimmen, welche Komponenten des Internetkontos verwendet werden.
Linux - Cinnamon - Steuerung: ein Nextcloud-Konto einrichten
Der oben dargestellte Dialog mit der roten Schaltfläche
funktioniert in dieser Situation nicht ganz korrekt. Dein Konto ist bereits verbunden, klicke einfach auf .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:
Lade und installiere die Software Outlook CalDav Synchronizer.
Im Outlook-Ribbon sollte anschließend eine neue Menüschaltfläche angezeigt werden: .
Klicke auf den Menüpunkt 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.
. DIes öffnet das FensterEin 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)“.
Starte zusätzlich einen Webbrowser. Melde dich bei deinem Server an. Navigiere zur Nextcloud-App Kontakte. Klicke auf die Schaltfläche . Klicke unter der Überschrift Adressbücher rechts auf das Dreipunkte-Icon und wähle den Befehl . Navigiere wahlweise zur Nextcloud-App Kalender. Rolle im Menübereich links unten nach oben und wählen den Menübefehl .
Füge den kopierten Link in das CalDav-Synchronizer-Profil unter DAV URL ein. Bestätige die Profileinstellungen mit .
Diese Einrichtung kannst du nach diesem Schema auch unter anderen Betriebsystemen oder auch mit anderen Programmen durchführen.
Microsoft Outlook: CalDav Synchronizer einrichten
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.
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!
Nur für fortgeschrittene Benutzer - einen SSH-Zugang kannst du im Menü
mit dem Menüpunkt 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.
Rufe im NextcloudPi-Panel aus dem Menü den Eintrag auf.
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.
Nun kannst du die Option Active einschalten. Trage die Zugangsadresse in eins der Eingabefelder IP or Address ein.
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.
Bestätige deine Einstellungen mit
.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.
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.
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.
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).
Statt mit der Schaltfläche
fortzufahren klickst du auf die Schaltfläche .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
und (oder ähnlich).Gib das Backup-Passwort in das obere Eingabefeld ein. Gib die Zugangsadresse in das untere Eingabefeld ein. Bestätige mit
.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.
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 |
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.
Rufe im NextcloudPi-Panel aus dem Menü den Eintrag auf.
Belasse die Vorgabe für Version auf „0“ und bestätige mit .
Dies schaltet deine Nextcloud in den Wartungsmodus. Anschließend wird die nächste verfügbare Version der Nextcloud-Server-Software heruntergeladen und installiert.
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.
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ü den Eintrag erneut auf und bestätige mit .
Nextcloud-Server-Software updaten
Rufe in der Web-Oberfläche deiner Nextcloud im Hauptmenü den Menüeintrag auf. Auf der Seite Deine Apps werden möglicherweise zusätzliche Updates angeboten.
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:
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.
Rufe im NextcloudPi-Panel aus dem Menü den Eintrag 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.
Rufe im Menü Active. Bestätige mit .
den Eintrag auf. Aktiviere die OptionDie USB-Festplatte wird jetzt und beim nächsten Neustart unter
/media/${Label}
eingebunden.
Rufe im Menü 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.
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 |
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.
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.
Starte das Programm FileStation.
Navigiere im Verzeichnisbaum zum Verzeichnis /docker
. Klicke auf die
Menü-Schaltfläche . Wähle den
Menüpunkt . Gib einen
Ordnernamen ein, beispielsweise privat-in-images
. Bestätige mit
.
Starte das Programm Container Manager. Wechsele mit dem Fenstermenü zum Menüpunkt . Wenn zuvor noch keine Docker-Images importiert wurden, klicke auf die zentral angezeigte Menüschaltfläche . Andernfalls klicke auf die Menüschaltfläche und öffne das Untermenü .
Wähle aus dem Untermenü privat-in-backup-amd64.tar
und bestätige die
Auswahl.
Wechsele mit dem Fenstermenü des Programms Container Manager zum Menüpunkt . Klicke auf die Schaltfläche . 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 .
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
auf die Schaltfläche
. Wähle im Auswahldialog das
zuvor angelegte Verzeichnis /docker/privat-in-images
. Bestätige mit
. 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
.
Dies öffnet den Dialog Zusammenfassung. Bestätige mit .
Richte auf deinem Internet-Anschlussgerät eine Port-Weiterleitung des Ports 2222 auf deine DiskStation ein.
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.
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 |
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.
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/.