Pi als NextCloud – Server

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.

Schreibe einen Kommentar

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