Teil 4: OwnCloud auf dem Raspberry Pi 2 einrichten

Artikelserie Raspberry Pi 2 – OwnCloud auf dem Raspberry Installieren

Nachdem du mit Hilfe der ersten drei Teile (1 , 2 , 3) dieser Serie schon einen rechtraspberry großen Funktionsumfang auf deinem Raspberry nutzen kannst zeige ich dir hier wie du dir mit Hilfe von OwnCloud deine eigene Cloud baust, völlig unabhängig von Dropbox und GoogleDrive. Wie du hier nachlesen kannst warnt auch Herr Snowden vor diesen Diensten. Um deine eigene OwnCloud auf dem Raspberry aufzusetzen lies einfach hier weiter!

Was benötigst du für deine eigene Cloud?

Als erstes benötigst du, wie immer, einen Raspberry Pi der mithilfe des ersten Artikels konfiguriert ist. Dieser Artikel basiert dann im weiteren Verlauf auf der OwnCloud Version 8.1. Übrigens empfehle ich hier aufgrund der Leistungsfähigkeit unbedingt einen Raspberry Pi 2 zu nutzen. Als Webserver für OwnCloud kommt hier Apache zum Einsatz. Außerdem solltest du natürlich eine USB-Festplatte oder einen USB-Stick besitzen auf dem später dann deine Daten liegen, dein Speichermedium sollte Außerdem in NTFS formatiert sein. Damit wird der Stick oder die Festplatte dann zu deiner Cloud und du bist nicht nur unabhängig von Dropbox, Googledrive und den anderen Cloud-Anbietern sondern hast (je nach Festplatte) auch deutlich mehr Platz zur Verfügung. Damit dein Raspi das NTFS Format lesen kann installiere zu erst ein dafür vorgesehenes Programm mit dem Befehl:

sudo apt-get -y install ntfsprogs

Los geht’s – so installierst du deine eigene Cloud

Der Raspberry Pi sollte nun NTFS lesen können. Allerdings muss zum ablegen und lesen deiner Daten erst einmal ein Ordner im Media Verzeichnis angelegt werden. Ich nenne diesen einfach mal “usb-Festplatte” – deiner Fantasie sind natürlich keine Grenzen gesetzt. MIt folgendem Befehl legst du deinen Ordner an:

sudo mkdir /media/usb-Festplatte

Bevor du nun deine Festplatte oder den USB Stick mit deinem Raspberry verbindest solltest du erst einmal die Log-Ausgabe aktivieren:

tail –f /var/log/Messages

Meiner Festplatte wurde sda: sda1 zugeteilt. Um diesen Bildschirm zu verlassen drückt einfach STRG+C. Um die UDID eurer Festplatte zu erhalten gibst du nun:

sudo blkid /dev/sda1

ein. Denke aber daran im obigen Befehl SDA1 durch den “Namen” deiner Festplatte zu ersetzen. Nachdem du den Befehl mit ENTER bestätigt hast notiere dir die UDID. Damit dein Raspberry Pi die Festplatte beim start automatisch einbindet musst du nun noch die FSTAB Datei editieren. Das erledigst du mit der Eingabe des Befehls:

sudo nano /etc/fstab

Am Ende dieser Datei fügst du nun folgendes ein. Bedenke bitte auch hierbei deine UDID zu ändern:

UDID=DEINE UDUD /media/usb-festplatte/ ntfs-3g permissions,defaults,Auto

Speicher die Änderungen nun mit STRG+X, Y und Enter und boote deinen Raspberry mit sudo reboot neu.

DynDNS für deine Cloud anlegen

Damit deine eigene OwnCloud auf dem Raspberry in Zukunft immer unter der selben Adresse erreichbar ist benötigst du nun noch einen DynDNS Dienst (z.B. NO-IP). Folge den Anweisungen um dort einen Account zu erstellen. Damit dein Pi regelmäßig seine aktuelle IP an den Dienst weitergibt installierst du den Dienst auf deinem Raspberry mit:

wget http://www.noip.com/client/linux/noip-duc-linux.tar.gz

entpacke das Paket mit:

tar xvfz noip-duc-linux.tar.gz

