{Tutorial} Eigene Cloud mit NextcloudPi – Teil 4

Beitragsbild zum Projekt Eigene Cloud mit NextcloudPi
Beitragsbild zum Projekt Eigene Cloud mit NextcloudPi

Nun ist er endlich da, der vierte Teil meiner kleinen Miniserie „Eigene Cloud mit NextcloudPi“.
Zuerst muss ich mich entschuldigen, dass dieser Teil so lange auf sich warten hat lassen. Das Projekt ist stark ins stocken geraten, denn die Performance des Raspberry Pi Zero lässt extremst zu wünschen übrig. Ganz klar, der Winzling ist einfach sehr schwach auf der Brust und die Festplatte hat sich als weiterer Flaschenhals erwiesen.
Da ich selbst eher Wert auf eine gute Performance lege und eigentlich nicht so lange warten möchte, bis ich endlich über das Internet auf meine Daten zugreifen kann, war ich nahe dran, das Projekt doch noch zu einem Ende zu bringen. Allerdings durch Abbruch des Projekts.
Dank eines Kommentars im dritten Teil möchte ich die eigene Cloud nun doch noch zu einem vernünftigen Ende bringen. Als Basis reicht der Zero gerade so aus und man kann ja immer noch mit einer SDD experimentieren. Müsste man mal sehen, ob das vielleicht dann ein wenig schnellere Zugriffszeiten mit sich bringt.

Aber nun endlich zum vierten Teil der Reihe, der Grundkonfiguration des Systems.

Übersicht des Projekts

  1. Einleitung zur Serie, Hardware und Software
  2. Aufbau der Hardware-Komponenten
  3. Installation der Software
  4. Konfiguration des Systems
  5. Projektabschluss
  6. Upgrade der Hardware
  7. Einkaufsliste Übersicht

Aktivieren von SSH

Um überhaupt erst mit SSH arbeiten zu können, muss die Funktion im System erst einmal aktiviert werden. Früher war dieser Schritt nicht nötig, unter Raspbian, auf dem NexcloudPi ja basiert, war SSH bereits von Haus aus betriebsbereit. Aus Sicherheitsbedenken wurde dies aber leider ab Raspbian Jessie (Debian 8) geändert und man muss an dieser Stelle noch mal selbst Hand anlegen.

Um nun SSH auf dem RaspberryPi Zero zu aktivieren gibt es zwei verschiedene Möglichkeiten, zum einen über einen Menüpunkt in der Pi-Konfiguration „raspi-config“ oder über den Windows Explorer, ggf über den Dateimanager seiner Wahl.

Da ich die zweite Methode insgesamt einfacher finde und wir von Anfang an verschlüsselt mit dem RasPi kommunizieren sollten, beschreibe ich hier auch nur diesen Weg.

Der USB-Stick mit der neu beschriebenen SD-Karte sollte noch am PC angesteckt sein. Dann einfach den Dateimanager öffnen und das Root-Verzeichnis der SD-Karte öffnen. Das ist im Manager leicht zu finden, unter den verfügbaren Laufwerken wird es als „Boot“ angezeigt. In diesem Verzeichnis wird nun eine neue Textdatei namens „ssh“ angelegt. Ganz wichtig: Die Datei darf keine Dateiendung, wie zum Beispiel .txt, besitzen.

Das war dann auch schon und unser RaspberryPi würde ab sofort mit SSH-Unterstützung starten. Tja, wenn da nicht noch das WLAN wäre 😉

NextcloudPi Teil 4: SSH aktivieren
SSH von Raspbian aktivieren

Konfiguration von WLAN

Abgesehen von der Aktivierung von SSH wäre es natürlich auch gut, vor dem ersten Start auch gleich WLAN zu konfigurieren.
Dafür legen wir im gleichen Verzeichnis wie die „ssh“-Datei eine weitere Datei an, die den Namen „wpa_supplicant.conf“ bekommt.

