Die eigene Cloud mit OwnCloud auf dem Raspberry Pi 2/3

In diesem Tutorial möchte ich Euch zeigen, wie ihr mit einem Raspberry Pi Modell B einen funktionierenden Webserver einrichtet und anschließend OwnCloud als Cloudsystem aufzuspielen. Die Konfiguration des vorgestellten Systems ist für Testzwecke oder Arbeiten im lokalen Netz gedacht, nicht für den professionellen Einsatz im Internet. Ein Einsatz im Internet erfordert nicht nur die Kenntnis des Installierens, zudem noch viele Sicherheitsaspekte.

Diese Aspekte werden hier nicht vorgestellt. Das Kapitel Raspbian installieren wird anhand von MacOSX vorgestellt, alle weiteren Kapitel funktionieren plattformunabhängig also auch mit Windows. Windows Nutzer dürfen/müssen an dieser Stelle nicht aufhören, ich habe dort einen Link mit geeigneten alternativ Software zur Verfügung gestellt. Ab dem Kapitel Webserver installieren bewegen sich alle Systeme wieder am gleichen Strang.

Dieses Tutorial steht unter einer Creative Commons CC-BY-SA Lizenz und darf frei verwendet, bearbeitet und weitergegeben werden, solange der Autor genannt wird und die neue Version unter denselben Bedingungen angeboten wird. Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Zitiervorschlag: Steger, Manfred: Die eigene Cloud mit OwnCloud auf dem Raspberry Pi. Medienzentrum EW, Uni Hamburg. CC BY-SA.


Grundausstattung

Raspbian OS aufsetzen

Damit das Tutorial komplett abgearbeitet werden kann, sind die oben genannten Bauteile nötig. Es gibt zwei Möglichkeiten zum Start,

  1. Mit Tastatur und Bildschirm oder

  2. alles über Remote (SSH und Terminal).

Ich habe mich für die zweite Variante entschieden, da einfach weniger Verkabelung und Ausrüstung nötig ist.

SD-Karte vorbereiten

Das Betriebssystem für den Raspberry Pi (Raspbian Wheezy) muss auf eine SD-Karte gespielt werden. Hierfür benötigt ihr die ISO Datei des Betriebssystems Raspbian Wheezy Image und ein paar kleine Helfer (MAC OSX): Pi Filler,Pi Copier und Pi Finder, diese findet ihr unter: ivanx.com/raspberrypi. Für Windows kann der Win32 Image Writer genutzt werden, zu finden unter: https://launchpad.net/win32-image-writer.

Ein externes Video hierzu:

Youtube Video von Bruce Fulton zur Erstellung einer WIN32 Disk Imager von Raspbian OS für den Raspberry Pi

Raspbian installieren unter MacOSX

Wie ihr nun vorgehen müsst, seht ihr in den nachfolgenden Videos. Zurücklegen und genießen. (Der Image-Clone-Prozess wird nur für MacOSX im Video gezeigt, im nächsten Kapitel geht es wieder für beide Systeme weiter.)

Video 1: Manfred Steger's Video Raspbian Image von der Herstellerseite herunterladen


Video 2: Manfred Steger's Video SD Karte formatieren und Raspbian installieren


Video 3: Manfred Steger's Video Raspberry Pi im Finder mit Pi Finder im Netzwerk identifizieren


Raspbian installieren unter Windows

Steckt jetzt die SD-Karte in das Kartenlesegerät, ladet das Programm herunter, installiert es anschließend mit der Standardkonfiguration und startet es. Die minimalistische Oberfläche von Disk Imager lässt kaum Fehlerquellen zu, ihr müsst lediglich auf das Ordner Symbol klicken und die heruntergeladene Raspbian Image Datei laden (In den Screenshots und den Videos wird OpenELEC installiert, nehmt anstelle die Raspbian Image).

Win32 Disk Imager Übersicht mit roter Markierung auf dem Öffnen-Symbol. Hier mit wird die Raspbian Image

Falls Euch die Datei nicht angezeigt wird, klickt neben dem Dateinamen auf die Dateiformate und wählt *.*, hiermit werden euch alle Dateitypen angezeigt.

\*.* auswählen im Dropdown der verfügbaren Dateiformate um alle Dateitypen anzuzeigen, falls die OpenELEC Image Datei nicht sichtbar ist.

