Nextcloud auf dem Raspberry Pi

In diesem Beitrag werde ich euch erklären, wie ihr einen eigenen Cloud-Server mit Hilfe von Nextcloud und einem Raspberry Pi 4 auf die Beine stellen könnt. Im folgenden werde ich ein wenig auf die Hardwarekomponenten eingehen und im Anschluss dann Schritt für Schritt die Installationsroutine beschreiben.

Hardware

Anleitung – Nextcloud für Raspbian

Es gibt mittlerweile viele Möglichkeiten euren Raspberry Pi als Server mit Nextcloud einzurichten. Mit dem Nextcloud Image, welches eigens für den Raspberry Pi entwickelt wurde, werden euch die meisten Konfigurationsschritte abgenommen. In dieser Anleitung werde ich euch allerdings den klassischen Weg über eine ganz normale Raspbian Installation erklären. Dies hat den Vorteil, dass ihr bei der Installation deutlich flexibler seid und den Raspberry Pi auch noch anderweitig verwenden könnt. Fangen wir also an mit der Raspbian installation.

Installation von Raspbian

Aktuell könnt ihr euch auf der RaspberryPi.org Seite das Raspbian Image „Buster“ downloaden. Das Betriebssystem könnt ihr mittels dd-Komando (Mac und Linux) auf die SD-Karte flashen. Um das richtige Ziel auszuwählen, empfehle ich auf jeden Fall den Befehl diskutil list in der Kommandozeile auszuführen. Dieser zeigt euch alle gemounteten Geräte.

$ sudo dd if=<Quelle> of=<Ziel>

Solltet ihr mit Windows arbeiten, empfehle ich euch das Programm Etcher. Dieses könnt ihr kostenlos downloaden und installieren. Zum Flashen wählt ihr dann einfach das Buster-Image und die SD-Karte aus.

SSH erlauben

Um auf den Raspberry Pi über das Heimnetzwerk zuzugreifen, müsst ihr SSH in der Boot-Partition erlauben. Erstellt dafür eine Datei ohne Inhalt mit dem Namen ssh und speichert diese auf der geflashten SD-Karte in dem Ordner boot.

Raspberry Pi booten

Im Anschluss nehmt ihr die SD-Karte und steckt sie in den Raspberry Pi. Verbindet jetzt das Gerät anhand des Ethernet-Kabels mit dem Router. Als letztes müsst ihr dem Gerät nur noch Strom geben und der Raspberry Pi sollte ohne Probleme das System starten.

Allgemeine Anpassungen

Mittels ssh könnt ihr nun von eurem PC eine Verbindung zu dem Raspberry Pi im Heimnetzwerk aufbauen. Für eine SSH-Verbindung mit einem Windows-Gerät benötigt ihr die zusätzliche Software Putty.

$ ssh pi@raspberrypi

Das Standard-Nutzerdaten sind wie folgt:

UserPasswort
piraspberry

Nachdem ihr euch mit dem Raspberry Pi verbunden habt, könnt ihr den Raspberry Pi auf den neusten Stand bringen. Dazu könnt ihr in der Konsole die folgenden Befehle eingeben. Ändert bitte auch auf jeden Fall das Nutzerkennwort mit dem Befehl passwd pi.

$ sudo apt update
$ sudo apt upgrade

Nextcloud installieren

Kommen wir jetzt endlich zu Nextcloud. Mit Hilfe dem Paketverwaltungstools snapd werden wir das Programm downloaden. Um snapd verwenden zu können, müsst ihr auch dieses erstmal installieren. Nach der Installation solltet ihr den Raspberry Pi mit dem Befehl sudo reboot neustarten und erneut eine ssh-Verbindung zu dem Raspberry Pi aufbauen.

$ sudo apt install snapd

Wenn ihr wieder mit ssh eine Verbindung zum Raspberry Pi aufgebaut habt, könnt ihr mit Hilfe von snapd das Programm Nextcloud installieren.

$ sudo snap install nextcloud

Externe Festplatte anschließen

Nachdem wir Nextcloud auf dem Raspberry Pi installiert haben, können wir eine externe Festplatte mit dem Raspberry Pi verbinden. Die externe Festplatte soll anschließend als Speicher für die eigene Cloud dienen. Sollte euch der Speicher auf der SD-Karte ausreichen, oder eine externe Festplatte steht euch noch nicht zur Verfügung, dann könnt ihr diesen Schritt auch überspringen und gegebenenfalls später noch nachholen. (Dabei müsst ihr allerdings auf ein paar Kleinigkeiten achten. Schreibt mir gerne ein Kommentar dazu, wenn ich dazu noch eine Anleitung schreiben soll.)

Als erstes müsst ihr natürlich die Festplatte mit dem Raspberry Pi verbinden und die Festplatte bei dem Raspberry Pi anmelden/mounten. Um den richtigen USB-Port auszuwählen, könnt ihr euch mit dem Befehl lsblk alle verbundenen Medien anzeigen lassen. Die Festplatte könnt ihr auch anhand der Speichergröße identifizieren. Solltet ihr euch nicht sicher sein, welchen Port (zum Beispiel sdb1) ihr für die Festplatte ausgewählt habt, zieht die Festplatte nochmal ab und wiederholt den Befehl. Das Gerät sollte jetzt in der Liste der Geräte nicht mehr angezeigt werden.

Vor dem Mounten müsst ihr die Festplatte noch in das richtige Format umstellen. Nextcloud benötigt das ExFat-Format. In dem Beispiel formatieren wir die Festplattenpartition sdb1. Dies kann variieren, deswegen schaut auf jeden Fall genau nach, welchen Pfad ihr auswählt.

$ sudo mkfs ext4 /dev/sdb1