Jetzt gibt es für Raspbian zwei verschiedene Möglichkeiten dieser Datei, dabei kommt es auf das verwendete Grundsystem von NextcloudPi an.
Unter Raspbian „Jessie“ (Debian 8) sieht der Datei-Inhalt zur WLAN-Konfiguration so aus:

# Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Jessie)
network={
       ssid="wlan-bezeichnung"
       psk="passwort"
       key_mgmt=WPA-PSK }

Unter Raspbian „Stretch“ (Debian 9) sieht es dagegen ein wenig anders aus, die Konfigurationsdatei muss ein wenig erweitert werden:

# Datei wpa_supplicant.conf in der Boot-Partition (Raspbian Stretch)
country=DE  #omit if US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="wlan-bezeichnung"
       psk="passwort"
       key_mgmt=WPA-PSK }

Die aktuellste Version von NextcloudPi setzt übrigens auf Raspbian „Stretch“ (Debian 9) auf, daher gilt hier die zweite Methode für die Konfigurationsdatei. Die erste Möglichkeit gilt für alle anderen Nutzer, die vielleicht noch eine frühere Version der NextcloudPi Software verwenden. Allerdings empfehle ich hier, die aktuellste Version der Software herunterzuladen.

Sobald die Conf-Datei entsprechend angepasst wurde, kann die SD-Karte in den RasPi Zero eingesetzt werden.

Der erste Start des neuen Systems

Auf jeden Fall benötigen wir hier jetzt noch zusätzliche Hardware, denn die Grundkonfiguration des Systems muss natürlich auch noch angepasst werden, das setzt eine Tatstatur voraus. Besonders wenn das System nicht über PUTTY (oder in meinem Fall per MobaXTerm) konfiguriert werden solltr und via HDMI an einem Monitor hängt. Ich besitze für diesen Zweck eine kleine Mini-Tastatur, die Rii mini i8+ mit Bluetooth, die dafür vollkommen ausreicht. Wer noch eine vollwertige Tatstatur herum liegen hat, die geht natürlich auch.

NextcloudPi verwendet die gleichen Standard-Zugangsdaten wie das Basis-OS Raspbian.

NextcloudPi Teil 4: Tastatur Rii i8+
Tastatur Rii i8+
Username: pi
Passwort: raspberry

Aus Sicherheitsgründen MUSS das Passwort des Benutzers „pi“ mit dem Befehl sudo passwd pi geändert werden, alles andere wäre grob fahrlässig.

Was wir nun auf jeden Fall auch einmal ausprobieren können, ist das aufrufen der vom Router für den RasPi vergebenen IP-Adresse.
Wir bekommen zwar beim aufrufen der Website eine Fehlermeldung wegen der fehlenden Sicherheitszertifikate , aber der Zugriff auf Nextcloud klappt schon mal. Wer will, kann sich da schon mal im System umsehen und die eine oder andere Einstellung im Admin-Bereich machen.

Die Standard-Zugangsdaten für  NextcloudPi lauten:

Username: admin
Passwort: ownyourbits
NextcloudPi Teil 4: Erster Aufruf
Erster Aufruf der Benutzeroberfläche

Da mir die Arbeit an meinem Desktop-PC deutlich besser gefällt, habe ich mich für die nächsten Schritte mit der Software „MobaXTerm“ auf den RasPi verbunden und werde alle Konfigurationen auf diesem Weg vornehmen. Wie weiter oben schon einmal geschrieben, natürlich kann man den Minicomputer auch an einem Monitor verwenden und mit einer zusätzlichen Tastatur konfigurieren.

Wie man die Verbindung per PUTTY (oder ähnlicher Software) herstellt, werde ich demnächst in einem eigenen Beitrag auf meinem Blog erklären. Das erleichtert mir in Zukunft die Erklärung, da man diese Prozedur immer wieder mal benötigt und ich meine Artikel dann einfach nur noch darauf verlinken brauche.

NextcloudPi Teil 4: MobaXTerm
Konfiguration mit PUTTY oder MobXTerm

