Haben Sie sich schon einmal gefragt wie es wäre, seinen eigenen Cloud-Server zu besitzen und somit nicht von großen Anbietern abhängig zu sein? Für ziemlich genau 60 € und mit ein bisschen Geduld können Sie sich diese Frage selbst beantworten.
Was benötige ich?
Die Basis unseres kleinen Projektes bilden ein Raspberry Pi in Verbindung mit einer externen Festplatte. Seit nunmehr sieben Jahren erfreut sich der minimalistische Einplatinen-Computer größter Beliebtheit und dient als Ausgangspunkt für zahlreiche Bauvorhaben in der Technik-Welt. Keine Angst, da es sich um ein reines Softwareprojekt handelt, können Sie den Lötkolben im Schrank lassen und benötigen keine sonstigen Kenntnisse auf dem Gebiet der Elektrotechnik.
Genauer gesagt verwende ich einen Raspberry Pi 3B+*, da der Raspberry Pi 4 bei der Entstehung dieses Artikels noch nicht verfügbar war. Das Gerät verfügt auf der Oberseite über vier USB-2 Schnittstellen, einen LAN-Anschluss, einen Mikro USB-Port zur Stromversorgung, sowie eine HDMI und Audio Schnittstelle. Des weiteren kann der Raspberry Pi 3B+ mit 2,4 Ghz und 5 GHz WLAN-Netzwerken kommunizieren und ist zusätzlich mit dem Bluetooth Standard 4.2/BLE ausgestattet. Das Herzstück bildet eine 1,4 GHz ARM Cortex-A53 Quad-Core-CPU im Zusammenspiel mit 1 GB DDR2 RAM.
Auf der Unterseite befindet sich ein Einschub für Micro-SD Karten. Diese werden benötigt, da der kleine Einplatinen-Computer über keinen eigenen Flash-Speicher verfügt und das Betriebssystem-Image somit direkt von der Micro-SD Karte bootet. In meinem Fall kommt eine 32 GB Micro-SDHC Speicherkarte von Samsung* zum Einsatz. Sie können jedoch auch ein vergleichbares Modell der Größenordnungen 8 oder 16 GB nehmen, was bei den heutigen Speicherpreisen im Grunde genommen völlig unerheblich ist.
Damit der kleine Power-Zwerg ausreichend vor äußeren Einflüssen geschützt ist, benötigt er zusätzlich ein entsprechendes Gehäuse. Ich habe mich für ein Gehäuse entschieden, welches den Pi nicht nur ausreichend schützt, sondern auch noch weitere Vorteile mit sich bringt. Aufmerksamen Lesern ist vielleicht schon aufgefallen, dass der Pi keinen Powerknopf oder eine aktive Kühlung besitzt. Hier schafft das Gehäuse-Paket des Herstellers Miuzei* Abhilfe. Neben dem Gehäuse sind im Lieferumfang ein passendes Netzteil mit einem Powerschalter, sowie diverse Kühlkörper und ein kleiner Lüfter enthalten. Sollten Sie das Netzteil einzeln kaufen, so ist darauf zu achten, dass das Netzteil über einen Output von mindestens 5V verfügen sollte. Die über die USB-Ports angeschlossenen Komponenten (in unserem Fall die externe Festplatte) werden nämlich passiv mit Strom versorgt, was bei einem schwachen Netzteil zu erheblichen Problemen führt.
Last, but not least: Die externe Festplatte. Glücklicherweise besitzen aufgrund der niedrigen Speicherpreise die meisten Menschen ein solches Gerät, sodass Sie höchstwahrscheinlich kein zusätzliches Geld investieren müssen. Hier kann jede beliebige Art von externer Festplatte zum Einsatz kommen. Die Größe der Festplatte ist natürlich deckungsgleich mit der Größe unseres späteren Cloud-Speichers.
Umsetzung Teil 1 (lokal)
Nachdem Sie den Raspberry Pi ordnungsgemäß in das entsprechende Gehäuse eingebaut haben, benötigen wir ein passendes Betriebssystem-Imgage, welches wir direkt auf unsere Micro-SD Karte schreiben können.
Als Betriebssystem-Image kommt eine Lösung des Open-Source Projektes „NextCloudPi“ zum Einsatz. Das bereits vorkonfigurierte Image kann entweder als „.tar“ oder als „torrent“ heruntergeladen und anschließend entpackt werden.
Damit das Image korrekt auf die Micro-SD Karte übertragen wird, benötigen wir ein speziell für solche Zwecke konstruiertes Programm. Ich empfehle den Einsatz von Rufus, alternativ können Sie aber auch Programme wie Etcher oder den Win32 Disk Imager verwenden. Das Prozedere ist dabei immer gleich:
Zunächst verbinden Sie die Micro-SD Karte mit ihrem PC und starten eines der drei zuvor genannten Programme (in meinem Fall Rufus).
Dort wählen Sie die Micro-SD Karte als „Laufwerk“ und das heruntergeladene Image unter dem Punkt „Auswahl“ aus. Anschließend klicken Sie auf Start und Rufus übernimmt alle weiteren Prozesse automatisch.
Sobald der Vorgang abgeschlossen ist, können Sie eine leere Datei ohne Dateiendung mit dem Namen „SSH“ erstellen und diese ebenfalls auf die Micro-SD übertragen. So können Sie später auch per SSH (z. B. Mit Putty) auf den Pi zugreifen. Jetzt können Sie die Micro-SD Karte auswerfen und in den Raspberry Pi stecken.
Anschließend verbinden Sie das Gerät mit ihrem Router. Ich empfehle eine Verbindung per LAN, da diese deutlich stabiler und weniger störanfällig als eine WLAN Verbindung ist. Der Pi sollte nun in der Netzwerkübersicht des Routers auftauchen.
Damit das Gerät eine statische IP Adresse erhält, muss noch ein entsprechender Haken gesetzt werden:
Ab jetzt kann ihr eigener Cloud-Server lokal über die entsprechende IP Adresse aufgerufen und konfiguriert werden. Dazu kopieren Sie einfach die IP Adresse in die Adresszeile ihres Browsers und ignorieren die Sicherheitswarnungen. Nach einer entsprechenden Ersteineichrichtung kann sowohl lokal, als auch von außerhalb des Netzwerks sicher auf den Server zugegriffen werden.
Sofern Sie dieses Fenster sehen, haben Sie alles richtig gemacht.
Die beiden zufallsgenerierten Passwörter sollten Sie sich unbedingt notieren, da diese für die spätere Konfiguration benötigt werden. Anschließend klicken Sie auf „Activate“ und ignorieren die erneute Sicherheitswarnung ihres Browsers.
Nun werden Sie aufgefordert sich zu authentifizieren:
Der Benutzername ist immer „ncp“ für NextCloudPi. Als Passwort kommt das erste der beiden Passwörter zum Einsatz, welches Sie sich hoffentlich zuvor notiert haben ;-).
Der Server begrüßt Sie mit einer Willkommensnachricht und bietet einen „First Run“ an. Dieses Angebot sollten Sie unbedingt annehmen. Jetzt können Sie die externe Festplatte mit dem Raspberry Pi verbinden und zum Reiter „USB Configuration“ wechseln. Die anschließende Frage bestätigen Sie mit „Yes“ und klicken danach auf „Continue“. Abschließend formatieren Sie die externe Festplatte mit Hilfe des „Format USB Buttons“.
Den Reiter „External access“ überspringen wir an dieser Stelle und klicken sofort auf den letzten Reiter „Finish“.
Der Server ist nun im lokalen Netzwerk einsatzbereit und kann über die IP Adresse oder https://nextcloudpi aufgerufen werden. Als Anmeldedaten dienen der Benutzername „ncp“ und das zweite Passwort, welches Sie sich bei der Einrichtung notiert haben. Die Anmeldung kann beim ersten Mal etwas länger dauern.
Umsetzung Teil 2 (Fernzugriff)
Als nächstes muss der Cloud-Server für den Fernzugriff konfigurieren werden. Dazu nutzen wir einen DNS-Dienst im Zusammenspiel mit zwei Portfreigaben in unserem Router.
Beginnen wir mit den Portfreigaben. Dazu wechseln wir im Router-Dashboard zum Punkt Freigaben, wählen den Nextcloudpi als Gerät aus und klicken auf „Neue Portfreigabe“.
Anschließend wählen wir HTTP-Server aus und stellen fest, dass automatisch Port 80 ausgewählt wurde. Der 80er Port ist in diesem Fall optional, weil wir natürlich nur verschlüsselt, also durch den 443er Port auf unsere Cloud zugreifen möchten.
Also speichern wir das ganze und klicken erneut auf den Punkt „Neue Freigabe“. Diesmal wählen wir als Anwendung „Andere Anwendung“ und als Protokoll „TCP“ aus. Der Port ist in diesem Fall natürlich der 443er. Nachdem wir alles bestätigt haben, müssen beide Ports in den Einstellungen grün leuchten. Eventuell müssen Sie in der Geräteübersicht noch einen Haken bei „Exposed Host“ setzen.
Weiter geht es mit der Konfiguration unseres DNS-Dienstes. Dazu wechseln wir im Router wieder zum Punkt „Freigaben“. Dort wechseln wir zum Reiter „DynDNS“ und setzen einen Haken bei „DynDNS benutzen“. Bei der Auswahl der Dienste haben Sie die freie Auswahl. Ich würde aufgrund des kostenlosen Angebots allerdings zum Gebrauch von No-IP.com raten.
Also wechseln wir auf https://www.noip.com und erstellen uns einen kostenlosen Account mit Angabe einer eigenen Domain.
Nachdem wir uns einen passenden Benutzernamen erstellt haben, wechseln wir zurück in die Router-Übersicht und tragen unsere Daten in das eben geöffnete DynDNS Fenster ein.
Ist dieser Schritt erledigt, wechseln wir zurück in die Konfigurationsseite des Nextcloud Pi. Dort navigieren wir zum Punkt „Networking“ und klicken jetzt auf „letsencrypt“ Nun tragen wir alle Daten ein, welche wir aus der DynDNS Konfiguration kennen und klicken abschließend auf „Apply“.
Ist das Zertifikat grün, war der Vorgang erfolgreich. Die Cloud kann nun auch von außerhalb des Netzwerks über die festgelegte Domain aufgerufen werden. Darüber hinaus können über das UI der Cloud weitere Benutzer hinzugefügt werden.
Abschließend
Aus Sicherheitsgründen empfehle ich das zusätzliche Anlegen eines VPN-Fernzugangs innerhalb des Routers. Das muss an dieser Stelle allerdings jeder für sich selbst entscheiden.
Ich hoffe, dass Ihnen dieser kurze Ausflug in die Welt der Netzwerke gefallen hat. Über ein kurzes Feedback würden wir uns natürlich freuen!
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Das bedeutet bei einer Bestellung bleibt für Dich der Preis gleich und ich erhalte eine Werbekostenerstattung. Alle Links zu Amazon sind mit einem * gekennzeichnet.