wechsle in das Verzeichnis das du gerade entpackt hast (ggf. benutzt du eine andere Version und musst die letzten Zeichen des Befehls ändern):

cd noip-2.1.9-1/

installiere nun das Paket:

sudo make install

Während der Installation wirst du nach deinen Zugangsdaten gefragt und kannst einen Update Intervall wählen (ich verwende 15 Minuten). Nun legen wir noch fest das NO IP mit dem System gestartet werden soll:

crontab -e

füge am Ende nun:

@reboot sudo /usr/local/bin/noip2

ein und speichere wieder mit STRG+X, Y, ENTER. Nachdem ihr den Raspi nun neu gestartet habt sollte dieser

OwnCloud auf dem Raspberry installieren

Nun sind alle Vorbereitungen getroffen und du kannst mit der eigentlichen Installation beginnen. Zu erst musst du das OpenSuse Paket hinzufügen:

wget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_8.0/Release.key
sudo apt-key add – < Release.key
sudo sh -c “echo ‘deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_8.0/ /’ >> /etc/apt/sources.list.d/owncloud.list”

danach können wir OwnCloud installieren:

sudo apt-get update
sudo apt-get install owncloud

Hier musst du nun ein Passwort für die Datenbank wählen. Ist die Installation abgeschlossen nehmen wir noch einige Anpassungen vor. Erstmal erstellst du einen neuen Benutzer und eine neue Datenbank. Öffne zuerst die MySQL Kommando Zeile (das eben gewählte Passwort wird benötigt):

sudo mysql -u root -p

Mit folgendem Befehl erstellst du eine neue Datenbank:

CREATE DATABASE owncloud;

auf dieser Datenbank erstellst du einen neuen Benutzer:

CREATE USER ‘owncloud’@’localhost’ IDENTIFIED BY ‘PASSWORT’;

nun berechtigen wir den Bentuzer auf die Datenbank:

GRANT ALL PRIVILEGES ON owncloud.* TO ‘owncloud’@’localhost’;

und beenden die MySQL Kommandozeile:

FLUSH PRIVILEGES;
Exit;

OwnCloud mit SSL sichern

Damit du über dein Smartphone oder Tablet die OwnCloud auf dem Raspberry auch sicher nutzen kannst benötigen wir nun noch SSL Zertifikate. Das gelingt dir mit folgenden Befehlen:

sudo openssl genrsa -out server.key 4096
sudo openssl req -new -key server.key -out server.csr

Den Common Name musst du nun mit der DYDNS Adresse deines Raspberry Pi austauschen. Nun hast du ein SSL Schlüsselsatz erstellt. Hieraus kannst du ein SSL Zertifikat erstellen:

sudo openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt

Die Server.crt stellt jetzt euer SSL Zertifikat dar. Nun verschieben wir die Dateien für die spätere Verwendung:

sudo chmod 400 server.key

sudo mv server.key /root/server.key
sudo mv server.crt /root/server.crt

OwnCloud Server konfigurieren

Im jetzt folgenden Schritt konfigurieren wir den Apache Server:

sudo nano /etc/apache2/sites-available/Default

Am Ende fügst du nun folgendes ein:

<VirtualHost *:443>
DocumentRoot /var/www/owncloud
ServerName DEINE DYNDNS ADRESSE
SSLEngine on
SSLCertificateFile /root/server.crt
SSLCertificateKeyFile /root/server.key
</VirtualHost>

Nun kannst du die SSL Verschlüsselung mit folgendem Befehl aktivieren:

sudo a2enmod ssl
sudo apache2ctl restart

OwnCloud über das Internet erreichen

Du musst deinem OwnCloud Server nun noch beibringen das Anfragen über DYNDNS auch an den Raspi weitergeleitet werden. Richte hierzu bitte ein PortForwarding für den Port 443 ein. Da dies bei jedem Router anders funktioniert verzichte ich hier auf eine genaue Anleitung. Vergebe außerdem eine feste IP (bzw. immer die selbe) für deinen Raspberry im Router.

Nun legst du einen Ordner auf der Festplatte für deine OwnCloud Daten an:

sudo mkdir -p /media/usb-festplatte/owncloud/data
sudo chown -R www-data:www-data /media/usb-festplatte/owncloud/data
sudo chmod 0770 /media/usb-festplatte/owncloud/data

