Die eigene Cloud mit dem Raspberry Pi und Nextcloud

In diesem Beitrag zeige ich euch wie ihr euch eine eigene Cloud mithilfe des Raspberry Pi, Nextcloud & Let’s Encrypt baut. Ihr benötigt außerdem eine DynDNS Domain. Ich empfehle euch spdyn.de und werde es auch anhand von diesem zeigen.


Zum Inhalt springen:


Was ist der Raspberry Pi?

Der Raspberry Pi ist ein Einplatinencomputer (englisch: Single Board Computer (kurz SBC)), welcher von der britischen Raspberry Pi Foundation entwickelt wird. Er enthält einen System on a Chip (kurz SoC) von Broadcom mit einem ARM-Mikroprozessor. Die Maße der Raspberry Pi Modelle A, B, B+, 2 B und 3 B entsprechen in etwa den Abmessungen einer Kreditkarte (93,0 mm x 63,5 mm). Das Modell A+ und der Raspberry Pi Zero sind mit 70,4 mm x 57,2 mm (Modell A+) und 65,0 mm x 31,2 mm (Zero) kleiner, (Alle Maße Länge x Breite der Gesamtgröße).

Der Raspberry Pi 3 B ist das aktuellste Modell aus der Raspberry Pi Familie, welcher am 29. Februar 2016 vorgestellt wurde (zuvor gab es Leaks) und besitzt einen auf ARMv8 basierenden Broadcom BCM2837 mit implementierten Cortex-A53-Cores. Der verwendete SoC besitzt 4 Kerne, taktet mit 1,2 Gigahertz und ist 64-Bit fähig. Desweiteren besitzt der Raspberry Pi 3 B einen Gigabyte Arbeitsspeicher. Als erstes Modell der Raspberry Pi Familie besitzt der Raspberry Pi 3 B erstmals WLAN nach dem IEEE 802.11n Standard (nur 2,4 GHz Band) und Bluetooth 4.1 Low Energy.

Desweiteren gibt es für den Raspberry Pi mittlerweile einige Betriebssysteme: Raspbian (alle Modelle), Ubuntu MATE, Lubuntu, Xubuntu, Ubuntu Server (nur Modell 2 B und 3 B), Windows 10 IoT Core (ebenfalls nur Modell 2 B und 3 B, Installation über Noobs oder Windows Anwendung (benötigt einen Computer mit Windows 10 Home oder Windows 10 Pro)), Android Things (nur Modell 3 B). Für den Einsatz als Media Center gibt es OSMC (Open Source Media Center, Nachfolger von Raspbmc), LibreELEC und openELEC (jeweils für alle Modelle). Windows 10 IoT Core und Android Things sind für den Einsatz im Internet of Things (kurz IoT) vorgesehen.

Die Raspberry Pi Community ist die größte Community für Einplatinencomputer. Nach dem großen Erfolg des Raspberry Pi kamen eine Reihe ähnlicher Einplatinencomputer auf den Markt. Der Raspberry Pi war ursprünglich zur Nutzung als Schulrechner vorgesehenen.


Was ist Nextcloud?

Nextcloud wurde am 2. Juni 2016 von ownCloud Erfinder Frank Karlitschek gestartet, um den Nutzern die Kontrolle über ihre Daten und ihre Kommunikation zu ermöglichen. Frank Karlitschek verließ ownCloud 5 Wochen zuvor aufgrund von Meinungsverschiedenheiten über den Kurs von ownCloud.  Das Projekt beschreibt sich selbst als „Die nächste Generation von Enterprise File Sync & Share“. Es bietet einige Funktionen, welche von ownCloud nur in der Enterprise-Version angeboten werden. Nextcloud steht unter der GNU Affero General Public License, eine Lizenz für Freie Software mit Copyleft, welche das ASP-Schlupfloch der GNU General Public License (GPL) schließt.  Die AGPL schließt das ASP-Schlupfloch, indem sie auch den Anwendern, welche die Software über ein Netzwerk nutzen, eine Downloadmöglichkeit für den Quelltext garantiert. Die Free Software Foundation  favorisiert die Verwendung der GNU Affero General Public License gegenüber der GNU General Public License.


Was ist Let’s Encrypt?

Let’s Encrypt  (Lasst uns verschlüsseln) ist eine Zertifizierungsstelle, welche von der  Electronic Frontier Foundation, University of Michigan  und Mozilla gegründet wurde, die Ende 2015 in Betrieb gegangen ist und kostenlose X.509-Zertifikate für Transport Layer Security (TLS) anbietet. Dabei ersetzt ein automatisierter Prozess die bisher gängigen Vorgänge bei der Erstellung, Validierung, Signierung, Einrichtung und Erneuerung von Zertifikaten für verschlüsselte Websites.


Einkaufsliste:


Raspbian herunterladen und auf die SD-Karte schreiben:

Ladet euch hier das Image von Raspbian Lite herunter. Um das Image auf die SD-Karte zu schreiben könnt ihr das Programm Etcher verwenden. Linux und macOS Benutzer können auch selbstverständlich dd hierfür verwenden und Windows Benutzer können auch das Programm Win32 Disk Imager verwenden.

Wählt zuerst das Image, dann das Laufwerk und klickt dann auf Flash! Ihr werdet nach eurem Passwort gefragt. Alle Daten werden von der SD-Karte gelöscht!

Ihr seht am Prozentbalken wie weit das Image schon geschrieben wurde. Wenn das Image erfolgreich geschrieben wurde, erhaltet ihr folgende Meldung:


Die ganze SD-Karte nutzen und das Passwort des Benutzers pi ändern:

Steckt nun die SD-Karte in den Raspberry Pi, schließt das LAN-Kabel an und gebt ihm Strom. Nach ein paar Sekunden könnt ihr euch über SSH anmelden. Windows-Benutzer benötigen hierfür das Tool PuTTY.

Unter Linux/macOS:

ssh pi@raspberrypi

Das Passwort ist raspberry. 

Unter Windows:

Wie bereits gesagt benötigt ihr als Windows Nutzer das Tool PuTTY.

putty

 

Bei Host Name gebt ihr raspberrypi ein. Es ist sinnvoll bevor ihr unten auf Open klickst, dass ihr bei Saved Sessions Raspberry Pi oder etwas dergleichen eingebt und auf Save klickst. Das macht euch bei häufigen Zugriff via SSH auf euren Raspberry Pi das Leben ein bisschen einfacher.

Nun werdet ihr nach Login und Passwort gefragt.

  • Benutzername: pi
  • Passwort: raspberry

Nun seit ihr auf der Konsole/dem Terminal. Die Konsole/der Terminal ist vergleichbar mit der Windows Eingabeaufforderung.

Das Passwort solltet ihr als erstes ändern. Dies geht mit dem folgendem Befehl:

passwd pi

Danach wird der komplette Speicherplatz der SD-Karte eingerichtet.

sudo raspi-config

Über die Option Expand Filesystem erweitert ihr die SD-Karte.

raspi-config

Anschließend muss neugestartet werden.


Den Raspberry Pi auf den neusten Stand bringen:

sudo apt update
sudo apt upgrade

Nextcloud installieren:

Nun installieren wir Nextcloud auf dem Raspberry Pi:

sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear php-apcu php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite mysql-server mysql-client php5-mysql phpmyadmin -y

Ihr könnt entweder eine SQLite oder eine MySQL-Datenbank für Nextcloud verwenden. Wenn mehrere Benutzer oder größere Dateien auf dem Pi gehostet werden sollen, solltet ihr MySQL verwenden. Für MySQL und phpmyadmin muss zwei Mal ein sicheres Root Passwort vergeben werden.

Wie ihr eine Datenbank für Nextcloud in phpmyadmin anlegt zeige ich euch im Abschnitt „Datenbank für Nextcloud in phpmyadmin anlegen

Solltet ihr SQLite statt MySQL verwenden dann könnt ihr MySQL und phpmyadmin mit folgenden Befehlen entfernen:

sudo apt-get purge mysql-server mysql-client php5-mysql phpmyadmin -y

sudo apt-get autoremove --purge -y

sudo apt-get autoclean

Nun geht es an die Installation von Nextcloud:

cd /var/www/

sudo wget https://download.nextcloud.com/server/releases/latest.zip

sudo unzip latest.zip

sudo rm latest.zip
sudo chown -R www-data:www-data /var/www/nextcloud

Datenbank für Nextcloud in phpmyadmin anlegen

Wenn ihr MySQL verwenden möchtet, müsst ihr über http://ip-eures-raspberrypi/phpmyadmin eine Datenbank für Nextcloud erstellen.

Gebt den Benutzernamen root und das bei der Installation von MySQL vergebene Passwort ein.

Klickt links auf Neu