Wählt die Image Datei aus und klickt auf öffnen. Neben dem Pfad der Image Datei müsst ihr noch den "Device", sprich das Speichermedium für den Clone Vorgang wählen. Passt hier sehr gut darauf auf, dass ihr den richtigen Laufwerksbuchstaben, und zwar den der Speicherkarte wählt. Seid hier doppelt vorsichtig! Eine Warnung taucht auf, die in etwa dem entspricht, was ich einen Satz vorher geschrieben habe. Bestätigt den Vorgang und wartet ab, bis der Vorgang beendet ist. Voilà!

Raspbian ist nun bootfähig auf der Speicherkarte und wartet darauf, in den Raspberry gesteckt zu werden. Falls euch Schritte unklar sind oder zu kompliziert, ein kleines Video zeigt die einzelnen Schritte nochmals genau. Nochmals der Hinweis, dass das Video die Installation von OpenELEC zeigt und nicht von Raspbian. Überspringt das Herunterladen der Image Datei und nehmt Eure geladene Raspbian Image.

Video: Download OpenELEC sowie Download und Installation Win32 Disk Imager unter Windows 8.1:

Manfred Steger's Video zu OpenELEC und Win32 Disk Imager Installation unter Windows 8.1

Video: Clone Vorgang von OpenELEC auf SD-Karte mit Win32 Disk Imager:

Manfred Steger's Video Clone OpenELEC auf SD Card via Win32 Disk Imager unter Windows 8.1

Sobald der Transfer der Daten auf die SD-Karte abgeschlossen ist, könnt Ihr die SD-Karte in den Raspberry stecken. Fahrt den Raspberry mit angeschlossenem Monitor und Tastatur hoch. Die Standard Nutzerdaten beim ersten Login heißen:

User: pi
Passwort: raspberry

(falls das Passwort falsch ist, raspberrz oder raspberrx schreiben, wegen nicht-deutschem Tastaturlayout).


Raspberry Pi konfigurieren

Mit dem Befehl:

sudo raspi-config

könnt ihr den Burschen genauer unter die Lupe nehmen und an ein paar interessanten Schrauben drehen! Das Video zeigt Euch wie. Im Video sieht man leider nicht welche Tasten ich drücke - also kurz was getan werden muss: Grundsätzlich navigiert ihr mit den Pfeiltasten der Tastatur, aus- oder abwählen mit der Leertaste und zu einem Navigationselement springen (OK oder Finish) funktioniert mit der Tab-Taste.

Video: Raspberry konfigurieren im Terminal

Manfred Steger's Video Clone OpenELEC auf SD Card via Win32 Disk Imager unter Windows 8.1


Raspbian updaten und upgraden

Ein Reboot macht vieles Gut - bevor wir fortfahren einmal das System neu starten. Hierzu folgenden Befehl in die Konsole hacken:

sudo reboot

Wartet nun etwa 1 Minute und logt Euch über die Konsole über SSH ein. Der Befehl hierfür lautet:

ssh pi@ip-adresse-des-pis

Wenn ihr die IP nicht mehr wisst, benutzt das Tool: Pi Finder, damit bekommt Ihr die IP heraus. Alternativ könnt ihr die IP auch direkt am Pi über die Tastatureingabe herausfinden. Gebt dazu:

ifconfig

in die Console ein und lest die IP ab. Wir benötigen nun die Befehle:

sudo apt-get update
sudo apt-get upgrade

Aber was machen diese Befehle eigentlich? Hierzu könnt ihr die Befehlstabelle herannehmen:

Die Liste enthält folgende Befehle, die mit apt-get aufgerufen werden können: update, upgrade, install, remove, autoremove, purge, source, build-drp, dist-upgrade, dselect-upgrade, clean, autoclean, check, markauto, unmarkauto, changelog, und download

Das Video zeigt Euch wie ihr die Befehle in die Konsole bekommt.

Manfred Steger's Video Raspberry Pi Raspbian mit dem Terminal update und upgrade

Ein kleiner Tipp noch, wollt Ihr die Dateistruktur des Linux Systems ohne FTP Programm einsehen, könnt Ihr den Midnight Commander (mc) installieren:

sudo apt-get install mc

Starten könnt ihr das Programm mit dem einfachen zwei Buchstaben:

mc

Webserver (LAMP) aufsetzen

Vorbereitung

