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:
- Raspberry PI 2 Model B Mainboard Sockel (A 900MHz, Quad-core, ARM Cortex-A7 CPU, 4x USB, Full HDMI)
- Raspberry Pi Gehäuse für Modell B+ / Pi 2, weiß/rot
- Original Rydges® Premium Steckernetzteil by OTB Micro USB 5V 1000 mAh für Raspberry Pi B und A Model
- EDIMAX EW-7811UN Wireless USB Adapter, 150 Mbit/s, IEEE802.11b/g/n
- 2m – CAT.6 Ethernet Gigabit Lan Netzwerkkabel (RJ45) | 10/100/1000Mbit/s | Patchkabel | UTP | kompatibel zu CAT.5 / CAT.5e / CAT.7 | Switch/Router/Modem/Patchpannel/Access Point/Patchfelder | schwarz
- Samsung Speicherkarte MicroSDHC 32GB GB EVO UHS-I Grade 1 Class 10 für Smartphones und Tablets, mit SD Adapter, frustfrei
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