Gebt als Name für die Datenbank nextcloud ein und klickt auf „Anlegen


DynDNS Domain bei  spdyn.de

Registriert euch zuerst bei spdyn.de und fügt über euer Profil bei Hosts von Benutzer einen IPv4 Host hinzu.

Gebt bei 1. einen Hostnamen ein. Diesen könnt ihr selbst wählen. In diesen Beispiel habe ich meinrpi als Hostnamen gewählt. Bei 2. habt ihr einige Domains zur Auswahl. Ihr müsst bei 3. noch ein CAPTCHA bestätigen. Mit einem Klick auf 4. „Host hinzufügen“


spdns Dynamic DNS Update-Client installieren:

Nun richten wir den spdns Update Client ein. Der Client sollte auch mit den alternativen Dynamic-DNS Anbietern funktionieren.

cd

wget http://my5cent.spdns.de/wp-content/uploads/2014/12/spdnsUpdater_bin.tar.gz

tar -zxvf spdnsUpdater_bin.tar.gz

sudo mv spdnsu.conf /etc/

sudo mkdir updater

sudo mv spdnsu updater/

sudo chmod u+x updater/spdnsu

sudo chown -R pi:pi /home/pi/updater/

rm spdnsUpdater_bin.tar.gz

Anschließend müsst ihr mit sudo nano /etc/spdnsu.conf die Datei /etc/spdnsu.conf anpassen. Dort müsst ihr anpassen:

  • Host
  • Username
  • Passwort  (falls ihr über die Webseite einen Token generiert habt müsst ihr diesen statt des Passwortes eintragen)
sudo crontab -e

Dort einfügen:

*/10 * * * * /home/pi/updater/spdnsu

Testen, ob alles funktioniert:

./updater/spdnsu

Eure IP-Adresse findet ihr in der Datei /tmp/spdnsuIP.cnf

cat /tmp/spdnsuIP.cnf

Beispielausgabe:

currentIP=111.222.333.444

Portfreigaben einrichten:

Anschließend müsst ihr zwei Portfreigaben einrichten. Eine für den Port 80 und eine für den Port 443. Ich zeige das hier mit einer AVM FRITZ!Box 7490

Meldet euch unter fritz.box auf eurer FRITZ!Box an und geht auf Internet > Freigaben

pf-fb

pf-fb2

pf-fb3


Let’s Encrypt herunterladen und Zertifikat erstellen:

Jetzt geht’s ans Zertifikat. Hinweis: Es kann sein dass Let’s Encrypt euch sagt das bereits zu viele Zertifikate für diese Domain, in diesem Fall spdyn, ausgestellt worden sind. Sollte dies der Fall sein, dann probiert diesen Abschnitt am folgenden Wochenanfang, sprich Monat erneut. Dies kommt auch bei anderen DynDNS-Anbietern vor.

sudo a2enmod ssl

sudo a2enmod headers

sudo service apache2 restart

sudo apt install git -y

cd /etc

sudo git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

sudo ./letsencrypt-auto

Hier müsst ihr eure DynDNS Domain eingeben. Let’s Encrypt erledigt den Rest von selbst.


Let’s Encrypt Zertifikat automatisch erneuern:

Das Zertifikat von Let’s Encrypt läuft nach 3 Monaten ab.  Aber man kann sein Zertifikat automatisch erneuern lassen

Als erstes muss die cli.ini im Ordner /etc/letsencrypt erstellt werden:

sudo nano /etc/letsencrypt/cli.ini

Dort einfügen:

rsa-key-size = 4096
text = True
redirect = True
renew-by-default = True
agree-tos = True
email = mail@domain.tld

mail@domain.tld ist mit einer validen Mail-Adresse zu ersetzen. Mit Strg + O, Enter & Strg +X speichert ihr die Datei.

sudo /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default -a webroot --webroot-path /var/www/nextcloud/ -d host.spdns.de

host.spdns.de müsst ihr durch eure DynDNS Domain ersetzen. Nun müssen wir den Befehl noch in crontab einfügen:

sudo crontab -e

Dort einfügen:

@weekly root /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default -a webroot --webroot-path /var/www/nextcloud/ -d host.spdns.de

Mit Strg + O, Enter & Strg +X speichert ihr die Datei.


DocumentRoot anpassen:

Ändert bei den beiden Dateien /etc/apache2/sites-available/000-default.conf und /etc/apache2/sites-available/000-default-le-ssl.conf die Zeile von

DocumentRoot /var/www/html

zu

DocumentRoot /var/www/nextcloud

Am Ende der Datei hinzufügen:

<Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All
</Directory>

Startet anschließend den Apache Webserver neu

sudo service apache2 restart

Nextcloud einrichten:

Nun könnt ihr Nextcloud einrichten. Ruft dazu die URL in eurem Browser auf. (passt euren Host vor spdns.de an).

Dort müsst ihr einen Benutzernamen und ein sicheres Passwort für den Administrator anlegen. Niemals das Administrator-Konto mit admin oder administrator benennen. Legt für eure Daten einen eigenen Benutzer an!

Wenn mehrere Benutzer oder größere Dateien auf dem Pi gehostet werden sollen, solltet ihr unter Speicher & Datenbank MySQL auswählen. Dort müsst ihr zusätzlich den Besitzer der Datenbank (in diesem Fall root), das Passwort des Datenbankbesitzers und den Namen der Datenbank eingeben.

nextcloud-mysql

 


Sicherheitswarnung entfernen:

Solltet ihr im Admin-Bereich folgende Fehlermeldung erhalten, …

 

nextcloud-sicherheitswarnung

… könnt ihr diese wie folgt entfernen:

sudo nano /etc/apache2/apache2.conf

Dort am Ende der Datei einfügen:

<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>

 

Anschließend den Apache-Webserver neustarten

sudo service apache2 restart

Memory Cache nutzen

Nextcloud empfiehlt euch einen Memory Cache zu nutzen. Diesen richtet ihr wie folgt ein:

sudo nano /var/www/nextcloud/config/config.php

Dort vor der letzen Zeile ); die Folgende Zeile einfügen:

'memcache.local' => '\OC\Memcache\APCu',

Das war die gesamte Installation von Nextcloud auf dem Raspberry Pi.


Nextcloud upgraden:

Von Nextcloud gibt es regelmäßig Updates. Hier zeige ich euch das Update von Version 10.0.2 auf Version 11.0.0 macht.

cd /var/www/nextcloud

sudo -u www-data php occ maintenance:mode --on
cd ../

sudo wget https://download.nextcloud.com/server/releases/latest.zip

sudo mv nextcloud nextcloud-old

sudo unzip latest.zip

sudo cp nextcloud-old/config/config.php nextcloud/config/config.php

sudo cp -r nextcloud-old/data nextcloud/

sudo chown -R www-data:www-data nextcloud
cd nextcloud

sudo -u www-data php occ upgrade

sudo -u www-data php occ maintenance:mode --off
cd ../

sudo rm -r nextcloud-old

Nextcloud/ownCloud Client installieren:

Neben der Weboberfläche könnt ihr eure Daten auch über den Nextcloud bzw ownCloud Client verwalten und organisieren.

Hinweis: Wenn ihr den Nextcloud Client und die Nextcloud Apps verwenden möchtet, müsst ihr derzeit auf TOTP und Two Factor U2F verzichten.

Für Windows und macOS gibt es bereits fertige Installationsprogramme. Für Linux gibt es derzeit (Stand: Januar 2017) 3 Möglichkeiten:

  1. Den Nextcloud Client selbst kompilieren (zur Anleitung)
  2. Für Ubuntu und Derivate gibt es ein offizielles Personal Package Archive (zur Anleitung)
  3. Den ownCloud Client verwenden

Der ownCloud Client ist mit Nextcloud kompatibel und in den meisten Paketquellen der Distributionen enthalten.


Installation des Nextcloud Clients über die offizielle PPA unter Ubuntu:

sudo add-apt-repository ppa:nextcloud-devs/client

sudo apt-get update 

sudo apt-get install nextcloud-client

sudo nano /etc/environment

Dort einfügen:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/x86_64-linux-gnu

Nextcloud Apps:

Für die Betriebssysteme Android, iOS und Windows 10 Mobile gibt es Nextcloud Apps. Die Nextcloud App für Android ist kostenlos und die App für iOS und Windows 10 Mobile kosten jeweils 0,99€. Die App für Windows 10 Mobile kann derzeit getestet werden. Entstanden ist der Client für Windows 10 Mobile in Zusammenarbeit mit Programmierer André Fiedler.

Hinweis: Wenn ihr den Nextcloud Client und die Nextcloud Apps verwenden möchtet, müsst ihr derzeit auf TOTP und Two Factor U2F verzichten.

