In diesem Artikel beschreibe ich, wie man einen Raspberry Pi als Server für eine eigene NextCloud einrichtet.
Ich möchte an dieser Stelle darauf hinweisen, dass es für so etwas immer mehrere Wege gibt. Und dieser stellt ledig einen davon vor.
Ich habe so meine eigene Cloud seit einigen Wochen schon im “Produktivbetrieb” und bin damit zufrieden.
Man muss halt auch immer überlegen welche Leistung die eigene Cloud haben sollte, und ob hier z.B. der private Internetanschluss ausreicht.
Was man benötigt
Vorweg erstmal die Einkaufsliste der Dinge die man auf jeden Fall bracht.
- Raspberry Pi
- Netzteil
- Micro SD Karte
Folge Dinge sind Optional
- USB Datenträger
- Gehäuse
- Netzwerkkabel
In meiner Anleitung wird der Pi über W-LAN ans Netzwerk angebunden, daher brauche ich kein Kabel. Gesteuert wird der Pi komplett über das Netzwerk per SSH, daher braucht er auch keine Tastatur, Maus oder einen Monitor.
Die eigentlichen Daten in der Cloud werden bei mit auf einem USB Stick gespeichert, optional kann man hier bei bedarf auch gerne eine externe USB Festplatte verwenden. Diese sollte dann aber eine eigene Stromversorgung haben.
Wer möchte kann seinen Pi mit einem Gehäuse schützen (ich tue dies auf jeden Fall). Und wem die 2,4GHz W-LAN Verbindung zu langsam ist, der bracht halt ein Kabel um den Pi damit ans Netzwerk anzuschließen.
Als Betriebssystem wird die Serverversion von Raspbian genutzt. Diese kann man HIER runterladen. Es ist das Raspbian Stretch Lite.
Dann wird noch ein Programm benötigt, um das Betriebssystem auf die micro SD Karte zu spielen. Ich empfehle hier das Programm Etcher. Das Programm gibt es für Linux wie auch für Windows.
Etcher kann man HIER runterladen.
Betriebssystem auf die Karte flashen
Nachdem als das Raspbian Stretch Lite sowie Etcher runtergeladen und Etcher installiert ist, kann es losgehen.
Verbinden Sie die microSD Karte mit Ihrem Computer.
Starten Sie Etcher.
Klicken Sie auf das Linke Symbol, navigieren Sie ggf zu dem Ordner in welchem Sie das Raspbian gespeichert haben, und wählen Sie dieses aus.
Danach auf das mittlere Symbol klicken und die microSD Karte auswählen.
Dann nur noch auf das rechte Symbol klicken, und nach kurzer Zeit sollte der Vorgang erfolgreich abgeschlossen sein.
W-LAN und SSH einrichten
SSH
Linux:
Ab hier wird nur noch im Terminal gearbeitet. Ich gebe Datei und Verzeichnispfade immer relativ vom Wurzelverzeichnis der microSD Karte an. Bitte passen Sie die Pfade manuell nach Ihrem Mountpunkt an.
Sollte Ihr Betriebssystem die microSD Karte nicht automatisch gemoutet haben, so mounten Sie diese bitte manuell.
Erstellen Sie nun eine leere Datei mit dem Namen ssh im Verzeichnis /boot.
touch /boot/ssh
Windows:
Ich versuche hier zu erklären, wie man die vorbereitenden Schritte an einem Computer mit Windows erledigt.
Navigieren Sie im Explorer in das Verzeichnis boot auf der microSD Karte. Erstellen Sie nun eine leere Textdatei mit dem Namen ssh. Diese Datei darf keine Endung haben! Also nicht ssh.txt, ssh.doc oder sonstwie!
W-LAN
Dieser Schritt wird nicht benötigt wenn Sie den Pi mit einem Kabel an das Netzwerk anschießen.
Linux:
Öffnen Sie die Datei wpa_supplicant.con
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Windows:
Navigieren Sie im Explorer in das Verzeichnis \etc\wpa_supplicant\ und öffnen Sie die Datei wpa_supplicant.conf mit einem Editor.
Tragen Sie folgende Zeilen am Ende der Datei ein
network={
ssid="Netzwerkkennung“
psk="Passwort“
}
Nun bearbeiten wir noch den Power Save Modus vom W-LAN Modul
Linux:
Öffnen Sie die Datei interfaces
sudo nano /etc/network/interfaces
Windows:
Öffnen Sie mit einem Editor die Datei interfaces im Verzeichnis \etc\network\
Nun tragen Sie bitte die folgenden zwei Zeilen am Ende der Datei ein
pre-up iw dev wlan0 set power_save off
post-down iw dev wlan0 set power_save on
Sie können nun die Speicherkarte von Ihrem Computer trennen und in den Pi schieben.
Pi aktualisieren und einstellen
Starten Sie Ihren Pi. Lassen Sie ihm ein paar Sekunden zum booten. Ab jetzt verbinden Sie sich im weiteren Verlauf per SSH mit dem Pi und steuern ihn auf Befehlsebene. Linux Nutzer können dafür den Terminal, Windows Nutzer die PowerShell oder das Programm Putty.
Verbinden Sie sich mit dem Pi
ssh pi@raspberrypi
Aktualisieren Sie den Pi. Führen Sie hierfür die folgenden Befehle der Reihe nach aus. Als letztes wird der Pi neu gestartet.
sudo aptitude update
sudo aptitude dist-upgrade
sudo reboot now
Nachdem der Pi nun aktualisiert und neu gestartet ist, verbinden Sie sich wieder mit ihm per ssh
ssh pi@raspberrypi
Nun öffnen Sie das Configurationsmenü des Pi und nehmen ein paar Änderungen vor.
sudo raspi-config
Change User Password - wählen Sie ein sicheres Password!
Network Options - Hier können Sie bei bedarf den Hostnamen des pi ändern.
Localisation Options - ändern Sie die Systemzeit auf Berlin
Advanced Options - aktivieren Sie die Option "Expand Filesystem"
Danach starten Sie den Pi ein weiteres mal neu, und verbinden sich danach wieder mit ihm. Vergessen Sie den ggf. geänderten Hostname nicht.
sudo reboot now
ssh pi@HOSTNAME
Installation der Software und Pakete
Als nächstes installieren Sie die Software damit der Pi als Webserver funktioniert und die Pakete die man für den Betrieb der Cloud braucht sowie die Datenbank
sudo aptitude install apache2 php7.0 php7.0-gd php7.0-curl php7.0-common php7.0-intl php-pear php-apcu php7.0-xml libapache2-mod-php7.0 php7.0-mbstring php7.0-zip curl libcurl3 libcurl3-dev php7.0-mysql mariadb-server-10.1 smbclient
Nun kontrollieren Sie ob der Webserver richtig funktioniert.
sudo service apache2 restart
sudo service apache2 status
Sie können die Anzeige mit der Taste “Q” schließen.
Erstellen der Datenbank
Installieren Sie die Datenbank
sudo mysql_secure_installation
Bestätigen Sie während der Installation alle Anfragen mit “Y”
Nach der Installation starten Sie MariaD
sudo mariadb
Erstellen Sie eine neue Datenbank für die Nexcloud.
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Legen Sie als nächstes den User nextcloud an. Ersetzen sie im Code den Platzhalter ‘password’ durch ein sicheres Password!
CREATE USER nextcloud@localhost identified by 'password';
GRANT ALL PRIVILEGES on nextcloud.* to nextcloud@localhost;
FLUSH privileges;
quit;
Installation der Nextcloud
Wechseln Sie nun in das Verzeichnis in dem die Nextcloud installiert wird.
cd /var/www/html
Als nächstes wird die Nextcloud Software runtergeladen und endpackt.
Achten Sie bitte auf die Versionsnummer. In meinem Fall war es 13.0.6, seit dem hat die Software aber einige Updates bekommen. Die aktuelle Versionsnummer erfahren Sie auf dem Webseite von Nextcloud!
curl https://download.nextcloud.com/server/releases/nextcloud- 13.0.6.tar.bz2 | sudo tar -jxv
USB Datenträger formatieren und mounten
Sollten Sie die Daten der Clouduser auf einem externen USB Datenträger speichern wollen, sollten Sie jetzt den Stick oder die Festplatte einrichten. Ich habe hier einen USB Stick genommen, und im Standardverzeichnis von Nextcloud gemountet.
Erstellen Sie den Mountpunkt für den Datenträger.
sudo mkdir -p /var/www/html/nextcloud/data
Verbinden Sie nun den Datenträger mit dem Pi, und überprüfen dann seine Adresse. In meinem Fall war dies sda1.
cat /proc/partitions
Formatieren Sie den Datenträger mit dem Filesystem ext4
Notieren Sie sich auf jeden Fall die UUID des Gerätes, diese wird noch gebraucht
sudo mkfs.ext4 /dev/sda1 <---IHRE ADRESSE BEACHTEN!
Als nächstes tragen Sie den Datenträger in der Datei fstab ein. Dies hat den Vorteil, der Datenträger immer beim booten genau an diese Stelle gemountet wird, und zwar genau dieser Datenträger.
Öffnen Sie hierfür die Datei fsta
sudo nano /etc/fstab
Und tragen die folgende Zeile ein.
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx /var/www/html/nextcloud/data auto nosuid,defaults 0 2
Nun wird der Pi wieder neu gestartet. Danach sollte der Datenträger automatisch im angegebenen Verzeichnis gemoutet sein.
sudo reboot now
Melden Sie sich wieder am Pi an per SSH an.
ssh pi@HOSTNAME
Schauen Sie, ob der Datenträger richtig gemountet wurde.
blkid
Jetzt müssen noch ein Paar Rechte und Benutzer verändert werden.
cd /var/www/html/nextcloud
sudo chown www-data:www-data /var/www/html/nextcoud/data
sudo chmod 750 /var/www/html/nextclod/data
sudo chown www-data:www-data config apps
Starten Sie den apache2 Server neu um die Installation im Browser abzuschießen.
sudo reboot now
Abschluss der Installation
Wenn der Pi neu gestartet ist können Sie mit der eigentlichen Installation der Nextcloud im Browser alles fertigstellen. Öffnen Sie hierfür im Browser die Adresse der Nextcloud in ihrem Netzwerk.
HOSTNAME-IHRES-PI/nextcloud
Beim ersten Aufruf der Seite werden Sie aufgefordert einen Administratoraccout anzulegen, sowie die Daten für die Datenbank einzutragen.
Den Benutzernamen und das sichere Password für die Nextcloud können Sie an dieser Stelle frei wählen.
Der Name für die Datenbank wie auch für den Datenbanknutzer ist nextcloud. Das Password haben Sie beim Einrichten der Datenbank selber gewählt.
Nachdem dies auch geschafft ist, sollten Sie nun eine eigene Cloud im LAN haben. In den kommenden Tagen werde ich eine Anleitung veröffentlichen, wie man seine Cloud nun über das Internet erreichbar macht.
Ich hoffe auch bei Ihnen hat bis hier her alles geklappt.