sudo reboot

Jetzt kannstud mit der Konfiguration über deine DYNDNS Adresse beginnen:

https://DEINE-DYNDNS-ADRESSE

Hier sollte nun die OwnCloud Maske erscheinen. Hier legen wir nun Admin, Passwort und Speicherort (deine Festplatte – /media/usb-festplatte/owncloud/data) fest und wählen als Datenbank MySQL. Für die Datenbank hinterlegt ihr die Zugangsdaten die wir vorhin angelegt haben.

Nun führe noch folgende Befehle aus um die Berechtigungen anzupassen:

sudo find /var/www/owncloud/ -type f -print0 | sudo xargs -0 chmod 0640
sudo find /var/www/owncloud/ -type d -print0 | sudo xargs -0 chmod 0750

sudo chown -R root:www-data /var/www/owncloud/
sudo chown -R www-data:www-data /var/www/owncloud/apps/
sudo chown -R www-data:www-data /var/www/owncloud/config/
sudo chown -R www-data:www-data /media/usb-festplatte/owncloud/data/
sudo chown -R www-data:www-data /var/www/owncloud/themes/

sudo chown root:www-data /var/www/owncloud/.htaccess
sudo chown root:www-data /media/usb-festplatte/owncloud/data/.htaccess

sudo chmod 0644 /var/www/owncloud/.htaccess
sudo chmod 0644 /media/usb-festplatte/owncloud/data/.htaccess

sudo reboot

Nach dem Restart bist du nun auf deiner eigenen Cloud. Die entsprechenden Apps um auf deine Daten zuzugreifen findest du im jeweiligen Store. Als Adresse verwendest du dann deine DYNDNS-Adresse. Du kannst deine OwnCloud nun nach Belieben mit weiteren Features ausstatten. Lass dich auf der OwnCloud Webseite einfach ein wenig inspirieren.

Das wars! Nach 1179 gelesenen Wörtern bist du nun stolzer Besitzer deiner eigenen Cloud! Du hast Owncloud auf dem Raspberry installiert.

Solltest du bei einem der Punkte nicht weiterkommen hinterlasse doch einfach ein Kommentar und wir schauen zusammen wie es für dich weiter geht :).

 

 

3 Gedanken zu „Teil 4: OwnCloud auf dem Raspberry Pi 2 einrichten“

  1. Vielen Dank für Deinen Blog! Ich konnte ihn sehr gut nutzen, um die “Grundidee” zu bekommen.
    Allerdings hier noch eine kleine Anregung von mir: Der geschriebene Code wurde autokorrigiert, weswegen er so, wie er da steht, in weiten Teilen nicht kopiert werden sollte. So sind Hochkommata nach unten gewandert und Anführungszeichen auch, ebenso sind Bindestriche (-,kurz) zu Gedankenstrichen (–, lang) konvertiert worden. Gibt man das in die Dateien/Bash ein, klappt es nicht.
    Hier wäre eine Überarbeitung (Codeblocks?) sicherlich keine schlechte Idee 🙂

    Inhaltlich ansonsten super 🙂

  2. ” …
    OwnCloud über das Internet erreichen

    Du musst deinem OwnCloud Server nun noch beibringen das Anfragen über DYNDNS …”

    Soll doch bestimmt:
    “…
    OwnCloud über das Internet erreichen

    Du musst deinem ROUTER nun noch beibringen das Anfragen … ”
    heissen?

    Warum soviele reboots?
    Z.B. mit “sudo mount -a” die fstab neu einlesen.
    Auch nach dem Ändern der Datei-Rechte brauchts nach meiner Erfahrung kein reboot.
    Das Einrichten des data Verzeichnisses sollte auch ohne reboot klappen.
    Wir haben ja schliesslich kein Windoofs.

    Ansonsten erstklassige Anleitungen. Sind gebookmarkt und wird weitergesagt.
    Danke
    Uwe aus Berlin

    1. Hallo Uwe,

      stimmt, ich werde das ganze am Wochenende mal überarbeiten 🙂
      reboot nur zur Sicherheit 😉

      Danke für dein Feedback, solltest du Ideen haben für weitere Artikel melde dich gerne nochmal 🙂

Schreibe einen Kommentar

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