Die eigene Cloud mit dem Raspberry Pi und Nextcloud

Erstellt am 15. Juni 2016 von Canoxnet

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.

Einkaufsliste:

Raspbian herunterladen und auf SD-Karte schreiben:

wget http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-05-13/2016-05-10-raspbian-jessie-lite.zip

unzip 2016-05-10-raspbian-jessie-lite.zip

# rm 2016-05-10-raspbian-jessie-lite.zip

Mit folgendem Befehl kann überprüft werden wo die SD-Karte eingehängt ist:

lsblk

Das Image wird mit folgendem Befehl auf die SD-Karte geschrieben:

dd if=2016-05-10-raspbian-jessie-lite.img of=/dev/sdX

sdX ist hierbei durch den Einhängepunkt der eigenen SD-Karte zu ersetzen.

Die ganze SD-Karte nutzen:

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.

ssh pi@raspberrypi

Das Passwort ist raspberry

sudo raspi-config

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

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-apc php-xml-parser libapache2-mod-php5 curl libcurl3 libcurl3-dev sqlite -y

cd /var/www/

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

sudo unzip nextcloud-9.0.50.zip

sudo chown -R www-data:www-data /var/www/nextcloud

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.

spdns Dynamic DNS Update-Client installieren:

Nun richten wir den spdns Update Client ein.

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 die Datei /etc/spdnsu.conf anpassen. Dort müsst ihr anpassen:

  • Host
  • Username
  • Passwort
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

Portfreigabe einrichten:

Anschließend müsst ihr eine Portfreigabe einrichten. 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

Let’s Encrypt herunterladen und Zertifikat erstellen:

Jetzt geht’s ans Zertifikat.

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.

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

Startet anschließend den Apache Webserver neu

sudo service apache2 restart

Nextcloud einrichten:

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

Wenn mehrere Benutzer oder größere Dateien auf dem Pi gehostet werden sollen, solltet ihr unter Speicher & Datenbank MySQL auswählen.

Sicherheitswarnung entfernen:

Solltet ihr im Admin-Bereich folgende Fehlermeldung erhalten, …

… könnt ihr diese wie folgt entfernen:

sudo nano /var/www/nextcloud/.htaccess

Dort am Ende der Datei einfügen:

<IfModule mod_headers.c>
 Header always add Strict-Transport-Security "max-age=15768000"
</IfModule>

Memory Cache nutzen

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

sudo apt-get install php-apc

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

Dort vor ); einfügen:

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

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

Anzeige