Der Raspberry Pi 4B ist aktuell noch NICHT in der Lage von USB oder Netzwerk zu booten !!
Weitere Infos: hier klicken ....

Raspberry Pi 4B Temperatur / Firmwareupdate
Weitere Infos: hier klicken ....

Raspberry Pi 4B USB 3.0 SSD Geschwindigkeitsproblem
Weitere Infos: hier klicken ....

Raspberry Pi 4B Bootrom Update wegen HAT Problem
Weitere Infos: hier klicken ....

RASPBIAN: Nextcloud installieren

Hier gibt's Anleitungen und Themen dazu.
Antworten

Themenstarter
Outi
Administrator
Administrator
Beiträge: 255
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

RASPBIAN: Nextcloud installieren

Beitrag von Outi » 18.08.2019, 13:59

History:
18.08.2019 - V01.00 - Erste Fertigstellung


Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.

Info:
Diese Anleitung setzt ein fertig konfiguriertes RASPBIAN voraus.
Diese Anleitung erfolgte auf dem Full Image, Lite habe ich nicht probiert.

Es gibt scheinbar auch fertige SD-Karten-Images,
jedoch wollte ich die Nachinstallation auf einem bestehen System beschreiben.

Info:
Für diese Anleitung habe ich einen Raspberry Pi 4B mit 4GB RAM im WLan benutzt. Auf einem Pi 2B ist das System extrem träge, auf einem Pi 3B+ soll es flüssiger laufen aber auch da gibt es Einschränkungen bez. RAM (nur 1GB) und Netzwerk. Hier kann der Pi 4B deutlich punkten.

Des Weiteren können die Daten bei der Nextcloud auf einen externen USB Datenträger ausgelagert werden.
Dafür habe ich eine SSD mit einem SATA/USB3 Adapter eingebunden, siehe folgende Anleitung: RASPBIAN USB-Stick / -Festplatte einbinden

Hinweis:
Normalerweise nutze ich den Browser MS EDGE, jedoch funktioniert die Konfiguration damit nicht, da dieser Browser nicht unterstützt wird.
Als Alternative habe ich Google Chrome verwendet.


Da es für den Raspberry Pi eine extra Version von der Nextcloud gibt, bezieht sich diese Anleitung auf das sogenannte NextcloudPi.

Bevor es aber an die Installation geht, werden - wie immer- zuerst die Paketquellen und Pakete aktualisiert:

Code: Alles auswählen

sudo apt-get update && sudo apt-get upgrade -y
Installiert wird NextcloudPi dann mit folgendem Befehl:

Code: Alles auswählen

curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | sudo bash
Diese neue Installationsart hat den Vorteil, dass gleich das komplette System und alle benötigten Abhängigkeiten installiert werden, wie z.B. PHP usw. Daher dauert dieser Schritt auch einige Zeit (mehrere Minuten). Hier ist also etwas Geduld gefragt, vor allem, wenn man eine langsame Internetanbindung hat.

Sobald die - gefühlt endlos dauernde - Installation durch ist, werden am Ende einige Hinweise zum weiteren Vorgehen angezeigt:
First: Visit https://192.168.178.27/ https://nextcloudpi.local/ (also https://nextcloudpi.lan/ or https://nextcloudpi/ on windows and mac)
to activate your instance of NC, and save the auto generated passwords. You may review or reset them
anytime by using nc-admin and nc-passwd.
Second: Type 'sudo ncp-config' to further configure NCP, or access ncp-web on https://192.168.178.27:4443/
Note: You will have to add an exception, to bypass your browser warning when you
first load the activation and :4443 pages. You can run letsencrypt to get rid of
the warning if you have a (sub)domain available.
Bitte bei allen IP-Adressen-Angaben die hier gezeigte IP 192.168.178.27 durch die bei sich selbst angezeigte ersetzen !!