Grundeinstellungen von NextcloudPi

Für die Grundeinstellung setzt NextcloudPi auf ein ähnliches Programm wie Raspbians Raspi-Config (sudo raspi-config). Mit sudo nextcloudpi-conftig wird das zentrale NPi Konfigurations-Werkzeug aufgerufen. Beim ersten Aufruf kann es einen Hinweis auf eine neuere Version der Software geben, das wird natürlich mit „Yes“ bestätigt. Nach dem Update startet das Tool von alleine neu und unser System kann nun konfiguriert werden.

Soll NextcloudPi nur innerhalb des eigenen Netzwerks als Netzspeicher funktionieren, braucht man fast nichts weiter zu tun. Aufwendiger wird es natürlich, wenn von außerhalb auf den RasPi zugegriffen werden soll. Leider wird es an dieser Stelle für die Tutorial-Reihe ein klein wenig zu komplex, da der Aufwand sich hier sehr unterscheiden kann.

Dennoch möchte ich noch mal kurz darauf eingehen.
Um aus dem Internet auf das System mit der hervorragenden Nextcloud-App zuzugreifen, wird eine DynDNS-Domain benötigt.
Doch was ist überhaupt eine DynDNS-Domain?

In den meisten Fällen verursacht der Internetprovider regelmäßig eine Zwangstrennung, um den eventuellen Betrieb von zum Beispiel eines Firmenservers an einem DSL-Privatanschluß zu erschweren. Aus diesem Grund braucht man eine dynamische DNS-Domain, diese wird im Router konfiguriert. Sobald dem Router durch den Provider eine neue IP-Adresse zugeteilt wird, sendet er diese an den DynDNS-Dienst und aktualisiert damit die hinterlegten Daten. Dadurch ist es dann möglich, dass man seine eigene Internetadresse, wie zum Beispiel nextcloud.example.com, eingibt und automatisch auf die richtige IP des eigenen Routers umgeleitet wird.

Zum Abschluß wird dann doch eine Portumleitung innerhalb des Routers benötigt. So sollten die Ports 80 und 443 intern auf die RaspberryPi-Adresse umgeleitet werden. Wenn alles richtig konfiguriert wurde, dann sollte man von außerhalb per Smartphone-App auf den Miniserver zugreifen können.

Die Wahl eines DynDNS-Dienstes bleibt jedem selbst überlassen und ich kann hier leider keine richtige Empfehlung für einen solchen Dienst geben. Meine Website „couchpirat.de“ liegt auf den Servern des Providers „All-Inkl.com„, dieser bietet mir auch einen kostenlosen DynDNS-Dienst zum Webpaket an. Wer sich also eine eigene Domain nur für diesen Zweck zulegen möchte, der ist mit All-Inkl gut beraten. DynDNS lässt sich sauber und einfach konfigurieren, auch die Einrichtung in der Fritz-Box läuft problemlos.

Sollte nun doch jemand überhaupt nicht mit der DynDNS-Konfiguration zurecht kommen, dann schreibt das bitte in die Kommentare. Vielleicht lasse ich mich doch noch dazu hinreißen, einen eigenen Beitrag (allerdings eingeschränkt auf All-Inkl und die FritzBox, alles andere wird zu komplex) zu diesem Thema zu schreiben.

Jetzt aber noch einmal zurück zur Grundkonfiguration.
Dazu rufen wir mit „sudo raspi-config“ das Konfigurationstool des RaspberryPi auf und machen dort noch ein paar Einstellungen.

NextcloudPi Teil 4: Konfigurationstool
NextcloudPi Konfigurationstool
Change User Password: Neues Passwort für pi setzen, falls noch nicht geschehen
Localisation Options: Region und Zeitzone ändern (Regioncode de_DE.UTF-8 UTF-8)

Aus dem Konfigurationstool heraus kann man nun auch zur NextcloudPi-Konfigiration wechseln.