Im vorherigen Kapitel habt Ihr gesehen, wie Raspbian installiert und konfiguriert wird. Hier folgt erstmal ein kleiner Einschub, da wir nun darauf achten, dass das gesamte Tutorial plattformunabhängig genutzt werden kann. Unter MAC OSX ist die Steuerung des Pi's über das Terminal schnell gemacht - die Windowsianer müssen sich leider erstmal einen kleinen Helfer holen, denn Windows hat mit der UNIX Shell nichts am Hut. Wieso aber der MAC? Macintosh entstand aus Linux und ist sogar (noch) UNIX zertifiziert. So weg vom Exkurs - ab zum Workshop. Damit die nachfolgenden Schritte des Tutorials unter Windows funktionieren, müsst ihr xMing ;und _PuTTY_starten - Anweisungen findet Ihr im Video:

Manfred Steger's Video zur Installation von PuTTY unter Windows 8.1


Apache installieren

Als erstes müssen wir uns natürlich auf den Raspberry Pi einloggen:

ssh pi@ipadresse

eingeben, Passwort eintippen und danach den Befehl eingeben:

sudo bash

Puh, jetzt aber Vorsicht! Wir haben nun die "ultimative Macht", alles was wir sagen wird OHNE Kompromisse erledigt.

Damit wir den Apachen (Webserver) installieren können, benötigen wir Nutzergruppen – ansonsten schlägt die Installation fehl. Mit den folgenden Befehlen könnt ihr die Standardnutzergruppen für den Apachen anlegen.

sudo groupadd www-data
sudo usermod -a -G www-data www-data

Geschafft? Dann sehen wir mal nach ob mittlerweile neue Updates vorhanden sind:

sudo apt-get update

Nach einem Update bzw. Upgrade sollte Linux, oder der aktualisierte Dienst neu gestartet werden.

sudo reboot

Alles aktuell – sehr schön. Hier kommt der Befehl für die Apache Installation:

sudo apt-get install apache2 apache2-doc apache2-utils

Nachdem der Installationsvorgang beendet ist, öffnet den Browser – gebt die IP-Adresse Eures Pis ein.

It Works!!!

Der Webserver läuft. Das Ganze auch noch als Video zum Nachvollziehen.

Manfred Steger's Video zur Installation Apache Webserver auf dem Raspberry Pi auf Raspbian OS


Raspbian updaten und upgraden

Ein Reboot macht vieles Gut - bevor wir fortfahren einmal das System neu starten. Hierzu folgenden Befehl in die Konsole hacken:

sudo reboot

Wartet nun etwa 1 Minute und logt Euch über die Konsole über SSH ein. Der Befehl hierfür lautet:

ssh pi@ip-adresse-des-pis

Wenn ihr die IP nicht mehr wisst, benutzt das Tool: Pi Finder, damit bekommt Ihr die IP heraus. Alternativ könnt ihr die IP auch direkt am Pi über die Tastatureingabe herausfinden. Gebt dazu:

ifconfig

in die Console ein und lest die IP ab. Wir benötigen nun die Befehle:

sudo apt-get update
sudo apt-get upgrade

Aber was machen diese Befehle eigentlich? Hierzu könnt ihr die Befehlstabelle herannehmen:

Die Liste enthält folgende Befehle, die mit apt-get aufgerufen werden können: update, upgrade, install, remove, autoremove, purge, source, build-drp, dist-upgrade, dselect-upgrade, clean, autoclean, check, markauto, unmarkauto, changelog, und download

Das Video zeigt Euch wie ihr die Befehle in die Konsole bekommt.

Manfred Steger's Video Raspberry Pi Raspbian mit dem Terminal update und upgrade

Ein kleiner Tipp noch, wollt Ihr die Dateistruktur des Linux Systems ohne FTP Programm einsehen, könnt Ihr den Midnight Commander (mc) installieren:

sudo apt-get install mc

Starten könnt ihr das Programm mit dem einfachen zwei Buchstaben:

mc

PHP, MySQL und phpMyAdmin aufrüsten

It Works!! Aber viel können wir damit noch nicht anstellen – ein handelsüblicher Webserver bietet einige Features, damit z.B. dynamische Internetseiten, Videostreams etc. überhaupt funktionieren. Wir rüsten nun PHP, MySQL und phpMyAdmin nach, damit später Owncloud auch auf unserem Webserver läuft.

