Nextcloud 12 mit raspberry pi 3 und externer HD als einzigem Datenspeicher

Ich habe nach der sehr guten Anleitung von Steven Seyfried (https://canox.net/2016/06/die-eigene-cloud-mit-dem-raspberry-pi-und-nextcloud/) nextcloud 12.0 auf einem Raspberry Pi 3 installiert und auch entsprechend der Anleitung eine externe USB-HDD eingebunden.

Diese externe HDD ersetzt aber nicht den internen Speicher der Nextcloud auf der SD-Karte des Raspberry in /var/www/html/data, sondern wird als eigener Verzeichnisbaum angezeigt. Das erscheint mir für Leute, die meine Cloud mitbenutzen sollen, etwas verwirrend, wenn Verzeichnisse ggf. doppelt vorkommen.

Nach verschiedenen Anleitungen und Tipps habe ich eine Lösung gefunden, die gleich folgen wird.

Meine Fragen dazu sind:

  • Sind in dem von mir gegangenen Weg Fehler?

  • Könnte etwas vereinfacht oder verbessert werden?

  • Wie kann ich erreichen, dass bei vollständiger Installation von Nextcloud 12, die bereits im produktiven Betrieb ist, künftig nicht mehr von der SD-Karte, sondern ebenfalls von der HDD gebootet werden kann?

Hier die Verfahrensschritte – nach einer erstmaligen Installation der Nextcloud auf dem Pi – für den Wechsel des Datenverzeichnisses von der SD-Karte auf die externe USB-HDD.
Den größten Teil habe ich von dieser Anleitung entnommen (https://retroresolution.com/2016/06/10/automatically-mounting-an-external-usb-hard-disk-on-the-raspberry-pi/):

  1. HDD mit einem anderen Rechner mit ext4 formatieren und eine primäre Partition anlegen

  2. HDD mit einem der USB-Anschlüsse des Raspberry Pi verbinden

  3. Per SSH mit dem Raspberry verbinden

  4. mit
    sudo blkid

  5. die UUID dieses USB-Laufwerks ermitteln

  6. ein Verzeichnis auf der SD-Karte für das Einhängen des Laufwerks erstellen (WD1TB steht für Western Digital HDD mit 1 TB)
    sudo mkdir /media/WD1TB

  7. Verzeichnisrechte dem Benutzer pi zuordnen
    sudo chown -R pi:pi /media/WD1TB

  8. die Datei fstab bearbeiten. Dazu vorher eine Kopie anlegen mit
    sudo cp /etc/fstab /etc/fstab.bak

  9. Jetzt die fstab bearbeiten und am Ende eintragen Edit 08.01.
    UUID='die UUID aus der Ausgabe von Schritt 4 und 5 – dann ohne Hochkommata' /media/WD1TB ext4 0 2

  10. Verzeichnisrechte für die Bedingungen von Nextcloud zuordnen
    sudo su
    mkdir /media/WD1TB/data
    service apache2 stop edit 08.01.
    chown -R www-data:www-data /media/WD1TB/data/
    service apache2 start
    exit

  11. Das Verzeichnis /data auf der SD-Karte in /var/www/html löschen

  12. Die Datei config.php auf der SD-Karte in /var/www/html/config löschen

  13. nextcloud-Adresse im Webbrowser aufrufen

  14. Nach Benutzer und Password als Datenverzeichnis
    /media/WD1TB/data
    eingeben

  15. Die neue Datei /var/www/html/config/config.php bearbeiten
    sudo nano /var/www/html/config/config.php
    Dort vor der letzen Zeile ); die Folgende Zeile einfügen:
    'memcache.local' => '\OC\Memcache\APCu',

  16. mit strg+o und strg+x speichern und verlassen

Fertig

Hallo, danke für die Anleitung. Leider bootet der Raspi nachdem ich den fstab-Eintrag gemacht habe nicht mehr. Es erscheint nur eine Meldung:

Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.
Press Enter to continue.

Über eine Notkonsole lässt sich zwar die Original fstab wiederherstellen, aber ich bekomme die Festplatte nicht eingebunden.
Wenn ich Platte manuell einbinde geht es problemlos.

Eine Idee?

Meine Antwort hat eigentlich nur indirekt mit dem Thread zu tun …

Es gibt ein Image für den Raspberry, das nennt sich Berryboot.
Da reicht, aus der Erinnerung, eine 512K SDC in Fat formatiert und die Berryboot Dateien werden einfach rüber kopiert.
Wenn man den Raspi startet kann man nach kurzer Bootzeit aus dem Menü entweder eine Linux Version installieren, die im Prinzip völlig von Festplatte oder USB läuft … ODER man kann das NextcloudPi Image in einer speziellen Version benutzen.
Das erleichtert gerade Einsteigern die Sache sehr … vor allem wird durch die Datenbank die SDcard sehr belastet, was in der obigen Version noch nicht berücksichtigt ist.
Benutzt man das normale NextcloudPi Image, kann man per raspi-config die Datenbank auf USB etc auslagern.

https://github.com/nextcloud/nextcloudpi/wiki/How-to-install-NextCloudPi-on-an-external-drive-using-Berryboot

Sieht auf den ersten Blick recht interessant aus. Werde ich bei Gelegenheit sicher mal probieren. Insbesondere, falls ich hier keine Lösung mehr finde…
Vielen Dank

Mein Terminal reagiert nicht mehr, wenn ich die UUID versuche herauszufinden. Gibt es noch eine andere Möglichkeit als sudo blkid?