In diesem Beitrag erkläre ich Dir Schritt für Schritt wie Du aus deinem Raspberry Pi einen CloudServer machst.
NextCloud Installation Schritt für Schritt:
- Mit dem RasPi verbinden
Eine Verbindung via SSH zu dem RaspberryPi herstellen und den RasPi auf den aktuellen Stand bringen.
-
- Beim MAC geht das sehr einfach über das TerminalFenster, bei einem Windows PC benötigen wir ein Programm wie z.B.: Putty
- Wir bringen den RasPi auf den neusten Stand. Das geht mit:
sudo apt-get update
und wenn das abgeschlossen ist weiter mit
sudo apt-get upgrade
- SNAP installieren
Die Paketverwaltung SNAPD wird mit dem Befehl installiert:
sudo apt install snapd - Neustart
RasPi Neustarten mit:
sudo reboot - NextCloud installieren
Jetzt NextCloud vie snap installieren:
sudo snap install nextcloud - Ext.Laufwerk als Speicher vorbereiten
Als nächstes wird die Festplatte/USB-Stick angeschlossen und eingerichtet. Das soll dann später Euer CloudSpeicher werden.
-
- Festplatte / USB-Stick an den RasPi anschließen
- Mit den Befehl: ls -l /dev/sd* lasst Ihr euch die Festplatte/USB-Stick anzeigen
- Ihr solltet als Ergebnis „ /dev/sda und /dev/sda1 „ angezeigt bekommen. (Wobei sda das Laufwerk als Hardware ist und sda1 die Partition, die wir ja auch benutzen wollen)
- Nun müssen wir die Partition noch formatieren:
sudo mkfs.ext4 /dev/sda1
- Laufwerk „mounten“
In diesem Punkt geht es um das mounten des Laufwerkes, so das ihr euer Laufwerk in Zukunft unter /media/…/LaufWerkName finden werdet.
#Ein Laufwerk (sda1) mounten als „LaufwerkName“ (Hier ein USB-Stick mit dem Namen „USB128GB“ als Beispiel)
sudo mount /dev/sda1/media/USB128GB
Das bleibt allerdings nur bis zum nächsten „reboot“ bestehen und muss dann jedesmal manuell wiederholt werden.
Um das zu vermeiden, tragen wir das Laufwerk mit seiner eindeutigen Kennung die Datei „fstab“ ein.
#Die UUID des Laufwerks ermitteln
Die UUID (Universally Unique Identifier) ist eine eindeutige Kennen des Laufwerkes. Mit dem nachfolgenden Befehl könnt ihr sie für das passende Laufwerk auslesen.
sudo blkid /dev/sda1
#Die UUID vom einem 128GB USB-Stick als Beispiel
Beispiel UUID: f113d84b-3c55-4541-b574-253803019826
#Die Datei „fstab“ öffnen und das Laufwerke/die UUID eintragen (unter den Kommentaren)
Die Datei mit dem Editor öffnen
sudo nano -Bw /etc/fstab
#Der String der in die „fstab“ eingetragen wir schaut so aus:
UUID=f113d84b-3c55-4541-b574-253803019826 /media/pi/USB128GB/ ext4 defaults 0
UUID= „Die UUID die wir oben ermittelten“ /Pfad zum Mount-Laufw./ Dateisystem default 0
Es funktioniert auch das AutoMount benutzen.
Also immer dann, wenn ihr ein Laufwerk anschließt, wir es eh von eurem RasPi gemounted und erscheint als Icon auf dem Desktop. Ihr findet es dann unter dem Pfad:
/media/pi/LaufWerkName
In diesem Fall könnt ihr diesen Punkt überspringen und mit Punkt 7 weiter machen.
Das Laufwerk muss allerdings immer im gleichen USB-Port stecken. Es ist allerdings nur einen provisorische Lösung - Dateiverzeichnis bestimmen
Jetzt wollen wir Nextcloud sagen wo es die Daten speichern soll, also auf unserem Laufwerk. Dazu müssen wir die Datei autoconfig.php anpassen. Das machen wir mit diesem Befehl:
sudo nano /var/snap/nextcloud/current/nextcloud/config/autoconfig.php
In der Datei müssen wir folgende Zeile ersetzen:
‘directory’ => getenv(‚NEXTCLOUD_DATA_DIR’),
durch
‘directory’ => ‚/dev/pi/laufWerkName‘,
oder
‘directory’ => ‚/dev/laufWerkName‘,
Nun noch fix den Server neu-starten mit:
sudo snap restart nextcloud.php-fpm - Admin einrichten – Der erste Aufruf
Geht jetzt mit Eurem Browser auf die IP eures RasPis. Dort erscheint euch dann die Oberfläche zum letzten Schritt der Installation der Nextcloud. Hier wird der Admin angelegt.
Gebt jetzt bitte euer gewünschten Admin-Benutzernamen und das Admin-Kennwort ein.
Dann auf Installation Abschließen klicken. Es kann mehrere Minuten dauern, also keine weibische Hast. - Den Zugriff von Aussen auf den RasPi/Nextcloud im Router freigeben.
Wenn Ihr keinen DSL mit fester IP habt, richtet Euch einen DynDNS ein. - Portfreigabe
Ihr müsst noch eine Freigabe auf euren RasPi für Port: 80 und 443 einrichten
- SSL und Certificate – Einrichten mit Let’s Encrypt
Um das zu machen müssen wir erst mal die „Preload-Files“ deaktivieren. Dazu gehen wir in die Datei mit dem Befehl:
sudo nano /etc/ld.so.preload
Dort einfach die Zeile /usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so mit einem # am Anfang der Zeile aus kommentieren. – Speichern
-
- Nun als erstes eine weitere Sichere-Domain bei Nextcloud eintragen. Das geht mit dem Befehl:
sudo /snap/bin/nextcloud.occ config:system:set trusted_domains 2 –value=cloud.domain.com
!!! cloud.domain.com – bitte durch Eure externe Domain ersetzen !!!
Die 2 hinter dem …_domains gibt an, an welchem Platz in der Liste die Domain jetzt eingetragen werden soll. Platz 1 ist vergeben für die lokale-IP. Also kommt unsere Domain/DDNS auf Platz 2.
Jetzt noch den Apache-server neu starten:
sudo snap restart nextcloud.apache - Certificate mit Let’s Encrypt bekommen wir mit einem ganz einfachen Befehl:
sudo /snap/bin/nextcloud.enable-https lets-encrypt
Nachdem Ihr den Befehl abgeschickt habt, müsst ihr noch ein paar Sachen bestätigen bzw. Ausfüllen.- Das ihr gelesen habt und das Port 80 und 443 offen sind
- Email-Add
- Die Domain (Eure Externe, über die die Cloud erreichbar ist, IP geht nicht)
- Nun als erstes eine weitere Sichere-Domain bei Nextcloud eintragen. Das geht mit dem Befehl:
Fertig!!!
Nextcloud Updates installieren: sudo snap refresh nextcloud
Nextcloud Update rückgängig machen: sudo snap revert nextcloud
Find more at GitHub: https://github.com/nextcloud/nextcloud-snap