Bei meiner Konfiguration mit einer Fritzbox ging aber lediglich der Link mit der IP Adresse (hier https://192.168.178.27/) durch die eigene angezeigte IP Adresse ersetzen/nutzen).

Dabei wird eine Browsermeldung angezeigt, die darauf hinweist, dass das Zertifikat nicht sicher sei. Das ist aber normal, da das während der Installation erzeugte Zertifikat nicht von einer vertrauenswürdigen Zertifizierungsstelle stammt, sondern eben von unserem RasPi erzeugt wurde.
Nextcloud empfiehlt die Nutzung von Letsencrypt, was ein sehr guter Vorschlag ist aber u.U. eine eigene Domain voraussetzt, da dynamische DNS Dienste in der Regel nach kurzer Zeit von Letsencrypt geblockt werden, da zu oft genutzt (Letsencrypt lässt nur eine bestimmte Anzahl an Zertifikaten einer (Sub-)Domain zu).

Nun wird - wie von der Installation vorgeschlagen - zuerst die vorhandene Instanz von Nextcloud über den eingebauten Webserver aktiviert.
Dafür ist folgende Webseite aufzurufen:

https://192.168.178.27/

Hierbei bitte die IP durch die eigene - bei der Installation am Ende angezeigte - IP ersetzen.

Im Browser erscheint nun folgender Warnhinweis (die Verschlüsselung klappt aber trotzdem):

Bild

Nach dem Klick auf das rot markierte Erweitert wird die Anzeige erweitert:

Bild

In anderen Browsern kann das anders aussehen und evtl. auch anders ablaufen, daher ist das hier nur ein Beispiel.

Nachdem dann auf Weiter zu 192.168.178.27 (unsicher) geklickt wurde, erscheint die Aktivierungsseite von Nextcloud:

Bild

Für die beiden User ncp (1x für NextCloudPi und 1x für Nextcloud) werden hier Passwörter angezeigt, die man später in der Konfiguration ändern kann. Ein Ausdruck ist hier auch möglich.

Eine Änderung der beiden Passwörter ist hier noch nicht möglich, daher habe ich sie mir zur Sicherheit im Editor von Windows zwischengespeichert.

Danach geht es weiter mit einem Klick auf Activate.

Es erscheint nun die Login Abfrage im Browser, bei der wir den Benutzer ncp und das erste der beiden zuvor gesicherten Passwörter eingeben und die Option Anmeldedaten speichern ankreuzen:

Bild

Danach geht es mit einem Klick auf Anmelden weiter.

Es erscheint nun die Konfigurationsoberfläche von NextCloudPi und es wird für den 1. Start ein Wizard angeboten:

Bild

Dort wird auf Ausführen geklickt.

Der Wizard wird gestartet und zeigt eine Begrüßungsseite:

Bild

Oben klicken wir auf USB Configuration und erhalten folgendes Bild:

Bild

Das obige Bild zeigt das komplette Fenster, nachdem alle Fragen beantwortet wurden !!

Zuerst wird abgefragt, ob man die zu speichernden Daten auf ein externes USB Laufwerk auslagern will.
Wird hier mit Yes bestätigt, erfolgt die nächste Frage, andernfalls geht es zum nächsten Menüpunkt.

Es folgt dann die Aufforderung, das gewünschte USB Laufwerk einzustecken. Ich hatte meine USB SSD bereits eingesteckt und konfiguriert.
Das macht aber nichts aus, die Platte wird nach dem Klick auf Continue trotzdem erkannt.

Nun kann die Platte (oder das USB Laufwerk) formatiert werden mit Format USB. Da ich meine Platte zuvor bereits neu eingerichtet hatte, habe ich mit Skip bestätigt.

Übrigens werden bei jeder AKtion entweder links oder rechts oder auf beiden Seiten Texte eingeblendet, die über den Status der Aktion Bescheid geben.

Beim nächsten Punkt Move data to USB gab es bei mir das erste Problem:
Ich hatte meine Platte ins Verzeichnis /media/usb/ gemountet, Nextcloud will aber in das Verzeichnis /media/USBdrive schreiben, welches nicht vorhanden ist. Dies kann hier im Wizard auch nicht angepasst werden.
Daher überspringe ich diesen Punkt und korrigiere das später manuell.

Nun geht es oben zum Punkt External access:

Bild

Auch dieses Fenster baut sich nach und nach auf, wenn man die einzelnen Punkte anklickt.

Zuerst wird gefragt, ob man externen Zugriff zulassen möchte. Falls nein, wars das schon, andernfalls geht es weiter runter mit der nächsten Einstellung. Hier dauert der nächste Abfragepunkt ein paar Sekunden, da hier ein möglicher Internetzugang gesucht wird.

Ist dies geschehen, erscheint eine Meldung, die die Notwendigkeit der Portumleitung für den Eingang auf dem Raspbery Pi erklärt.
Das heißt, dass einem vorhandenen Router mitgeteilt werden muss, dass die Ports 80 (unverschlüsselt) und 443 (verschlüsselt) auf den Raspbery Pi umgeleitet werden müssen.

Hier wird nun angeboten, dass dies von Nextcloud automatisch eingerichtet werden soll oder ob man das selbst manuell tun möchte.
Da jeder halbwegs sicher konfigurierte Router diese automatische Möglichkeit nicht zulässt, wird hier I will do it manually angeklickt. Diese manuelle Routerkonfiguration ist von Router zu Router unterschiedlich durchzuführen, ich werde es später kurz anhand einer Fritzbox 7590 zeigen.

Weiter geht es mit Continue.

Um überhaupt von extern auf Nextcloud zugreifen zu können, wird ein sogenannter DDNS benötigt. DDNS heißt Dynamischer Domain Name Service.
Dieser wird benötigt, damit man im Internet den Raspberry ansprechen kann. Die meisten Internetanschlüsse haben keine festen IP Adressen und die im internen Netz befindlichen Geräte (wie der Raspberry Pi) können daher nicht so einfach vom Internet aus gefunden werden.
Wir haben zwar eine IP Adresse vom Router bekommen (meine Fritzbox hat meinem RasPi die 192.168.178.27 gegeben) aber diese IP gilt nur im internen Netz bei mir und wird nicht nach außen weitergeleitet.
Zudem ändert sich die externe IP Adresse des Routers bei jeder Neueinwahl, meist nach 24h sowieso (von manchem Provider aus) oder nach jedem Reboot. Der Router muss ja eine externe IP Adresse bekommen, sonst könnten wir nicht ins Internet gehen und von Dort Daten/Webseiten/usw. bekommen.

Damit nun diverse Zugriffe von Außen auf den Raspberry Pi und damit auf Nextcloud möglich sind, wird nun ein externer Service benötigt, dem der Router seine aktuelle IP Mitteilt und diese an eine (Sub-)Domain mitteilt. Dieser Service nennt sich eben DDNS. Hier arbeiten DDNS Dienst und Roputer zusammen, wenn sie richtig konfiguriert wurden. Dem Router muss der gewählte Dienst mitgeteilt werden, wohin er seine selbst erhaltene externe IP Adresse mitteilt und der externe DDNS Dienst teilt einer externen Anfrage diese IP dann mit. Ändert sich die externe IP des Routers, teilt dieser die neue IP also dem DDNS Dienst mit. Damit nun nicht immer diese wechselnden IP Adressen eigegeben werden müssen, vergibt der DDNS Dienst immer den gleichen Namen. Externen Aufrufern muss also nur dieser eine Name bekannt sein.

Dieser Name nennt sich in diesem Fall Domain oder Subdomain.

Hier bietet Nextcloud die beiden Dienste FreeDNS und No-IP an. Diese beiden Anbieter bieten normalerweise ihre Dienste kostenlos an, zumindest bei der Erstellung dieser Anleitung war das noch so. Ein berühmtes Beispiel ist DynDNS.com, die mittlerweile nur noch kostenpflichtige Services anbieten. Daneben gibt es noch viele weitere Dienste, die ebenso diese Umleitung kostenlos oder gegen Gebühr anbieten.

Hinweis:
Die meisten kostenlosen DDNS Dienste sind bei Verschlüsselungen mit geprüften Zertifikaten z.B. von LetsEncrypt nicht nutzbar, da dort nur Subdomains registriert werden können und zig 1000 Leute dadurch die gleiche Hauptdomain des Anbieters haben, z.B. test.ddnsprovider.tld.

In diesem Beispiel ist test. der Subdomainteil und ddnsprovider.tld die Hauptdomain. Hier begrenzt der Zertifikatanbieter die Hauptdomain auf einige wenige Zertifikate, die bei großen DDNS Anbietern sehr schnell überschritten sind.
Wer aber mit einem selbst erstellten Zertifikaten und der dazugehörigen Browserwarnung leben kann (und diese z.B. in seinem Browser manuell dauerhaft erlaubt), der ist mit solchen kostenlosen Diensten gut beraten.

Wer aber auch andere Leute auf Nextcloud zugreifen lassen und/oder die Browserwarnung vermeiden will, der sucht sich besser einen Domainanbieter, der entweder günstig eine Domain (u.U. mit Subdomains) und einen DDNS Service gleich mit anbietet (z.B. strato.de oder serverprofis.de). Oder wenn man eh eine Webseite bei einem solcher Anbieter betreibt, reicht eine weitere Subdomain, die man dann im Servicebereich für DDNS umkonfigurieren kann.
Solche Domains sind recht günstig zu bekommen und sehen auch wesentlich seriöser aus.

Ich habe bei meinem Webseitenanbieter mehrere Hauptdomains laufen und nutze eine Subdomain bereits über dessen DDNS Dienst, daher habe ich im Wizard Skip ausgewählt. Wie man eine solche Domain bestellt/konfiguriert/im Router einstellt ist vom Router und Anbieter unterschiedlich, daher verzichte ich hier auf eine Beschreibung. Dies ist beim jeweiligen Router und Anbieter nachlesbar.

Nach der Konfiguration (oder wie bei mir nach dem Klick auf Skip) erscheint das Auswählen für den Aufruf der Hauptseite von Nextcloud oder der Konfigurationsseite:

Bild

Der Wizard kann übrigens jederzeit wieder über den folgenden Link gestartet werden:
https://192.168.178.27:4443/wizard/
(IP durch eigene ersetzen !!)

Da wir aber noch ein paar Kleinigkeiten ändern müssen, geht es weiter mit dem Klick auf go back to NextCloudPi web panel und es erscheint die Hauptseite der NextCloudPi Konfiguration:

Bild

Links im Menü klicken wir in der Sektion CONFIG auf den Punkt nc-passwd und vergeben hier ein neues Passwort, welches wir zur Vereinfachung neu erstellen:

Bild

Leider ist noch nicht alles übersetzt, daher erscheint vieles noch in englisch.
Hier einfach ein neues Passwort vergeben und mit Apply bestätigen.

Selbiges machen wir auch gleich mit dem Nextcloud Admin Account ncp.
Der Unterpunkt in der gleichen Sektion nennt sich nc-admin.

Wer (wie ich) auf ein USB Laufwerk zugreift und die Datenbank auch auf das USB Laufwerk verschieben möchte, kann diesen hier anpassen, in dem er im selben Bereich (CONFIG) den Punkt nc-database anklickt und folgenden Pfad anpasst:

Bild

Da ich meine Platte auf /media/usb/ gemountet habe, muss ich den Pfad dahingehend daraufhin abändern:

/media/usb/ncdatabase

Da aber auch das Unterverzeichnis ncdatabase noch nicht existiert, muss ich dieses erst auf dem Pi anlegen.
Dies geschieht per Putty über SSH durch folgende Befehle:

Code: Alles auswählen

cd /media/usb

Code: Alles auswählen

sudo mkdir ncdatabase
Nach dem Klick auf Apply wird die Datenbank von der SD Karte auf das USB Laufwerk verschoben.

Genauso verfahren wir nun mit dem Datenverzeichnis. Dieses verschieben wir über den Menüunterpunkt nc-datadir:

Bild

Wie zuvor bei der Datenbank, ändere den Pfad auf das von mir gemountete Verzeichnis:

/media/usb/ncdata

Auch hier wird über die Textkonsole das Verzeichnis angelegt:

Code: Alles auswählen

cd /media/usb

Code: Alles auswählen

sudo mkdir ncdata
Nach dem Klick auf Apply werden die Datenverzeichnisse von der SD Karte auf das USB Laufwerk verschoben.

Damit wir Nextcloud nicht immer per IP Adresse aufrufen müssen, ändern wir noch den Hostnamen des RasPis, der seit der Standardinstallation von Raspbian immer noch auf raspberrypi steht.
Dies könnte man zwar so lassen, jedoch beschwert sich Nextcloud beim Aufruf von raspberrypi, dass es sich um einen unsicheren Domainnamen handelt, verweigert das Login und fordert eine Änderung in der Konfiguration.

Daher ändern wir den Hostnamen schnell in der Textkonsole:

Code: Alles auswählen

sudo nano /etc/hostname
Dort ändern wir das Wort raspberrypi in nextcloudpi und speichern das Ganze mit der Tastenkombination <strg><x>.
Bestätigt wird die Speicherfrage mit j oder y (je nach Sprache in Raspbian).

Dann muss noch die Datei /etc/hosts angepasst werden:

Code: Alles auswählen

sudo nano /etc/hosts
Auch hier nur das Wort raspberrypi in nextcloudpi ändern und speichern.

Jetzt starten wir den Raspberry Pi neu:

Code: Alles auswählen

sudo reboot now
Jetzt sollte Nextcloud auch über diesen Link erreichbar sein:

https://nextcloudpi

Das war vorerst das Gröbste in Sachen Installation / Konfiguration.

Nun wird die Startseite von Nextcloud über den obigen Link aufgerufen und es erfolgt das Login:

Bild

Hier geben wir den Hauptuser ncp mit dem während der Konfiguration geänderten Passwort ein und landen auf der Hauptseite von Nextcloud:

Bild

Hier endet die Installation vorerst.
Weitere Ergänzungen werden evtl. von Zeit zu Zeit folgen.


Fortsetzungen, Korrekturen, Änderungen möglich ....

Copyright © 2019 by RasPiFun.de
;) Gruß Outi :D

Antworten