Nextcloud
Entwickler: Nextcloud
Preis: Kostenlos
Nextcloud
Entwickler: TWS
Preis: 0,99 €
Nextcloud
Entwickler: André Fiedler
Preis: 0,99 €

Optionale Schritte nach der Installation:

Hier zeige ich noch ein paar optionale Schritte welche ihr nach der Installation von Nextcloud machen könnt.


TOTP aktivieren:

Mit Hilfe von TOTP (time-based OTP, dt: zeitbasiertes Einmalpasswort) könnt ihr eure Nextcloud Instanz zusätzlich absichern. Denn, sollte jemand euren Benutzernamen und euer Passwort der Nextcloud Instanz herausgefunden haben, so kommt er ohne das zeitbasierte Einmalpasswort nicht rein.

Hinweis: Wenn ihr den Nextcloud Client und die Nextcloud Apps verwenden möchtet, müsst ihr derzeit auf TOTP verzichten.

Meldet euch mit dem Konto des Administrators an und geht zu Apps > Authentifizierung & Authorisierung und aktiviert die App „Two Factor TOTP Provider

 

Jeder Benutzer kann nun in seinem persönlichen Bereich bei TOTP-Zweifaktorauthentifizierung den Haken setzen, nun erscheint ein QR-Code und ein TOTP-Schlüssel. Den QR-Code oder den TOTP-Schlüssel müsst ihr mit der App Google Authenticator einscannen/eingeben.

Google Authenticator
Entwickler: Google Inc.
Preis: Kostenlos
Google Authenticator
Entwickler: Google, Inc.
Preis: Kostenlos

Two Factor U2F aktivieren:

Nextcloud lässt sich seit Version 11 auch mit der U2F (Universal Second Factor) Authentifizierung absichern. Ihr benötigt hierzu einen USB-Stick welcher den U2F Standard unterstützt. Ich persönlich setze einen Yubikey Neo ein und ich empfehle euch diesen.

Hinweis: Wenn ihr den Nextcloud Client und die Nextcloud Apps verwenden möchtet, müsst ihr derzeit auf Two Factor U2F verzichten.

Meldet euch mit dem Konto des Administrators an und geht zu Apps > Authentifizierung & Authorisierung und aktiviert die App „Two Factor U2F„.

Jeder Benutzer kann nun in seinen persönlichen Bereich ein U2F-USB-Stick wie dem Yubikey Neo hinzufügen.

Ich rate euch unbedingt Backup-Codes zu generieren.

Beim Anmelden sieht das ganze dann so aus:


Nextcloud Theming:

Eine meiner Lieblingsfunktionen von Nextcloud ist das sehr einfache Theming.

Meldet euch mit dem Konto des Administrators an. Die Theming-Funktion ist über den Punkt Administration > Theming erreichbar. Sprich: Nur der Administrator kann das Theme anpassen. Ich persönlich würde mich freuen wenn jeder User zumindest die Farbe in seinem Account anpassen kann.

Man kann anpassen:

  • Name
  • Webadresse
  • Slogan
  • Farbe
  • Logo
  • Login Hintergrund


Externe 2,5″ Festplatte einbinden:

Ihr habt die Möglichkeit externe 2,5″ Festplatten in Nextcloud einzubinden. Ich zeige euch dies hier mithilfe des WD PiDrive von WDLabs.

Meldet euch via SSH auf eurem Raspberry Pi:

sudo nano /boot/config.txt

Dort am Ende der Datei einfügen:

max_usb_current=1

Mit Strg+O und Strg+X speichert ihr die Datei.

mkdir /home/pi/usbdrive

Überprüfen ob eure USB-Festplatte erkannt wurde:

lsblk

Dort sollte der Name sda bzw. sda1 erscheinen.

Einbinden der Festplatte ins /home/pi/usbdrive:

sudo mount -t auto /dev/sda1 /home/pi/usbdrive
sudo chown -R www-data:www-data /home/pi/usbdrive
sudo nano /etc/fstab

Dort einfügen:

/dev/sda1 /home/pi/usbdrive auto noatime 0 0

Meldet euch mit dem Konto des Adminstrators an und geht zu Apps > Nicht aktiviert und aktiviert die App „External storage support„. Um die Festplatte in Nextcloud einzubinden, geht zu Nextcloud >  Euer Benutzername > Administration > Externer Speicher.

Gebt dort den gewünschten Ordnernamen ein (in meinem Fall WD PiDrive), stellt den Speicher auf Lokal und gebt bei Konfiguration den Pfad /home/pi/usbdrive ein.

nextcloud-externer-speicher


WD Pi Drive Enclosure Square 6″ x 6″:

Für etwas Nextcloud-Box „Feeling“ kann man sich das WD Pi Drive Enclosure Square kaufen. Dieses gibt es in. den Farben Schwarz, Blau und weiß. Das WD Pi Drive Enclosure Square sollte meiner Meinung nach aber etwas größer sein da man die Kabel sehr stark biegt, was nicht gut für die Kabel ist. Hier mal ein Bild damit ihr wisst was ich meine:

wd-pidrive-enclosure-white-square-6x6

Ansonsten gefällt mir das Gehäuse sehr gut


S.USV-Advanced einrichten:

Der Raspberry Pi läuft 24/7. Für den 24/7 Betrieb ist es meiner Meinung nach sinnvoll eine S.USV einzusetzen. Ich verwende hierfür die S.USV pi advanced USV in der Revision 1.x.

sudo apt-get install python-smbus i2c-tools -y

sudo nano /etc/modules

Dort am Ende der Datei eintragen:

i2c-bcm2708
i2c-dev

Mit Strg + O, Enter und Strg + X speichert ihr die Datei.

sudo nano /boot/config.txt