Damit wir wieder vollen Zugriff haben und auch die gewünschten Services installieren können, benötigen wir uneingeschränkte Zugriffsrechte:

sudo bash
apt-get install libapache2-mod-php5 php5 php-pear php5-xcache

Nun haben wir PHP5 nachgerüstet, damit aber eine Cloud wie Owncloud läuft, benötigen wir noch eine Datenbank und die Verknüpfung zu dieser. Wir haben als Standardpasswort für den Datenbankzugriff iuk gewählt.

apt-get install php5-mysql
apt-get install mysql-server mysql-client

und ein Tool Namens phpMyAdmin, mit dem wir die Datenbank verwalten können:

apt-get install phpmyadmin

Das Ganze wie gewohnt als Video zum Nachvollziehen.

Manfred Steger's Video zur Aufrüstung des Webserver von PHP, MySQL und phpMyAdmin


Damit wir auch sicher sind, ob PHP wirklich mit den ganzen Features vorhanden ist, machen wir einen Check. Das Verzeichnis für die Internetseiten unter Linux ist standardmäßig:

/var/www

Seit dem Update auf Jessie (Ende 2015) ist das Standardverzeichnis:

/var/www/html

Logt Euch in den Pi ein und nutzt folgenden Befehl:

cd /var/www oder cd /var/www/html

Mit dem Befehl cd navigieren wir durch die Verzeichnisse und mit dem nachfolgenden Pfad /var/www oder /var/www/html an den gewünschten Ort. Wir erstellen nun eine Datei mit dem Namen phpinfo.php und tragen dort einen Befehl für das Auslesen der PHP Installation aus:

sudo nano phpinfo.php

Nano steht für den Nano-Editor, mit dessen Hilfe können wir nun die PHP-Datei beschreiben. Der Befehl für das Auslesen der PHP Installation lautet:

<?php
phpinfo();
?>

Tragt diesen Code in den Nano-Editor ein und speichert mit CTRL+O das Dokument ab, mit CTRL+X könnt Ihr den Editor verlassen.

Jetzt müssen wir natürlich auch noch testen, ob das Ganze Früchte getragen hat. Gebt im Webbrowser die IP des Pis an und schreibt dahinter:

/phpinfo.php (z.B. 192.168.2.10/phpinfo.php)

Manfred Steger's Video zum Testen der PHP Installation auf dem Raspberry Pi auf Raspbian OS

Das hat geklappt? Dann weiter mit der Verknüpfung zwischen phpMyAdmin und der SQL Datenbank. Damit wir unsere Datenbank über eine grafische Oberfläche administrieren können, benötigen wir noch eine kleine Einstellung bzw. die Verknüpfung des Diensts phpmyAdmin in unserer Server Konfigurationsdatei apache.conf.

nano /etc/apache2/apache2.conf

Mit dem Nano-Editor schreiben wir nun ans Ende der Konfigurationsdatei den Befehl zum Einbinden von phpMyAdmin:

Include /etc/phpmyadmin/apache.conf

Tipp: Damit Ihr schnell ans Ender der Datei kommt, drückt mehrmals CTRL+V.

Überspeichert das Dokument – ihr wisst nicht wie??? Dann nochmals oben nachlesen!

Als nächstes benötigt OwnCloud gesonderte Rechte, die für den Webserver hinterlegt werden müssen:

sudo nano /etc/apache2/sites-enabled/000-default

Sucht nach dem Eintrag:

<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>

Ändert dort AllowOverride None in AllowOverride All. Standardmäßig ist die Uploadgröße auf ein paar Megabyte beschränkt, damit größere Projektdateien sowie Mediadateien in die OwnCloud wandern können, müssen wir die maximale Uploadgröße in der php.ini anpassen:

sudo nano /etc/php5/apache2/php.ini

Sucht nach den Einträgen:

upload_max_filesize und post_max_size

Ändert nun den Standardwert in einen Wert Eurer Wahl ab. Ich habe in diesem Fall 2 Gigabyte gewählt:

upload_max_filesize = 2G

post_max_size = 2G

Zu guter Letzt, entfernen wir noch die index.html Datei aus dem www Verzeichnis. Auf diese Seite verweist der Webserver automatisch, wenn die URL vom Pi in die Adresszeile des Browsers eingegeben wird.

sudo rm /var/www/index.html