nc-automount: Nach einem Neustart soll die Festplatte automatisch im System eingebunden werden
nc-autoupdate-ncp: Automatische Updates aktivieren
ns-database: Die Datenbank auf ein angeschlossenes USB-Laufwerk verschieben
ns-datadir: Die gespeicherten Inhalte auf ein angeschlossenes USB-Laufwerk verschieben
nc-format-USB: Zum formatieren der angeschlossenen USB-Festplatte
nc-httpsonly: Im lokalen Netz kann man das auch deaktivieren, dann ruft man die Seite mit http an Stelle https auf. Bei externem Zugriff unbedingt zu vermeiden.
spDYN: Kostenloser DynDNS-Anbieter, kann man auf jeden Fall mal ausprobieren
letsencrypt: Kostenloses SSL-Zertifikat für verschlüsselte Verbindungen. Bei externem Zugriff unbedingt zu empfehlen.

Ganz wichtig beim Betrieb des RaspberryPi als Server im Netz: Auf euch kommt jede Menge Arbeit zu.
Da der Server nun offen im Netz hängt, ist es unbedingt nötig, weitere Absicherungsmaßnahmen zu treffen und das System ständig auf einem aktuellen Stand zu halten. Dazu gehören zum Beispiel die Absicherung von SSH oder eine Firewall, wie zum Beispiel hier und hier im Root-Server Tutorial beschrieben (Video ansehen!). Auch der Einsatz von Fail2Ban ist durchaus empfohlen, in Nextcloud-Config gibt es sogar einen eigenen Punkt dafür.

Das wären ein paar der sehr wichtigen Einstellungen von NextcloudPi, die anderen Punkte sollte man sich unbedingt mal ansehen. Dabei merkt man recht schnell, ob man diese Einstellungen benötigt oder nicht.

Wenn man mit der Konfiguration soweit fertig ist, kann man sich nun bei Nextcloud anmelden und dort im Benutzerbereich weitere Einstellungen vornehmen, neue Benutzer anlegen usw.

Meine letzten Worte zu Teil 4

Die Grundlegende Installation ist nun abgeschlossen und die eigene Cloud sollte problemlos einsetzbar sein.
Wie ich bereits Eingangs erwähnte, das System ist wirklich arg langsam und bietet bestimmt die eine oder andere Optimierungsmöglichkeit. Insbesondere der Einsatz einer SSD wäre zu überlegen, das sollte die Cloud noch ein wenig schneller reagieren lassen.

Letzten Endes fehlt eben, wie oben bereits beschrieben, nun nur noch die Konfiguration des Routers, um auch von außen auf NextcloudPi zugreifen zu können. Da aber jeder Router anders ist, müsste jeder selbst sehen, wie man eine VPN-Verbindung aufbaut und Zugang zur eigenen Cloud erlaubt.

Im nächsten Teil schreibe ich noch etwas zu den Erfahrungen mit dieser Cloud-Lösung und schließe dann das Projekt fürs erste ab.

Auf jeden Fall vielen Dank fürs lesen und ich würde mich wirklich sehr über Kommentare und Verbesserungsvorschläge freuen.

Bis bald und noch einen schönen restlichen Sonntag,
Arrr!… Michael, der Couchpirat

Übersicht des Projekts

  1. Einleitung zur Serie, Hardware und Software
  2. Aufbau der Hardware-Komponenten
  3. Installation der Software
  4. Konfiguration des Systems
  5. Projektabschluss
  6. Upgrade der Hardware
  7. Einkaufsliste Übersicht

2 Antworten

  1. Taner sagt:

    Wie verbindest du denn deine Tastatur, wenn das System sofort ein passwort verlangt?

    • Hallo 🙂
      Die Rii-Tastatur besitzt einen kleinen USB-Dongle, den man bequem im inneren der Tastatur aufbewahren kann. Das schöne an der Tastatur: sie funktioniert sofort ab einstecken des Dongles und ohne Treiberinstallation.

      Viele Grüße,
      Michael

Schreibe einen Kommentar zu Taner Antworten abbrechen

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

DerCouchpirat