Dort bei folgenden beiden Zeilen die Raute (#) entfernen:

dtparam=i2c1=on
dtparam=i2c_arm=on

Mit Strg + O, Enter und Strg + X speichert ihr die Datei.

Danach müsst ihr euren Raspberry Pi neustarten:

sudo reboot

Nach dem Reboot:

cd /tmp

wget http://s-usv.de/files/software/susvd-en-1.32-systemd-all.tar.gz

sudo tar -vxzf susvd-en-1.32-systemd-all.tar.gz

sudo dpkg -i susvd-en-1.32-systemd-all.deb

wget http://s-usv.de/files/firmware/susv_fw_132.tar.gz

sudo tar -vxzf susv_fw_132.tar.gz 

cd /opt/susvd 

./susv -flash /home/pi/susv_fw_132.hex 

sudo ./susvd -start

Der S.USV Daemon ist für die Überwachung und Steuerung der S.USV verantwortlich. Diesen könnt ihr ebenfalls konfigurieren:

sudo ./susv -timer 60

Dieser Befehl legt in Sekunden fest, wie lange das System weiterläuft bevor der File Safe Shutdown durch die S.USV initiiert wird, nachdem die Spannungsversorgung auf Akkubetrieb umgeschaltet hat. Der Standardwert ist 10.

Mit

sudo ./susv -timer -1

Kann die Funktion deaktiviert werden. Dann wird der File Safe Shutdown durch die S.USV initiiert wenn die Akkurestkapazität einen Wert von 10% erreicht.

Die Restkapazität des Akkus könnt ihr mit folgendem Befehl auslesen:

cd /opt/susvd/ && ./susv -capbat

Die Ausgabe sieht dann zum Beispiel so aus:

********************************
* *
* Battery capacity: 50.42% *
* Battery voltage: 3.90V *
* *
********************************

Mail-Benachrichtigung aktivieren und einrichten:

cd /opt/susvd
sudo ./susv -mail 1 

sudo nano /opt/susvd/scripts/mail.py

cd /opt/susvd && sudo ./susvd -restart

smbclient installieren:

Falls ihr SMB (Server Message Block) oder CIFS (Common Internet File System) Freigaben in Nextcloud einbinden wollt, benötigt ihr ebenfalls die App „External storage support„, zusätzlich müsst ihr aber den smbclient nachinstallieren.

Meldet euch wie SSH auf eurem Raspberry Pi an:

sudo apt-get install smbclient

Nun ist der smbclient installiert und ihr könnt SMB und CIFS Freigaben einbinden.


Dir hat der Beitrag gefallen, geholfen oder beides? Dann würde ich mich über eine kleine Kaffeespende freuen

Anzeige

Steven Seifried

Ich bin Steven, seit Juli 2014 veröffentliche ich auf canox.net die unterschiedlichsten Beiträge rund um das Thema Technik

Das könnte dich auch interessieren...

116 Antworten

  1. Arne sagt:

    Schöne Anleitung. Danke.

    Nur stolpere ich über „Das Passwort ist raspberry“. So weit richtig, aber sollte man nicht sofort als erstes das Standardpasswort austauschen? 😉

  2. cafelito sagt:

    Bin gespannt wie es weiter geht.
    Mach weiter so. Daumen hoch…

  3. Steven Seifried sagt:

    @Arne ist korrigiert

  4. Johannes Bauerstatter sagt:

    Ist es möglich eine exteren Festplatte anzuschließen und diese einzubinden? Wie wären die Befehle dafür?
    Vielen Dank und Top Anleitung.

  5. Johannes Bauerstatter sagt:

    Anleitung funktioniert perfekt. Hätte eine Installtion von NGINX Vorteile gegenüber Apache? Im Moment lasse ich es auf einen Raspi 1 laufen und etwas mehr Performance wäre nicht schlecht. 🙂

  6. Steven Seifried sagt:

    Was die Performance angeht bestimmt, Lighttpd ist da glaub ich etwas besser für geeignet.

    http://www.auge.de/usermagazin/hardware/eigene-wolke-owncloud-auf-dem-raspberrypi

  7. Rutschig sagt:

    Hey, nette Anleitung … die werde demnächst mal benutzen. Um das ganze etwas sicherer zu machen könnte man doch die Nextcloud in die DMZ stellen, oder? Soweit ich mal gelesen hatte bringt die das von Hause aus mit (LAN Port 1 oder so).

  8. Steven Seifried sagt:

    Dürfte funktionieren.

  9. Piet sagt:

    Hallo,
    Kann ich dies auch mit eine SD Karte von 8 Gb machen?
    Danke fur die Antwort.

  10. Steven Seifried sagt:

    Ja das funktioniert

  11. Piet sagt:

    Ich bekomme den Bericht „Could not resolve hostname raspberry: Name or service not known“ when Ich dass ssh gebrauche.
    Wass kan ich besser machen?

  12. Steven Seifried sagt:

    Dann schau am besten im Webinterface deines Routers nach der IP des Raspberry Pi

  13. Arndt sagt:

    danke für die detaillierte Anleitung. Hab es zunächst ohne dynDNS und TLS auf einem Bananapi ohne Probleme zum Laufen bekommen. Super Sache.

  14. KT sagt:

    Hallo,
    ich bekomme folgende Meldung : nextcloud can’t create or write into the data directory /var/www/nextcloud/data
    Den directory data besteht nicht.
    Was habe ich verkehrt gemacht?

  15. Steven Seifried sagt:

    sudo mkdir /var/www/nextcloud/data sollte helfen

  16. Matthias sagt:

    Hallo zusammen, ich bekomme folgende Fehlermeldung:
    pi@raspberrypi:~ $ sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear
    Paketlisten werden gelesen… Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen…. Fertig
    Die folgenden zusätzlichen Pakete werden installiert:
    apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1
    libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libonig2
    libperl4-corelibs-perl libqdbm14 lsof php5-cli php5-json php5-readline
    ssl-cert
    Vorgeschlagene Pakete:
    apache2-doc apache2-suexec-pristine apache2-suexec-custom php5-dev
    php5-user-cache openssl-blacklist
    Die folgenden NEUEN Pakete werden installiert:
    apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1
    libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0 libonig2
    libperl4-corelibs-perl libqdbm14 lsof php-pear php5 php5-cli php5-common
    php5-curl php5-gd php5-intl php5-json php5-readline php5-sqlite ssl-cert
    0 aktualisiert, 25 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
    Es müssen 7.236 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 26,6 MB Plattenplatz zusätzlich benutzt.
    Möchten Sie fortfahren? [J/n] J
    Abbruch.
    pi@raspberrypi:~ $
    Woran kann es liegen, dass er abbricht? Was mache ich falsch?
    Ich nutze den Raspberry PI Modell B Rev 2.0, 512MB, kann es sein das er nicht alles unterstütz oder überfordert ist?

    Cheers matthias

  17. Steven Seifried sagt:

    Hallo Matthias,

    es sollte funktionieren wenn du den Befehl noch einmal ausführst.

    Gruß Steven

  18. Rene sagt:

    Hallo! Danke sehr für die Anleitung. Habe fast alles auf Anhieb hinbekommen. Das einzige was jetzt noch nicht funktioniert ist der Zugriff über https://…, was ja anscheinend für die App zwingend ist.
    Zum troubleshooting mal eine Frage: Bei dem Absatz zu letsencrypt schreibst du am Ende ‚Hier müsst ihr eure DynDNS Domain eingeben. Let’s Encrypt erledigt den Rest von selbst.‘
    Meinst du mit DynDNS Domain die Hostadresse, also z.b. ‚meinname.spdns.de‘?

  19. Steven Seifried sagt:

    Halle Rene,

    danke für dein Lob. Ja damit meine ich die Hostadresse

  20. Rene sagt:

    Oh okay. Na dann habe ich es eigentlich richtig gemacht. Ich kann dennoch nicht über https:// zugreifen. Hast du eine Idee was ich überprüfen kann was schiefgegangen sein kann? Port 443 habe ich freigegeben. Muss man sonst noch etwas im apache enablen oder gibt es irgendwelche Befehle um die SSL funktionsfähigkeit zu überprüfen?

  21. Steven Seifried sagt:

    Es sollte funktionieren. Hast du bei der FRITZ!Box auch den Pi ausgewählt?

  22. Christoph sagt:

    Hallo, das klingt sehr gut. Mein Pi wartet auf die Installation. Nur möchte ich gern über MyFritz statt über spdyn das realisieren. Wie geht das??? Oder bin ich naiv?

  23. Steven Seifried sagt:

    Funktioniert meines Wissens nach mit MyFRITZ leider nicht

  24. Junichs sagt:

    Wieso kann ich nicht über die Fritzbox die Aktualisierung von Spydns laufen lassen?
    Sondern soll ein ominöses Tool benutzen, welches scheinbar nicht mal ein offizielles Tool von denen ist? Der Sinn erschließt sich mir nicht.
    Ich hoffe auf Erleuchtung 😀

  25. Steven Seifried sagt:

    Falls du es über die FRITZ!Box hin bekommst kannst du es natürlich auch über die FRITZ!Box machen

  26. Jimmy Kater sagt:

    habe gelesen, dass man zb mit CNAME einen eigenen eintrag auf den myfritz-namen setzen kann, wenn man denn eine eigene domain irgendwo rumliegen hat… so dass zb ein aufruf mit (die auf irrezahlenundbuchstabenkombi.myfritz.net zeigt) möglich sein sollte.
    das heißt: dieses vorgehen IST möglich. ich weiß nur (noch) nicht, ob das bei der installation des raspi nach der oberen anleitung hilft
    drücke die daumen
    jimmy

  27. Tobias sagt:

    Ich habe eine Frage zum ersten Schritt:
    „Raspbian herunterladen und auf SD-Karte schreiben:“

    Ich nutze einen Windows Rechner, die Befehler wget und unzip sind ja an der Stelle für mich noch nicht nutzbar.
    Auf welche Ebene beziehen sich diese Befehle?
    wenn ich das image normal mit dem Win32diskimager tool installiere, sollte es auch gehen richtig?

    Danke.

  28. Steven Seifried sagt:

    Die Befehle kannst du verwenden wenn du Linux benutzt. Wenn du an deinem Windows-Rechner http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-05-13/2016-05-10-raspbian-jessie-lite.zip in die URL-Zeile deines Webbrowsers eingibst, wird das Archiv automatisch heruntergeladen. Entpacken kannst du es entweder mit 7-Zip oder mit dem Windows-Bordmittel. Das Image schreibst du dann mit Win32 Disk Imager auf die SD-Karte

  29. Dom sagt:

    Hi, danke für das Tutorial! Ich bin zurzeit hinter einer Easybox und habe hier das Port-Mapping eingestellt. Komme auch per http:// auf die cloud, allerdings nicht über https:// … letzteres sollte doch eigentlich aktiviert sein und nicht ersteres? 😮
    Ich habe mich genau an deine Anleitung gehalten. Hoffe Du kannst mir irgendwie weiterhelfen. Danke!

  30. Steven Seifried sagt:

    Hallo Dom,

    leider kenne ich mich mit der Easybox nicht aus, vielleicht hilft dir der folgende Beitrag weiter:

    http://praxistipps.chip.de/easybox-port-freigeben-so-klappts_37860

  31. Rene (2) sagt:

    Hi, tausend dank zunächst für das gute Tutorial. Aber lustiger weise habe ich (Rene(2)) genau das glaube Problem wie der andere Rene. Habe auch LEtsentcrypt mit dem hostname xxx.spdn.eu durchlaufen lassen, die apache virtualhost angepoast und bei der Fritzbox genau so wie im Screenshot die Portfreigaben hinterlegt. Zugriff per http klappt, bei https geht gar nichts und ich finde nicht heraus, woran es liegen könnte 🙁
    Lieben Dank & Gruß
    René

  32. Steven Seifried sagt:

    Hallo Rene (2),

    ich habe nun herausgefunden woran es bei euch wahrscheinlich liegt. Ich habe vor einiger Zeit den Beitrag angepasst (neue Nextcloud-Version und Absätze) und dabei habe ich, so wie es aussieht, die Zeile mit sudo a2enmod ssl gelöscht. Sorry dafür. Ich habe die Zeile nun wieder hinzugefügt. Wahrscheinlich hat es deswegen bei euch nicht geklappt, aber nun sollte es klappen.

    Gruß Steven

  33. Rene (2) sagt:

    Hallo Steven, hab vielen lieben dank, jetzt funktionier alles so, wie es soll =) Tausend dank!!!

  34. Funktioniert das auch mit dem Raspberry Pi 3 unter Raspbian/Jessie

  35. Steven Seifried sagt:

    Ja, funktioniert

  36. Tobias sagt:

    Auto-Erneuerrung der Letsencrypt Zertifikate:
    Hi, ich hatte es schon mal irgendwo gesehen, wie kann ich die Letsencrypt Zertifikate denn automatisch aktualisieren lassen ?
    Danke für eine Antwort. (Meines läuft am 12.10. ab :-o)

  37. Steven Seifried sagt:

    Hallo Tobias,

    man könnte z.B jeden Sonntag ein Skript via cron ausführen, welches das Zertifikat erneuert. Ich werde mich mal dran setzen und dann den Beitrag dementsprechend erweitern.

    Gruß Steven

  38. Tobias sagt:

    Hi Steven, das wäre Klasse,
    irgendwie hat die Antwort eintrag mit meiner E-mail Adresse nicht funktioniert, deshalb antworte ich erst jetzt.
    Habe nun das Problem, dass ich morgen mein Zertifikat abläuft und ich bei der manuelle Erneuerung folgende Fehler meldung bekomme.

    letsencrypt: error: ambiguous option: –renew could match –renew-by-default, –renew-hook

    Jemand eine Idee ?

    Danke Tobias

  39. Tobias sagt:

    Ok, scheinbar habe ich es gefunden:
    Meine letsencrypt installtion liegt scheinbar anderswo. mit
    /etc/letsencrypt/letsencrypt-auto –renew-by-default certonly -d xyz.org
    Habe ich das Zertifikat erneuert bekommen.
    Allerdgins keine Ahnung was ich da wirklich gemacht habe.
    T.

  40. Jan Wallenstein sagt:

    Hallo, nach upgrade vom OC 9 nach NC 10.0.1 kann ich mich anmelden und Dateien hochladen.
    Aber bei der Befehlseingabe
    sudo -u www-data php occ -V
    bekomme ich jede Menge Fehlermeldungen „Can not adopt OID … SNMP …SENSORS-MIB…..“.
    Was ist hier falsch?
    Grüße Jan

  41. Jörn sagt:

    Klasse Anleitung! Vielen Dank dafür!
    Was mich noch interessieren würde, wäre wie man ein geschicktes Backup seines NextCloud Pi’s erstellen könnte. Auf eine externe Festplatte via cron vielleicht? Würde mich freuen, wenn du dies vielleicht in einem deiner nächsten Beiträge einmal aufgreifen könntest 🙂

    Grüße

    Jörn

  42. Steven Seifried sagt:

    Hallo Jörn,

    danke für dein Lob und deinen Vorschlag. Ich werde das mal aufgreifen.

    Gruß Steven

  43. Peter sagt:

    Feine Sache und Anleitung! Habe jetzt NextCloud und Dovecot/Roundcube auf dem raspi3 aufgesetzt, allerdings mit openssl statt letsencrypt und mit noip als DynDNS. Läuft problemlos!

    Vielen Dank und Gruß
    Peter

  44. TimeMen sagt:

    Hey,
    tolles Tutorial, allerdings kann ich es nicht nachmachen.

    Ich besitze meinen RPi 3 nun seit ca. 3 Monaten, und ich habe ihn trotz Linux Kenntnissen (Nutze seit 2 Jahren Linux) nicht zum Laufen gebracht.
    Weder über Lan noch über Wlan kann ich ihn mit unserem Internet verbinden, um so einen Kontakt per SSH herzustellen.

    Es hat ein oder zweimal geklappt, doch sobald ich einen reboot durchgeführt habe, habe ich die Verbindung für immer verloren.
    Dann musste ich immer das Image neu auf meine 32 GB SD brennen.

    Hast du eine Ahnung woran das liegt?
    Das ist nämlich echt nervig. Und ich brenne darauf erstens die Cloud zu installieren, und zweitens Projekte mit Arduino und RPi zu machen.
    Allerdings kann ich ja grade nix machen mit dem RPi da ich keinen Zugriff habe…

    LG
    TimeMen

  45. Steven Seifried sagt:

    Hallo TimeMen,

    ich vermute mal das die SD-Karte ne Macke hat. Bei mir ist das selbe Problem vor einiger Zeit mal aufgetreten und es lag an der SD-Karte,.

    Gruß Steven

  46. Kai sagt:

    Hi Steven,
    klasse Tutorial. Ich bin schon ziemlich weit gekommen. Im Teil „Nextcloud einrichten“ verweist du auf die Installation von MySQL. Ich möchte gerne MariaDB (ist ja quasi MySQL) verwenden. Schreibst du dazu noch ein Tutorial oder kannst auf irgendein HowTo verweisen?
    VG Kai

  47. TimeMen sagt:

    Hallo Steven,
    Meinst du die hat von Anfang an ne Macke?
    Kann man den auch von USB booten?
    Denn meine einzige noch funktionierende SD hat nur 1 GB. Damit komme ich nicht weit.

  48. Czmartin sagt:

    Hi Steven,
    danke für Deine ausführliche Anleitung.
    Ich komme an einem Punkt leider nicht weiter. Nachdem ich über SSH folgendes eingebe:
    sudo apt-get install apache2 php5 php5-gd php5-sqlite php5-curl php5-common php5-intl php-pear
    php-apc php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite -y
    cd /var/www/

    erscheint die Meldung
    After this operation, 33.6 MB of additional disk space will be used.
    Do you want to continue? [Y/n]
    wenn ich Y eingebe erscheint:
    Abort.
    pi@raspberrypi:~ $

  49. Steven Seifried sagt:

    @TimeMan: Welches Programm hast du zum draufschreiben benutzt? dd oder den Win32 Disk Imager?
    @Czmartin: Einfach den Befehl nochmal ausführen. Das mit dem Abort/Abbruch macht er bei mir auch mal hin und wieder gerne

  50. Sebastian sagt:

    ahoi,
    danke schonmal für das tutorial, es ist nicht einfach, ein ausführliches und vor allem aktuelles zu finden…
    hier mein problem, folgender befehl:
    sudo /etc/letsencrypt/letsencrypt-auto certonly –agree-tos –renew-by-default -a webroot –webroot-path /var/www/nextcloud/ -d anneseb.spdns.eu

    bringt folgende fehlermeldung:

    Failed authorization procedure. anneseb.spdns.eu (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Could not connect to anneseb.spdns.eu

    wenn ich in chrome anneseb.spdns.eu eingebe, kommt nur eine „Webseite nicht erreichbar“.

    Wenn ich anneseb.spdns.eu:443 eingebe, komme ich auf die apache default debian seite …
    Wenn ich die ip des rpi eingebe, komme ich auf die Startseite der Nextcloud.

    Wo liegt der Hase im Pfeffer?

    Danke für die Hilfe!

  51. Steven Seifried sagt:

    Hast du den Ports 80 in deinem Router freigegeben? Wenn Port 80 nicht im Router freigegeben ist, kann Let’s Encrypt die Domain nicht verifizieren.

  52. Sebastian sagt:

    Danke!!
    Ja, das hatte ich mir kurz vorm schlafen dann auch überlegt, ist das eine generelle geschichte, die ich als anfänger einfach nicht weiß?
    Wenn nicht, wäre das vielleicht sinnvoll zu erwähnen, man sieht zwar in der fritz-box-übersicht, dass du den port 80 auch freigegeben hast, aber schreibst nicht, dass let’s encrypt es braucht.
    Daher dachte zumindest ich, dass es evtl für irgendwas anderes gut ist… Mach ich heut abend dann mal.

  53. Danny sagt:

    Danke für die Anleitung, aber an dieser Stelle komme ich nicht weiter. „Anschließend müsst ihr die Datei /etc/spdnsu.conf anpassen.“ Wie mache ich das? Wenn ich „/etc/spdnsu.conf“ eingebe bekomme ich „-bash: /etc/spdnsu.conf: Keine Berechtigung“ als Antwort.

  54. Steven Seifried sagt:

    Die Datei bearbeitest du mit: sudo nano /etc/spdnsu.conf

  55. Paul Friedhelm Günther sagt:

    Moin,
    danke für die Anleitung. Suche nach einer einfachen schon länger. Werde es die Tage mal testen. Was ich mich immer frage sind folgenden Punkte:
    1) schalten sich die HDDs automatisch ab, wenn sie nicht gebraucht werden (vonwegen Lebensdauer)?
    2) wie kann ich die NC spiegeln (z.B. sync mit einet zweiten NC an einem anderen Standort)? Für den Fall, dass mir der PI/HDD durchbrennt o.Ä.

    Danke und Grüße

  56. Hallo,

    1.) soweit ich weiß ja
    2.) Ich bin aktuell am schauen wie man das am besten lösen kann

    Gruß Steven

  57. Mattheus sagt:

    Hallo,
    Einwandfreie Anleitung.
    Noch ein kleiner Hinweis, es sollte erwähnt werden, dass der Apache Server down sein sollte, bevor das Zertifikant erstellt wird.
    Gruß, Mattheus

  58. Daniel sagt:

    Habe die Nextcloud mit Wifi externer Festplatte und Clamav und zum laufen gebracht und nach Sqlite installation auch auf MySql umgestellt ohne die einstellungen und User zu verlieren. Die Anleitung von dir ist super und nachvollziehbar mit etwas vorkenntnis mit dem Terminal. Aber trotz allem habe ich es noch nicht geschafft die Seite auf https zu stellen. Bei dem erstellen der Zertifikate bekomme ich die Fehlermeldung schon zu viele abgerufen zu haben. Habe trotz allem die Cloud weiter erstellt. Nach ca einer Woche lebte die Cloud dann von selbst auf. Aber nur mit HTTP. FritzBox ist gestellt wie beschrieben. Aber die Cloud läuft nur mit . Wie bekomme ich die nun auf https:// gestellt??

  59. Steven Seifried sagt:

    Hallo Daniel,

    danke für dein Lob.

    Da man, bei jedem Dynamic DNS-Anbieter, eine Subdomain beim jeweiligen Anbieter anlegt und Let’s Encrypt prüft wie viele Zertifikate für die jeweilige Domain ((leider) nicht Subdomain) bereits ausgestellt wurden. Das von Let’s Encrypt gesetzte Limit für Zertifikate pro Domain, in diesem Fall spdyn, scheint derzeit überschritten worden zu sein.

    Um die eigene Nextcloud per HTTPS zu erreichen muss man derzeit einen anderen Dynamic DNS-Anbieter verwenden.Es haben schon sehr sehr viele Leute meine Anleitung umgesetzt und benutzen als Dynamic DNS-Anbieter spdyn. Ich werde eine Liste mit alternativen Dynamic-DNSin den Beitrag „packen“.

    Gruß Steven

  60. Daniel sagt:

    Schade das spdns kein https unterstützt. Ich suche einen Dyn-dns-anbieter welcher kostenfrei ist und dann nicht alle 30 Tage um eine Anmeldung bittet wie bei no-ip bei dem die Adresse bei Nichtanmeldung auf ihrer eigenen Seite den Hostname verfallen lässt. Bei spdyn ist anmelden und fertig ohne Verfallsandrohung und die Cloud darf leben ohne weiteres zutun. Habe übrigens auch schon versucht den Apache zum https zu zwingen mir Redirect… in der conf. .Hat mir auch nur eine Fehlermeldung dann im Firefox gebracht. Danach die conf wieder zurück gestellt muss auch der Verlauf auf Firefox zurückgesetzt werden.
    Gruß Daniel

  61. Steven Seifried sagt:

    Es liegt nicht an spdns sondern an Let’s Encrypt. spdns unterstützt HTTPS.

  62. Anonym sagt:

    Hallo Steven,

    lässt sich die von dir vorgestellte S.USV Pi advanced in das WD Gehäuse mit einbauen?

    Bevor ich beides bestelle und es nicht geht.

  63. Thomas sagt:

    Hallo,
    super Anleitung danke. Es hatte alles funktioniert. Nun musste ich den Raspberry neu starten und habe jetzt keine zugriff mehr auf die HDD. (laut App keine Berechtigung um Ordner erstellen usw) Hab ich durch den Neustart eine berechtigung entfernt?
    Vielen Dank nachmal für die schöne Anleitung.
    Gruß
    Thomas

  64. Steven Seifried sagt:

    @Anonym: Wenn man die GPIO-Pins des S.USV pi advanced abzwickt, dann könnte man das S.USV pi advanced mit ins Gehäuse einbauen.

    @Thomas: Danke für dein Lob! Den Befehl sudo chown -R www-data:www-data /home/pi/usbdrive</strong nochmals ausführen und das Problem sollte behoben sein.

    Gruß Steven

  65. Daniel sagt:

    Super Anleitung und auch das aktuell halten der Eingaben. Aber meinen Cloud welche auf dieser Anleitung beruht möchte ich jetzt ein Update auf die Aktuelle Nextcloud verpassen. Wie könnte ich bzw. andere die das auch betrifft lösen? Über die Updatefunktion von Nextcloud habe ich eine Fehlermeldung. Könnte man das über eine Chron automatisch machen lassen welche einmal pro woche läuft? Könnte eine Anleitung gebrauchen?
    Gruß
    Daniel

  66. Daniel sagt:

    Super Anleitung!!! Upgrade funktioniert so. Ich habe dann nur noch zum komplettieren die nextcloud-zip zum Schluss auch gleich mit gelöscht. Ich würde gern meine cloud über den smbclient im Netzwerk ohne Probleme erreichen können. Um sie vom PC aus mit meiner antivirussoftware überprüfen zu können. Aber ich komme damit nicht ganz zurecht. Bräuchte da mal Hilfe.
    Gruß
    Daniel

  67. Tobias sagt:

    Hallo nochmal, habe jedes Upgrade einzeln drüber installiert, nach der Anleitung, dann hat es funktioniert. Bin jetzt auf 11.0.0

  68. Anonym sagt:

    Hallo Steven,

    Vielen Dank für diese sehr sehr gute und verständliche Anleitung. Auch für das stetige aktualisieren und erweitern vielen Dank.

    Es ist nicht selbstverständlich dass Blogger Anleitungen aktuell halten. Aber du bist hierbei, in diesem Sinne, vorbildlich.

    Ich würde es fair finden wenn einige Leser sich mittels einer kleinen Spende bei dir bedanken würden, da du die Anleitung stetig anpasst und erweiterst.

    Das ist zumindest meine Meinung

  69. elBarto sagt:

    Hallo Steven,
    vielen Dank für die super Anleitung. Nun steht mein Weihnachtsferienprojekt schon und ich habe noch 2 Wochen Urlaub, 🙂
    Ich habe aber doch noch ein kleines Problem. Und zwar habe ich eine externe Festplatte nach deiner Anleitung eingebunden. Sie wird auch erkannt und ich kann sie in Nextcloud einbinden. Leider bekomme ich keine Schreibrechte und kann somit mit dem externen Speicher nichts anfangen.
    Ich habe bereits mehrere Dateiformate ausprobiert, keines hat funktioniert. Vielleicht hast du/ihr ja noch eine Idee?

    Grüße,
    Olli

  70. Steven Seifried sagt:

    @Anonym: Danke für dein Lob. Über Spenden freue ich mich, aber dass ist jedem seine Entscheidung

    @elBarto: sudo chown -R www-data:www-data /home/pi/usbdrive Damit bekommst du bzw. der Benutzer www-data Schreibrechte auf die Festplatte.

    Gruß Steven

  71. elBarto sagt:

    Danke für die rasche Antwort. Leider spuckt mir das Terminal nur „chown: changing ownership of ‘/home/pi/usbdrive’: Operation not permitted“ aus.

    Grüße,
    Olli

  72. Steven Seifried sagt:

    Welches Dateisystem hat die Festplatte aktuell? NFTS? ext4?

  73. elBarto sagt:

    Formatiere sie gerade auf ext3, via Terminal am Raspberry

  74. Steven Seifried sagt:

    Alle Festplatten mit denen ich es getestet habe waren mit NFTS formatiert. Ich würde an deiner Stelle entweder NFTS oder ext4 verwenden.

  75. elBarto sagt:

    Hm, ext4 macht er auch nicht. Jetzt formatiere ich mal in NTFS und schaue morgen weiter.
    Danke!

    Olli

  76. Schöne Anleitung. Danke. Werde ich in 2017 evl. mal testen.

  77. Olli sagt:

    Hallo Steven kannst Du mir helfen?

    Ich komme hier nicht weiter:

    pi@raspberrypi:~ $ sudo nano/etc/spdnsu.conf
    sudo: nano/etc/spdnsu.conf: Kommando nicht gefunden

    Bin Schritt für Schritt durch die Anleitung gegangen.

    Danke!

  78. Steven Seifried sagt:

    Hallo Olli,

    war mein Fehler. soll sudo nano /etc/spdnsu.conf heißen

    Ich habe den Fehler korrigiert.

    Gruß Steven

  79. Olli sagt:

    Hallo Steven,

    habs zum Laufen bekommen! Danke!!!

    Die Nextcloud App kann man nicht verwenden, oder?

    Grüße

  80. Steven Seifried sagt:

    Du kannst die Nextcloud App verwenden

  81. Martin sagt:

    Hallo Steven,

    erstmal vielen Dank für Deine super Anleitung. Das ging Ruckzuck und ohne Murren selbst für einen Anfänger wie mich.
    Bei einem letzten Punkt bleibe ich allerdings hängen: „The requested URL / was not found on this server.“ ein klassischer 404
    Das passiert über die interne LAN-IP wie auch über die externe DynDNS Adresse.
    HTTPS selbst funktioniert. Das ist sicherlich nur ein kleiner Eintrag, dass er die Startseite von Nextcloud nicht findet. Leider weiß ich nicht, wo ich das ändern kann.
    Gruß Martin

  82. Steven Seifried sagt:

    Hallo Martin,

    danke für dein Lob. Hast du den DocumentRoot zu /var/www/nextcloud geändert oder ist der entpackte Nextcloud Ordner eventuell im Verzeichnis /var/www/html?

    Gruß Steven

  83. Olli sagt:

    Hallo Steven,

    ich habe eine 2,5″ 1TB Festplatte angeschlossen. Wird auch erkannt und taucht bei NextCloud auf. Die Schreibrechte habe ich mit sudo chown -R www-data:www-data /home/pi/usbdrive gesetzt. Allerdings bekomme ich auf meinem Handy ständig die Meldung das ich keine Beechtigung habe, in diesem Ordner etwas hochzuladen.

    Kannst du mir helfen?

    Danke!

  84. Steven Seifried sagt:

    Führ den Befehl sudo chown -R www-data:www-data /home/pi/usbdrive nochmal aus. Sollte dann funktionieren

  85. Anonym sagt:

    Hallo Steven,

    Darf ich fragen wie viele Stunden du bereits an dem Beitrag geschrieben hast?

  86. Umut sagt:

    Hallo 🙂

    Registriert euch zuerst bei spdyn.de und fügt über euer Profil bei Hosts von Benutzer einen IPv4 Host hinzu.
    ==== Muss ich da die iP Adresse vom Rasp eingeben?

    Und was muss ich bei Host? Username? Passwort eingeben? Die von der Dyn Seite?

    Wäre cool wenn du mir helfen kannst

  87. Was zu tun ist habe ich nun als Bilder hinzugefügt!

  88. Daniel sagt:

    Gibt es jetzt eine Möglichkeit die Nextcloud mit spdns auf https laufen zu lassen? Frage wegen dem Kommentar von Martin am 4.1.17. Bzw wieviel sicherer läuft die cloud mit https als mit http?

  89. Daniel sagt:

    Wie ich das jetzt verstanden habe ist die http Variante eigentlich sicherer als die https welche demnach veraltet ist. Dachte bisher immer das sich das genau anders herum verhält.

  90. Es ist genau anders herum. HTTPS ist sicherer als HTTP

  91. Daniel sagt:

    Gibt es da inzwischen schon eine Lösung diese die cloud mit spdns auf https umstellen oder muss ich das alles noch einmal mit einer anderen dyndns welche das kann neu aufsetzen. Oder kann spdns es nun auch müsste diese nur neu aufsetzen?

  92. Let’s Encrypt generiert nur eine bestimmte Anzahl Zertifikate pro Domain in der Woche. Falls Let’s Encrypt sagt dass zu viele Zertifikate generiert worden sind, einfach am ersten Tag der Woche, sprich Montag, zu versuchen. Du kannst HTTPS mit jedem DynDNS-Anbieter verwenden. Wie du HTTPS/Let’s Encrypt einrichtest habe ich im Beitrag gezeigt.

    Es liegt nicht an spdyn sondern an Let’s Encrypt und das „Problem“ wirst du bei jedem DyDNS Anbieter, früher oder später, bekommen. Es bringt also nichts einen anderen DynDNS-Anbieter zu nehmen.

  93. Alexander sagt:

    Hallo Steven,
    erstmal vielen Dank für den tollen und ausführlichen Beitrag, und dass du diesen aktive pflegst!

    Ich habe zwei kurze Fragen:
    Per cron soll die IP bei spdyn aktualisiert werden und das letsencrypt Zertifikat wöchentlich aktualisiert werden. Warum wird der eine Eintrag per „sudo crontab -e“, der andere per „sudo nano /etc/crontab“ angelegt?
    Wäre es darüber hinaus nicht sinnvoll, beide Jobs per anacron zu planen, damit diese bei länger ausgeschaltetem Pi nach dem Hochfahren direkt ausgeführt werden? Was meinst du?

    Trotz dass ich der Anleitung zum Beseitigen der Nextcloud Sicherheitshinweise gefolgt bin, erhalte ich weiterhin die Meldung ‚Der „Strict-Transport-Security“ HTTP-Header ist nicht …‘ Beim Überprüfen der Einträge ist mir aufgefallen, dass diese für 000-default.conf und 000-default-le-ssl.conf identisch sind. Ist das so korrekt?
    Zusätzlich musste ich noch einen weiteren Schritt durchführen, indem ich per ’sudo a2enmod headers‘ das Headers Modul aktiviert habe. Trotzdem erhalte ich weiterhin die Fehlermeldung.

    Danke und viele Grüße, Alexander

  94. Hallo Alexander,

    danke für dein Lob.

    Es werden nun beide Crontabs mit „sudo crontab -e“ angelegt. Ich werde mir anacronmal genauer ansehen. Das „sudo a2enmod headers“ hab ich wieder hinzugefügt.

    Dass die beiden Einträge gleich sind, ist korrekt. Das Problem mit Der „Strict-Transport-Security“ HTTP-Header ist nicht …“, ist mir bei meinem V-Server aufgefallen. Ich bin immer noch auf der Suche nach der Lösung, aber es scheint nur bei manchen aufzutreten.

    Gruß Steven

  95. Das Problem mit Der „Strict-Transport-Security“ HTTP-Header ist nicht …“, ist nun behoben.

  96. Kilian sagt:

    Hi Steven,

    erstmal ein Großes Lob an dich; echt guter Guide! 🙂

    Jetzt aber zu meiner Frage / meinem Problem:
    Wenn ich mir auf https://www.spdyn.de eine IPv4 DynDNS Domain erstelle, muss ich per Hand die vorgeschlagenen IP-Adresse im vorgesehenen Feld von v6 auf v4 umtragen. Soweit so gut. (Oder liegt dann hier schon der Fehler?)
    Wenn ich nun im Schritt, in dem Let’s encrypt eingerichtet wird (sudo ./letsencrypt-auto), meine verwendete DynDNS-Domain (meinedyndnsdomain.firewall-gateway.de) eingebe bekomme ich die Fehlermeldung : „The server could not connect to the client to verify the domain“.

    Habe ich bei der Einrichtung der DynDNS-Domain eine falsche IP-Adresse angegeben?
    Oder wo siehst du den Fehler?

    Vielen Dank schon mal im Voraus
    Kilian

  97. Hallo Kilian,

    du scheinst die Portfreigaben und den spdyn Client nicht eingerichtet zu haben

    Danke für dein Lob.

    Gruß Steven

  98. Kilian sagt:

    Hi Steven; Hi alle anderen 🙂 ,

    danke für die schnelle Antwort. 🙂
    Wie du bereits sagtest liegt es an der Portfreigabe.

    Allerdings sehe ich bis jetzt keine Lösung.
    Der Internetanschluss, den ich nutze, ist von Unitymedia mit dem „technicolor tc7200u“ Router…
    Nach langem googeln habe ich den Sachverhalt noch nicht ganz verstanden aber anscheinend kann man mit diesem Modell und vor allem bei Unitymedia keine (IPv4)Ports öffnen.

    Hat jmd von euch da schon ne Erfahrung gesammelt und hat vielleicht sogar ne Lösung?

    Müsste man die komplette Software sonst mit IPv6 Adressen einrichten?

    Ich hoffe auf eine Lösung 🙂
    LG Kilian

  99. IPv4 geht laut der folgenden, englischsprachigen, Anleitung:

    https://portforward.com/technicolor/tc7200-u/

  100. Bernd sagt:

    Hallo Seven, das ist eine gute Anleitung. leider habe ich sie jetzt 3 mal gemach und komm immer wieder an des selben fehler. Alles läuft aben in der Admin oberflächen kommt immer noch die meldung:
    Dein Datenverzeichnis und deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass du es aus dem Dokument-Root-Verzeichnis des Webservers bewegst.
    Ich habe /var/www/nextcloud umbenant neu erstellt alles insneuen verzeichnis kopiert und Besitzer und Gruppe geändert und den Apachen neu gestartet.
    Aber kein erfolg der fehler bleit.
    Was habe ich falsch gemacht und wie kann ich das beheben.
    Sicherheitswarnung entfernen: und Memory Cache nutzen erfolgreich installiert.

    Gruß Bernd

  101. Bernd sagt:

    Hallo Steven,
    hat wundabar geklapt, läuft jetzt rund.
    Danke Gruß Bernd

  102. Harald sagt:

    Hall Steven,

    beim durchlese Deiner Anleitung, welche sehr detaliert und aktuell ist (dankeschön)+ (mein Raspberry ist mit der Post unterwegs…) stolpere ich bei folgender Passage:
    Anschließend müsst ihr mit sudo nano /etc/spdnsu.conf die Datei /etc/spdnsu.conf anpassen. Dort müsst ihr anpassen:
    Host, Username, Passwort (falls ihr über die Webseite einen Token generiert habt müsst ihr diesen statt des Passwortes eintragen)

    Welchen User name und PW soll ich verwenden? Den von no-ip hatte ich bisher noch nie angeben müssen.
    Das nächste Problem sehe ich in meinen Ports der Fritzbox: 443 und 80 sind schon anderweitig vergeben. Kann ich mit anderen Zahlenwerten „arbeiten“…?
    Für Deine Hilfe schon ein Dankeschön im voraus

    LG Harald

  103. Thomas sagt:

    Hallo Steven,

    dank deiner Anleitung läuft Nextcloud jetzt ohne Probleme. Ich habe nur ein Problem wenn ich per dlna auf die HDD zugreifen will bricht die komplette Verbindung zusammen. Kann es hier zu einen Berechtigungs Problem kommen?
    Viele Grüße
    Thomas

  104. Harald sagt:

    Hallo Steven, hallo Canox.net Freunde,

    ich ziehe meine Frage zurück, da der Server mittlerweile erfolgreich konfiguriert ist.
    Ein großes Lob an Steven für seine schöne, anschaulich , sehr gut dokumentierte und immer aktuelle Anleitung.
    Dankeschön…

    LG Harald

  105. Stefan sagt:

    Hallo Steven,
    erstmal vielen Dank für die tolle Anleitung. ch habe bis vor kurzem eine Owncloud auf dem Raspi betrieben.Nun wollte ich mal umsteigen auf Nextcloud..
    Nach deiner Anleitung hat eigentlich alles soweit geklappt. Der Updater scheint zu funktionieren und Letscrypt hat auch nicht gemeckert.
    Nur wenn ich Nextcloud im Browser aufrufen will, erscheint “ Die Seite meinhostname.spdns.de funktioniert nicht; meinhostname.spdns.de kann diese Anfrage momentan nicht verarbeiten.
    HTTP ERROR 500 „.
    Ich weiß momentan nicht wirklich weiter.

  106. Andreas sagt:

    Wow! – Selten eine so fehlerfreie, anschauliche, präzise Anleitung gefunden für eine so komplexe Installation!
    Hier noch ein Hinweis, um die Installation noch verständlicher zu gestalten:
    Zeile: Hier müsst ihr eure DynDNS Domain eingeben. Let’s Encrypt erledigt den Rest von selbst.
    Besser: Hier müsst ihr euren Host mit DynDNS Domain eingeben, so wie unter spdyn.de eingetragen. Let’s Encrypt erledigt den Rest von selbst.
    Ganz dickes Lob an Dich,
    Andreas

  107. Hallo Andreas,

    vielen Dank für dein Lob und deinen Verbesserungsvorschlag. Ich würde, sofern du nichts dagegen hast, gerne den verbesserten Text 1:1 übernehmen.

    Gruß Steven

  108. Alex sagt:

    Hallo Steven,
    danke erstmal für diese super Anleitung! Ich bin echt begeistert und habe auch soweit alles aufgesetzt.
    Nun habe ich jedoch ein kleines Problem, um genau zu sein das gleiche Problem wie Olli.
    Ich habe eine 3TB Platte als externen Speicher eingebunden und kann auch darauf schreiben und Ordner erstellen, alles Top.
    Auch in der iOS App funktioniert das einwandfrei.
    Das einzige was leider noch nicht funktioniert ist die automatische Synchronisation meines iOS Fotoordners mit einem Ordner auf der externen HDD. Diese schmeisst mir immer den Fehler, dass er keine Ordner anlegen kann. Habe jetzt auch schon mehrmals
    sudo chown -R www-data:www-data /home/pi/usbdrive
    ausgeführt. Dies zeigt leider keine Wirkung. Hättest du da vielleicht noch eine Idee?

    Besten Gruß aus Paderborn!

  109. Jannik sagt:

    Hallo, danke für die gute Anleitung! Ich habe nach ihrer Anleitung alles durchgeführt und Nextcloud auf dem Raspberry Pi eingerichtet (voerst erstmal im Lokalen Netzwerk). Ich habe allerdings das Problem, dass Nextcloud nur über die lokale IP und nicht über die Adresse von spdns erreichbar ist. Liegt das an der fehlenden Portfreigabe oder kann ich das irgendwie lösen?
    Vielen Dank im Vorraus 🙂

  110. Uwe sagt:

    Hallo, vielen Dank für die umfangreiche Anleitung. Ich hätte noch einen Verbesserungsvorschlag: unter https://download.nextcloud.com/server/releases/ existiert auch ein latest.zip. Dieses würde ich sowohl für den ersten Download verwenden als auch für den Upgrade (dann auch als cronjob sinnvoll). Außerdem würde ich das Datenverzeichnis nicht unter /var/www/nextcloud/data anlegen sondern hierfür ein anderes Verzeichnis wählen. Vorteile: Sicherheitsaspekte (Trennung Daten & Webserver) und beim Upgrade wird viel Platz gespart, da das Datenverzeichnis nicht auch noch kopiert werden muss. Siehe: sudo cp -r nextcloud-old/data nextcloud/. Damit dieser Befehl funktioniert benötigt man das Doppelte des durch die Daten belegten Platzes.
    Vielen Dank & Gruß
    Uwe

  111. Andreas sagt:

    Hallo Steven,
    hier noch ein weiterer und wahrscheinlich auch der letzte Verbesserungsvorschlag:
    Zeile: Dort vor ); einfügen:
    Besser: Dort vor der letzten Zeile ( in der die Zeichenfolge ); steht) eine neue Zeile einfügen:

    Zum Memcache habe ich in der Online-Doku gelesen, dass ab PHP 5.x die Option „APCu“ die bessere Wahl ist.
    Folgende Überprüfung: auf der Shell „php -v“ eingeben und überprüfen, ob die Version >5.5 ist.
    Dann zur Sicherheit noch einmal “ sudo apt-get install php5-apcu“ ausführen, damit auch die aktuelle Version auf dem Rechner installiert ist.
    nun noch die Zeile ‚memcache.local‘ => ‚\OC\Memcache\APCu‘, einfügen – System ist dann mit aktuellem Cache ausgestattet.
    Siehe:
    https://docs.nextcloud.com/server/11/admin_manual/configuration_server/caching_configuration.html
    Mit freundlichem Gruß,
    Andreas

  112. Kilian sagt:

    Hi Steven, Hi alle anderen. 🙂
    Auch von mir nochmal ein dickes Lob an dich Steven, für das total gelungene Tutorial! 🙂

    Ich bin gerade dabei mir ein Backup anzulegen und bin dabei auf eine „offizielle Anleitung“ gestoßen:
    https://docs.nextcloud.com/server/11/admin_manual/maintenance/backup.html
    https://docs.nextcloud.com/server/11/admin_manual/maintenance/restore.html

    Das Backup der Datenbank als auch das der Daten selber bekomme ich inzwischen Problemlos hin. Auch das wiederherstellen der Datenbank sowie das überspielen der Daten mithilfe von „rsync“ funktioniert….
    Allerdings bekomme ich, sobald ich auf die Nextcloud Seite gehe immer einen „HTTP ERROR 500 — Die Seite 192.168.0… funktioniert nicht“.
    Hat da jmd schon Erfahrungen gemacht und mag sie mit mir teilen?

    Ich hoffe auf aufschlussreiche Antworten
    LG
    Kilian

Schreibe einen Kommentar

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