Seit dem Update auf Jessie (Ende 2015) ist das Standardverzeichnis:

sudo rm /var/www/index.html

Nun steht die Verbindung – damit sie aber aktiv wird, muss der Apache neu gestartet werden:

/etc/init.d/apache2 restart

Wie immer, nachdem ihr etwas installiert habt, Paketstruktur neu einlesen, upgraden und das System neustarten.

sudo apt-get update
sudo apt-get upgrade
sudo reboot

phpMyAdmin aufrufen

Wenn alle Schritte erfolgreich absolviert wurden, können wir mittels phpMyAdmin auf die Datenbank zugreifen. Gebt hierzu die Adresse Eures Pis mit einem folgenden /phpmyadmin ein.

Der Benutzername für die Standard-Datenbank lautet:

root

und das zugehörige Passwort:

iuk

Erstellt nun eine neue Datenbank und einen Benutzer, in unserem Beispiel haben wir beide ownloud genannt. Falls Ihr keinen Benutzer anlegt, kann auch der Default-User root benutzt werden, standardmäßig hat dieser Nutzer kein Passwort was natürlich nicht gut ist!

Eine neue Datenbank kann über das Head-Menü: Datenbanken > Neue Datenbank anlegen > Anlegen-Button erstellt werden. Nutzt als Datenbankname owncloud anderenfalls erhaltet Ihr einen Error establishing a database connection Fehler im nachfolgenden Tutorial. Der Fehler besagt, dass die Verbindung zur Datenbank nicht hergestellt werden kann, dass liegt entweder an der nicht vorhandenen Datenbank oder einem falschen Passwort.

OwnCloud Installieren

Owncloud herunterladen, entpacken und installieren

Mit folgenden Befehlen, ladet ihr das Konfigurationsscript der Owncloud in das Webverzeichnis Eures Webservers:

cd /var/www

Seit dem Update auf Jessie (Ende 2015) ist das Standardverzeichnis:

cd /var/www/html
wget https://download.owncloud.com/download/community/setup-owncloud.php

Nun müssen wir das WWW-Verzeichnis für uns beschreibbar machen:

chmod 777 /var/www

Keine Sorge, 777 heißt, das jeder Benutzer alles in diesem Verzeichnis machen darf - dies heben wir nach der Installation wieder auf. Ruft nun das Konfigurationsskript im Browser auf, indem Ihr hinter die IP-Adresse des raspberrys /setup-owncloud.php wie z.B. 192.168.2.1/setup-owncloud.php einfügt und bestätigt.

Das Bild zeigt den Startbildschirm der OwnCloud Installation mit dem nötigen dependency check.

Wenn alles richtig konfiguriert wurde, sollte das Bild wie oben erscheinen. Gebt ihr anstelle von owncloud einen anderen Namen ein, wird dies als Verzeichnis gewählt. Gebt ihr einen einfachen . ein, wird OwnCloud direkt im Webverzeichnis installiert. Was ist nun der Unterschied? Wollt Ihr mehrere Anwendungen auf dem Webserver laufen lassen, z.B. noch eine Internetseite, dann ist es sinnvoll für jedes Projekt einen Ordner zu erstellen.

Wollt Ihr ausschließlich OwnCloud auf dem Raspberry Pi laufen lassen, legt es mit dem . auf die oberste Ebene ab. Ich habe mich dafür entschieden, OwnCloud im Verzeichnis owncloud zu installieren. Klickt auf "Next" und legt im nächsten Fenster einen Benutzer an. Ich habe mich für User: pi und Password: raspberry entschieden.

Das Bild zeigt den Startbildschirm der OwnCloud Installation mit dem nötigen dependency check.

Zu guter Letzt, die Installation mit den Button "Installation abschließen" fertigstellen. Ihr solltet automatisch bei der OwnCloud angemeldet werden. Nun müssen wir das WWW-Verzeichnis wieder schützen und die Schreibrechte anpassen. Tippt nun in die Console folgenden Befehl:

chmod 775 /var/www

Seit dem Update auf Jessie (Ende 2015) ist das Standardverzeichnis:

chmod 775 /var/www/html
Gravatar

Fertig gelesen? Traumhaft! Falls Dir der Beitrag gefallen hat teile ihn bitte. Falls nicht, schreibe einen konstruktiven Kommentar. Danke und bis bald.

Comments:

Kommentare unterstützt von Disqus.