Zum Schluss müssen wir die Festplatte noch mounten. Legt dazu bitte einen Ordner in dem Verzeichnis media an. Danach müsst ihr nur noch den erstellen Ordner mit der Festplatte verbinden.

$ sudo mkdir /media/Festplatte
$ sudo mount /dev/sdb1 /media/Festplatte

Damit ihr auch nach einem Reboot den mountpoint nicht erneut setzen müsst, empfiehlt es sich die UUID mit folgenden Befehl in der fstab-Datei zu speichern, damit der Raspberry Pi die Festplatte auch nach einem Neustart selbstständig einbindet.

$ sudo blkid /dev/sdb1
$ sudo nano /etc/fstab

In der fstab-Datei müsst ihr folgende Zeile mit euren Daten also der richtigen UUID und Festplattepfad zusätzlich eingeben:

UUID=eureUUID /media/Festplatte ext4 defaults 0

Nextcloud Konfigurationsdatei

Um die Konfigurationsdatei von Nextcloud zu öffnen, kopiert bitte den folgenden Befehl in das Terminal.

$ sudo nano /var/snap/nextcloud/current/nextcloud/config/autoconfig.php

In der Datei muss der Pfad für 'directory' angepasst werden. Achtet auch hier wieder darauf eure Daten zu verwenden.

'directory' => '/media/Festplatte/',

Startet, nachdem ihr die Datei gespeichert habt, den Service mit dem 2. folgenden Befehl neu.

$ sudo snap restart nextcloud.php-fpm

Nextcloud im Browser öffnen

Jetzt haben wir es fast geschafft. Gebt die IP-Adresse eueres Raspberry Pis, die ihr über euren Router (Fritzbox: Heimnetz > Netzwerke) einsehen könnt, in dem Suchfeld eures Browsers ein. Wenn ihr alles richtig gemacht habt, sollte hier die Nextcloudseite erscheinen. Zum Schluss müsst ihr nur noch einen Admin-Nutzer mit Passwort erstellen. Im Anschluss ist die Installation abgeschlossen.


Folgende Nextcloud-Anleitungen könnten für euch interessant sein:

Mehr Projekte mit dem Raspberry Pi:

Eine Übersicht zu allen Projekten mit dem Raspberry Pi findet ihr hier:

11 Kommentare

  1. Der Pfad der Configdatei existiert bei mir nicht! Nextcloud neu installiert, snap neu installiert… brachte alles kein erfolg..

    Im Ordner /var/snap/nextcloud/current/nextcloud ist nur das Verzeichnis extra-apps vorhanden, auf die ich nicht zugreifen kann.

    • Hallo, habe ein wenig recherchiert und dabei folgenden Workaround gefunden:

      Wenn der Config-Ordner noch nicht vorhanden ist, rufe bitte dazu Nextcloud im Browser auf, wie ich es am Ende der Anleitung beschreiben habe. Lege hier einen Admin-Nutzer an. Im Hintergrund sollte dann auch der Config-Ordner erstellt werden. In diesem Ordner befindet sich jetzt eine config.php-Datei. Öffne diese und ändere den Speicher-Pfad, wie bei autoconfig.php beschrieben. Da die externe Festplatte nicht mit .ocdata initialisiert wurde, musst du noch diese Datei (ocdata) aus dem alten Verzeichnis, welches in der Config.php angegeben war in das neue Speicherverzeichnis kopieren. Das kopieren kannst du mit dem folgenden Befehl ausfühen:

      sudo mv /var/snap/nextcloud/common/nextcloud/data/* /media/Festplatte/ (passe ggf. den Pfad an)

      Starte den Server im Anschluss erneut mit:

      sudo snap restart nextcloud.php-fpm

      Ich hoffe das hilft dir! Viele Grüße, Jan

      • Zuert Vielen dank, es ist die best funktionirende anleitung
        ich konnte die autoconfig.php auch nicht sehen, erst als ich:
        sudo snap restart nextcloud.php-fpm
        ausgeführt habe, konnte ich (sofort danach) editieren:
        sudo nano /var/snap/nextcloud/current/nextcloud/config/autoconfig.php
        dann ist sie verschwunden.
        der server funktioniert aber super gut, ohne fehler.
        Vielen dank nochmal
        Jean-Luc

  2. Can’t create or write into the data directory /snap/nextcloud/16740/htdocs/data

    Die Fehlermeldung kommt beim anlegen des Admin Benutzers

    • Hast du mal geschaut, wie es mit den Zugriffsrechten in dem Verzeichnis ‚data‘ aussieht?
      Probiere mal die Zugriffsrechte auf alle Benutzer umzustellen mit dem Befehl:

      sudo chmod 777 -c -R /snap/nextcloud/16740/htdocs/data

      Viele Grüße, J

        • hab nochmal genauer nachgeschaut, das Verzeichnis htdocs existiert, jedoch ist es nur lesbar. Zugriffsrechte lassen sich nicht ändern, Ordner erstellen auch nicht.

          • Okay, das ist merkwürdig. Dann würde ich versuchen Nextcloud nochmal neu zu installieren und erstmal keine externe Festplatte als Speicher anzulegen. Das heißt also Nextcloud installieren und dann gleich anmelden als Admin. Wenn das funktioniert hat, kannst du probieren über die Config-Datei das Speichermedium zu wechseln. Nicht vergessen dann auch die Datenbank von dem alten Verzeichnis in das neue Verzeichnis zu verschieben.

            Ich hoffe das hilft! Viele Grüße, J

    • Danke dir für den Hinweis! Habe die Reihenfolge verdreht. Die Begriffe „Ziel“ und „Quelle“ sind aber trotzdem meiner Meinung nach besser verständlich.

Schreibe einen Kommentar

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