Installationsvorbereitung 1
Last updated on 2025-01-21 | Edit this page
Estimated time: 135 minutes
Overview
Questions
Wie kann ich Datenverlust vermeiden?
Wie kann ich meinen Speicherplatz erweitern?
Wie beginne ich die Installation von Nextcloud?
Objectives
Backups des gesamten Betriebssystems erstellen
Dateisysteme erstellen und einbinden
Programmkomponenten von Nextcloud verstehen
Systembackup
Nachdem der Raspberry Pi in den bisherigen Lektionen grundlegend eingerichtet wurde, empfiehlt es sich nun den aktuellen Stand zu sichern. Dadurch besteht später die Möglichkeit diese Sicherung wieder herzustellen für den Fall, dass bei der weiteren Arbeit etwas schief geht.
Um das gesamte System zu sichern, muss die SD-Karte (bzw. der Datenträger auf welchem das System installiert ist) geklont werden. Dabei wird ein Image aller Partitionen erstellt. Dieses kann später wie das Image eines Betriebssystems neu auf die SD-Karte installiert werden. Um alle Daten sauber kopieren zu können, muss der Raspberry Pi heruntergefahren werden und anschließend wird SD-Karte mit Hilfe eines anderen Computers kopiert. Je nach Betriebssystem dieses anderen Computers bestehen unterschiedliche Möglichkeiten. Nachfolgend werden für jedes Betriebsystem eine Möglichkeit vorgestellt.
Externer Speicher
Aktuell verfügt der Raspberry Pi nur über den Speicherplatz auf der SD-Karte. Dieser Speicherplatz kann schnell ausgehen, wenn größere Datenmengen im Cloudserver gespeichert werden sollen. Außerdem ist eine SD-Karte kein verlässliches Speichermedium. Deshalb kann es empfehlenswert sein, mit Hilfe zusätzlicher Speichermedien den Speicherplatz zu erweitern.
An den USB-Ports können externe Datenträger angeschlossen werden. Dies können USB-Sticks, HDD-Festplatten (mit eigener Stromversorgung) oder USB-SSD-Festplatten sein. Der Raspberry Pi 5 bietet außerdem über die PCIe 2.0-Schnittstelle die Möglichkeit mit Hilfe eines M.2-Zusatzmoduls eine NVMe-SSD anzuschließen (Details dazu siehe Raspberrypi.com).
Festplatten einbinden (mounten):
Damit der externer Datenträger vom Betriebssystem verwendet werden kann, muss dieser an einer zu definierenden Stelle des Verzeichnissbaums eingebunden werden. Dieser Vorgang wird als mounten oder einhängen bezeichnet. Dies erfolgt zunächst einmalig und nachdem ein Dateisystem auf dem Datenträgererstellt wurde dauerhaft:
Aktuelle Laufwerke identifizieren:
lsblk
Externen Datenträger verbinden
erneut Laufwerke identifizieren:
lsblk
Der neue Datenträger sollte auftauchen und mit einem Pfad ähnlich/dev/sda
oder/dev/nvme/
erscheinenPartition erstellen:
sudo fdisk /dev/sda
(dabei muss /dev/sda an den eigenen Datenträger angepasst werden)Im folgenden interaktiven Dialog von fdisk wird mit
g
eine GPT-Partitionstabelle erstellt, mitn
eine neue Partition und mitw
werden die Änderungen auf den Datenträger geschriebenAuf der neuen Partition ein (linuxkompatibles ext4-)Dateisystem erstellen:
sudo mkfs.ext4 /dev/sda
(Pfade wieder anpassen)Mountpoint (Einhängepunkt für den Datenträger) erstellen:
sudo mkdir /mnt/data
(Pfad ggf. nach eigenen Wünschen anpassen)Datenträger mounten:
sudo mount /dev/sda1 /mnt/data
Zu diesem Vorgang finden sich im Netz auch diverse Anleitungen, z.B. bei basic-tutorials.de
Beim Elektronikkompendium findet sich noch mehr zum Thema Festplatten, Partitionen und Mounting.
Nachdem das Dateisystem erstellt und einmalig gemountet ist, muss
dies noch dauerhaft gemacht werden. Denn das mounten über
mount /dev/sdx
geht bei einem Neustart des Gerätes verloren
und Referenzen, z.B. aus dem Cloudserver, auf den externen Datenträger
wären ungültig. Um Datenträger dauerhaft unter dem gleichen Dateipfad
verfügbar zu machen, müssen diese Datenträger mit ihrem unversal
unique identifier, oder kurz UUID in der Datei
/etc/fstab
eingetragen werden:
UUID herausfinden und notieren oder in die Zwischenablage kopieren:
sudo blkid
In der Datei
/etc/fstab
eine neue Zeile ergänzen:
UUID=<kopierte UUID> /<Pfad>/<zum>/<Mountpoint> ext4 auto,nofail,noatime,users,rw 0 0
Dadurch wird der Datenträger bei jedem Neustart und beim ausführen
des Befehls sudo mount -av
im angegeben Pfad eingehängt. Es
wird außerdem das Dateisystem genannt (ext4) und einige Optionen
mitgegeben. z.B. bedeutet die Option nofail, dass das
Betriebssystem auch dann startet, wenn der externe Datenträger nicht
angeschlossen ist.
Nachdem der Eintrag in der fstab-Datei erstellt ist, wird das mounten getestet:
sudo mount -av
Nach einem Neustart kann mit
sudo df -h
überprüft werden, ob der externe Datenträger richtig eingebunden wurde.
Weitere Anleitungen zum dauerhaften einbindinden von Datenträgern finden sich z.B. beim Elektronikkompendium oder bei PiMyLifeUp.
Grundlagen der Installation
Vor jeder (größeren) Installation, sollte das Handbuch der Software studiert werden. Da in diesem Kurs die Software Nextcloud als Dateispeicher- und Kollaborationsdienst installiert werden soll, sollte das Nextcloud Administration Manual studiert werden.
Installationsvarianten
Informieren Sie sich über die Installationsvarianten von Nextcloud. Ein Einstiegspunkt ist das Kapitel Installation on Linux. Empfehlenswert ist auch das Lesen des Kapitels Example installation on Ubuntu 22.04 LTS.
Welche der im Handbuch erwähnten Installationsvarianten erscheint Ihnen für das Raspberry Pi Projekt am sinnvollsten?
Für den Raspberry Pi gibt es ein von der Community betriebens Projekt: NextcloudPi. Damit kann sehr schnell auf einem Raspberry Pi (oder vergleichbaren Systemen) ein Nextcloud-Server installiert werden. Der Nachteil ist jedoch eine etwas eingeschränkte Konfigurierbarkeit, da hier alles sozusagen “auf einen Klick” gemacht wird. Dadurch ist auch der Lernerffekt deutlich verringert.
Grundlegend sind auch die Optionen mit Docker eine gute Option. Hier steht ein offizielles Image zur Verfügung (Nextcloud AIO), das allerdings auch wieder vorgefertigt und daher weniger Anpassbar ist. Da Docker jedoch noch einmal eine weitere Komplexitätsschicht hinzufügt und v.a. dann interessant ist, wenn auf einem Computer mehrere Dienste betrieben werden, wird diese Variante hier nicht weiter verfolgt.
Als empfehlenswerte Variante für diesen Kurs wird die manuelle Installation gewählt. Dies hat den Vorteil, dass damit das gesamte System nach den eigenen Wünschen angepasst werden kann und dadurch auch ein hoher Lerneffekt zustande kommt.
Komponenten
Der Nextcloud-Server besteht aus mehreren Komponenten. Nextcloud selbst ist dabei nur ein Teil. Für die Funktionalität werden jedoch noch eine Datenbank, ein Webserver und ein Datenverzeichnis benötigt. Außerdem kann später mithilfe von Apps die Funktionalität erweitert werden.
Komponente | Funktion | Hinweis |
---|---|---|
Nextcloud-Server | die Hauptsoftware | Kernprogramm zur Datenverwaltung und Steuerung |
Datenbank | Speichert Benutzer, History, Metadaten u.v.m. | SQLite für Testzwecke, MariaDB oder PostgreSQL für produktiven Einsatz |
Webserver | Koordiniert Kommunikation | z.B. Apache oder NGINX; steuert Anfragen und Antworten, verschlüsselt die Kommunikation |
Datenverzeichnis | Speicherort der Clouddaten | Es sind verschiedene Verzeichnisse und Speichertechnologien möglich |
Apps | Funktionserweiterung | Zahlreiche Möglichkeiten im Nextcloud App store |
Key Points
Zur Sicherung des gesamten Systems kann die SD-Karte an einem zweiten PC geklont werden
Datenträger können unter Linux an einer beliebigen Stelle des Verzeichnisses Baumes eingehängt werden
Einmaliges mounten erfolgt mit dem
mount
-Befehl, dauerhaftes mounten durch Eintragung in der Datei/etc/fstab
Nextcloud bietet unterschiedliche Installationsvarianten- und Komponenten. In diesem Kurs wird die manuelle Installation mit MariaDB und Apache gewählt.