Owncloud 10.0.4 auf Raspberry Pi Zero W mit Raspbian Stretch Lite

Anleitung zur Installation von Owncloud 10.0.4 auf einem Raspberry Pi Zero W mit dem Betriebssystem Raspbian Stretch Lite

Einleitung: Wieso gibt es hier noch eine Owncloud Anleitung?

Letzte Woche hat mich ein Kumpel angesprochen und geflucht, da er auf seinem Qnap die aktuelle Version von Owncloud nicht installieren kann, da die Firmware veraltete Pakete beinhaltet. Da ich bereits seit einigen Jahren Owncloud auf einem Raspberry Pi betreibe hat er mich nach Unterstützung gefragt.

Dies habe ich zum Anlass genommen um hier eine kleine Quick and Dirty Anleitung zu schreiben.

Einleitend bleibt zu erwähnen dass diese Anleitung nur die Inbetriebnahme für den Owncloud Kalender sowie Kontakte berücksichtigt. Da mein Kumpel für Dateien weiterhin sein Qnap nutzt werden PHP – Einstellungen für das Owncloud Datei Modul nicht behandelt.

Bei mir läuft aktuell noch Owncloud 8.2 auf einem Raspberry Pi B. Also dem ersten Raspberry Modell. Ein Upgrade auf eine aktuellere Version habe ich bis jetzt vermieden, da das Kalendermodul, welches ich ausschließlich nutze, ab Version 9 neu entwickelt wurde und somit beim Upgrade massive Schwierigkeiten gemacht hat.

Nun mit Owncloud 10 scheinen diese Probleme der Vergangenheit anzugehören. Somit habe ich dies auch als Chance gesehen meinen Owncloud Server neu aufzusetzen.

Ich überspringe aktuell noch den Teil Raspbian per Win32 Disk Imager auf eine SD Karte zu kopieren und anschließend die Dateien “ssh” und “wpa_supplicant.conf” hinzuzufügen, damit der Raspberry Pi Zero W sich beim ersten start sofort ins WLAN einwählt und per SSH erreichbar ist.

Auf gehts somit mit einem im Netzwerk per SSH erreichbaren Raspberry.

Als erstes verbinden wir uns mit dem Tool Putty mit dem Raspberry.

Standardmäßig meldet sich dieser nach der Grundinstallation als “raspberrypi” im Netzwerk. Wir wählen SSH und Port 22.


Die Sicherheitsmeldung kann man mit Ja bestätigen. Diese wird von Putty nur beim ersten Verbindungsaufbau angezeigt. Anschließend “kennt” Putty den Raspberry und sollte dies bei den nächsten Verbindungen nicht mehr anzeigen.


Nun verlangt der Raspberry Pi nach zugangsdaten.

In der Grundinstallation ist der Benutzername immer “pi” und das Kennwort immer “raspberry”.


Nun, da wir mit dem Raspberry Pi Zero W verbunden sind führen wir als aller erstes ein update aus. Dies ist zu empfehlen, da selbst die neuste auf der Raspberry Pi Webseite angebotene Version von Raspbian Stretch “veraltet” sein kann.

Dies wird mit folgendem Befehl getan.

Nachdem Raspbian durch “update” den Paketmanager aktualisiert hat, lädt er dann durch “upgrade” die neusten Versionen aller Pakete und installiert diese.


Nun sollte man noch mindestens die Zeitzone korrekt einstellen.

Dies kann man in der raspi-config machen mit dem Befehl:


Start der Installation aller notwendigen Pakete für Owncloud 10.0.4

Als erstes installieren wir den Webserver. Ich habe mich für Apache entschieden, da ich mit diesem bis jetzt gute Erfahrungen gemacht habe.

Zum Installieren setzt man folgenden Befehl ab: (eventuelle Rückfragen mit J bzw. Y beantworten.)

sudo apt-get install apache2

Nachdem die Installation von Apache durchgelaufen ist werden noch einige PHP – Pakete für Owncloud benötigt. Hier offenbart sich dann eine Besonderheit von Raspbian Stretch. Im Repository (“Paketlager”) gibt es keine PHP5 Pakete mehr. Somit funktionieren die meisten älteren Anleitungen im Internet nicht mehr. Stattdessen nutzen wir nun das aktuelle PHP7. Um nicht alle benötigten Pakete einzeln zu installieren kann man sie auch einfach in einem Befehl installieren lassen.


Nun muss man sich entscheiden in welcher Datenbank Owncloud seine Daten ablegen soll. In meinem Fall habe ich mich für MySQL entschieden. Da es auch später für größere Installationen geeignet ist. Zudem hat es sich seit Jahren bewährt. Auch kann ich mit dem Paket phpMyAdmin oder sogar über Windows mit der Software MySQL Workbench auf die Datenbank zugreifen und eventuell nötige Manipulationen vornehmen. Die Installation ist jedoch etwas komplizierter.

Alternativ kann man für den geplanten Einsatzzweck auch SQlite empfehlen.

Da wir uns jedoch für MySQL entschieden haben müssen wir das Paket mit folgendem befehl installieren:


Damit Owncloud nun in der Lage ist mit der MySQL Datenbank zu kommunizieren muss noch ein weiteres PHP Paket installiert werden:


Nun geht es an den Download von Owncloud.

Da wir bis jetzt noch nicht das Verzeichnis gewechselt haben befinden wir uns immer noch im “home” Verzeichnis von dem Benutzer “pi”. Statt des kompletten Pfades zeigt uns die Konsole das home Verzeichnis als “~” an.

Also prüfen wir doch mal welche Verzeichnisse und Dateien so im “home” liegen mit dem Befehl:

Wie man sieht gibt es nur einige “bash” Dateien und eine “profile” Datei. Das wird sich ändern sobald wir Owncloud heruntergeladen haben.


Um Owncloud herunterzuladen nutzen wir das Linux Tool “wget”. Dieses benötigt aber den Pfad zur Datei, welche heruntergeladen werden soll. Diesen besorgen wir uns indem wir einfach auf einem beliebigen Computer die Owncloud Webseite aufrufen. Dort navigieren wir zu den Downloads und kopieren den Download-Link der “tar.bz2” Datei.

Nun können wir den Download-Befehl eingeben:

Abhängig von der Internetverbindung dauert der Download nun einige Zeit.


Nachdem der Download abgeschlossen ist, sollten wir die Datei nun im home Verzeichnis des Benutzers “pi” finden. Also erneut ls -la.


Nun müssen wir die Datei entpacken. Das machen wir mit dem Befehl:

Der Entpackvorgang dauert eine Weile. Anschließend können wir uns das Ergebnis erneut mit “ls -la” ansehen. Es existiert nun ein Verzeichnis Owncloud.


Die heruntergeladene “tar.bz2” Datei wird nun eigentlich nicht mehr benötigt und kann mit folgendem Befehl gelöscht werden:

Ein erneutes “ls -la” zeigt uns nun, dass die Datei nicht mehr existiert. Das Owncloud Verzeichnis besteht weiterhin.


Damit wir nun per Web-Oberfläche auf Owncloud zugreifen können müssen wir das Verzeichnis noch in das Apache Webseiten Verzeichnis verschieben.

Das Apache Webseiten Verzeichnis ist in diesem Fall /var/www/html/

Dies machen wir mit folgendem Befehl: (“sudo” ist notwendig, da wir administrative Rechte für den Zugriff auf /var/www/html benötigen.)

Ein weiteres “ls -la” zeigt nun, dass auch das Verzeichnis Owncloud aus dem “home” Verzeichnis von dem Benutzer “pi” verschwunden ist.


Nun wechseln wir in der Apache Webseiten Verzeichnis in welches wir gerade den Owncloud Ordner verschoben haben. Dafür nutzen wir den Befehl:

Ein dort ausgeführtes “ls -la” zeigt uns neben der index.html Datei auch wieder unseren Owncloud Ordner.


Das bringt mich auf die Idee mal zu prüfen ob der Webserver schon läuft. Dafür rufen wir von einem beliebigen Computer (im selben Netzwerk) die Webseite http://raspberrypi/ auf. Es sollte der Inhalt der index.html aus dem vorigen schritt angezeigt werden. Dies ist eine Standard Test-Seite.


So, wenn das schon funktioniert, dann können wir ja mal spaßeshalber Owncloud an-surfen. Dafür hängen wir an die Adresse einfach den Ordnernamen mit an. http://raspberrypi/owncloud/

Siehe da, Owncloud wird angezeigt. Jedoch mit einer Fehlermeldung. Das ist verständlich. Wir sind ja noch nicht fertig.


Einrichtung von Owncloud

Für die Einrichtung sind noch einige weitere Schritte notwendig.

Owncloud benötigt ein “data” Verzeichnis innerhalb des Owncloud Ordners, in welches es alle Daten sowie die Datenbank speichert. Um dieses Anzulegen gibt man folgenden Befehl ein:

Nachdem das “data” Verzeichnis angelegt ist müssen wir noch den “Eigentümer” anpassen. Das ist notwendig, damit Apache auf die Dateien im Ordner zugreifen darf. Dies passiert mit dem Befehl:

www-data ist bei Raspbian der Apache Benutzername. Er gehört der Benutzergruppe www-data an.


Aus Sicherheitsgründen müssen nun noch die Berechtigungen auf den “data” Ordner angepasst werden, mit dem Befehl:


Nun Starten wir den Apache Webserver neu und Rufen die Owncloud Seite erneut auf:


Als ich diese Installation zusammen mit meinem Kumpel durchgeführt habe, wurde die Owncloud Installations Webseite nun angezeigt. Bei der Installation, welche ich heute für die Erstellung der Anleitung durchgeführt habe war dies leider nicht der Fall. Ich habe weiterhin die Fehlermeldung erhalten, dass Owncloud keine Schreibrechte in das “config” Verzeichnis hat:

Ein blick in die Dokumentation auf der Owncloud Webseite zeigt, dass die Verzeichnisse “data”, “config” und “apps” dem Apache Benutzer zugeordnet sein müssen. Somit habe ich das nun für “config” und “apps” noch nachgezogen mit den Befehlen:


Nun wird die Installations Webseite von Owncloud ohne Fehlermeldung angezeigt.

Also Einrichten und los geht’s… Leider nein. Wieso fragt die Oberfläche denn nach einem Datanbank-Benutzer, Passwort und Datenbank-Namen? Und woher bekommt man sie?

Ja das ist nun die Besonderheit, da wir MySQL benutzen. Wir müssen MySQL noch für die Nutzung mit Owncloud vorbereiten.


MySQL vorbereiten.

Um MySQL für die Nutzung von Owncloud vorzubereiten starten wir es erst einmal. Dafür geben wir in der Konsole den Befehl ein:

Nun sind wir mit MySQL verbunden und können Datenbankbefehle absetzen. Die Datenbankbefehle müssen hier mit einem Semikolon “;” abgeschlossen werden! (Sollte man es vergessen und Enter betätigt haben kann man es einfach einzeln in die nächste Zeile schreiben und erneut Enter drücken.)


Als erstes generieren wir also eine Owncloud Datenbank. In diesem Beispiel nennen wir sie einfach “owncloud”:


Dann generieren wir einen Datenbank-Benutzer und ein Kennwort für diesen. In diesem Beispiel heißt der Benutzer auch “owncloud” und das Kennwort ist “password” -> bitte so nicht zu hause nachmachen…


Nun muss der gerade generierte Benutzer auch berechtigt werden auf die Owncloud Datenbank zugreifen zu dürfen. Dafür setzen wir folgenden Befehl ab:


Um sicher zu gehen, dass die Berechtigungen sauber generiert werden müssen wir nun noch einen Befehl absetzen:


Anschließend verlassen wir MySQL wieder mit dem Befehl:


Letzte Schritte! Finally!

Nun kennen wir also den Namen der Owncloud Datenbank sowie dessen Benutzerkonto und das Kennwort.

Also rufen wir erneut die Owncloud Installations Webseite auf. http://raspberrypi/owncloud

Dort können wir die gerade angelegen Daten für die Datenbank eingeben. Auch legen wir auf diesem Bildschirm (ganz oben) das Owncloud-interne Administrator-Konto an. Bitte die Eingaben gut merken oder gleich aufschreiben, da das Kennwort nur einmal eingegeben wird!

In diesem beispiel habe ich den Benutzer OCadmin und das Kennwort ocpassword für das Owncloud Administrator-Konto gewählt.


Nun Klickt man unten auf Abschließen und wartet. (In meinem Fall auf den Raspberry Pi Zero W ca. 3 Minuten)


Anschließend bekommt man den Login-Bildschirm präsentiert und kann sich mit dem gerade definierten Owncloud Administrator-Konto einloggen:


Alle weiteren Einstellungen können nun in der Weboberfläche von Owncloud vorgenommen werden.


Demnächst folgt noch ein Beitrag in dem ich erkläre wie ich und mein Kumpel eine nächtliche Sicherung der Kalender bzw. Kontakte auf einfache Art mit Hilfe eines Qnap durchführen.

Sollten sich Fehler eingeschlichen haben freue ich mich über Feedback. Auch wenn ich irgendwo etwas ausführlicher werden sollte.

7 Antworten auf „Owncloud 10.0.4 auf Raspberry Pi Zero W mit Raspbian Stretch Lite“

  1. Vielen Dank für die Anleitung – sie war wirklich verständlich und hilfreich. Man kann Owncloud mittlerweile auch auf Stretch über die Repositories einbinden. Das finde ich wegen möglicher Updates ganz praktisch…

    sudo sh -c “echo ‘deb https://download.owncloud.org/download/repositories/10.0/Debian_9.0/ /’ > /etc/apt/sources.list.d/owncloud.list”
    apt-get update
    apt-get install owncloud-files

    Die Owncloud-Installation liegt dann unter /var/www/owncloud
    Ich habe sie nicht ins html-Verzeichnis verschoben, sondern per Symlink eingebunden:
    ln -s /var/www/owncloud/ /var/www/html/owncloud

  2. TOP Anleitung! Thanks!
    Kleine Ergänzung für diejenigen, denen angezeigt wird, dass PHP intl nicht installiert sei…
    Folgenden Schritt abschließend ausführen:

    sudo apt-get install php7.0-intl

    Nach dem Neustart von apache2 mit

    sudo service apache2 restart

    sollte das Anmeldefenster von Owncloud erscheinen und die PHP-Meldung veschwunden sein!

  3. Danke, die Installationsroutine die ohne wenn und aber funktioniert hat. Dein Kumpel kann stolz auf Dich sein.
    Ich habe seit 1 Woche alles mögliche ausprobiert was dann nicht geklappt hat.
    Es wäre interessant wenn Du weiter machst.
    Owncloud von Außen erreichbar machen.

    1. Hallo Jürgen,
      vielen Dank für dein Lob. Freut mich,dass meine Anleitung hilfreich war. Auch wenn sie ja eigentlich schon wieder “veraltet” ist.
      Tatsächlich habe ich die Owncloud Installation bereits im Internet erreichbar gemacht, da ich meinen Kalender dann doch auch unterwegs synchronisieren wollte.
      Eine Anleitung dafür steht noch aus. Sobald ich Zeit finde, werde ich sie erstellen und natürlich hier teilen.

      Gruß
      Matthias

  4. Hallo Matthias,

    sehr schönes Tutorial, vielen Dank. Da bekomme ich Lust, mal wieder einen der Raspis rauszukramen. Wenn man weiß, wie viel Arbeit die Dokumentation der Einzelschritte macht, weiß man das umso mehr zu schätzen. Ich habe mal eine Anleitung über Mail-Verschlüsselung geschrieben … nie wieder :)

    Ich melde mich hier aber mit einem ganz anderen Hinweis. Owncloud hatte ich vor Jahren auf einem Raspi laufen, um in der Familie Kontakte und Kalender abzugleichen, inkl. DynDNS.

    Für die Synchronisation von Dateien und Backups habe ich dann wegen der geringen Schreibgeschwindigkeit des Raspy irgendwann aber eine Synology gekauft.

    Owncloud lief im Grunde prima, aber auf Dauer war das doch anstrengend. Man ist ja immer selbst dafür verantwortlich, das alles fehlerfrei läuft und immer erreichbar ist. Solange man Spaß am Basteln hat, ist alles okay, im Alltag war mir das daber irgendwann mal ein System-Absturz zu viel.

    Deswegen mein Tipp: Wer nur Kalender und Kontakte über PC und Handys synchronisieren möchte, kann das bspw. auch mit dem Mail-Provider Posteo machen. Dort habe ich seit Jahren ein (mit 1 EUR/Monat kostenpflichtiges) Mailkonto, das auch Verschlüsselung anbietet. Mit CalDav und CardDav hat man ganz nebenbei auch eine Verwaltung und Synchronisation, wenngleich die Verwaltung nicht sonderlich sexy ist. Aber sie läuft unerschütterlich stabil und Posteo nimmt den Datenschutz ganz offensichtlich ernst. Dies nur als Tipp für alle, die mit einer selbstgebauten Lösung im Alltag vielleicht Probleme haben.

    Viele Grüße,

    Stephan

    1. Hallo Stephan,

      vielen Dank für dein Kommentar.
      Bezüglich des Aufwands zum Betreiben stimme ich dir zu. Es ist teilweise etwas aufwändig. Bei mir hielt es sich jedoch bis jetzt in Grenzen.
      Das letzte Mal an dem ich etwas Stress und Aufwand hatte, war ein iOS Update, welches die unverschlüsselte Verbindung zum caldav nicht mehr unterstützte.
      In Folge dessen war es notwendig meine Installation mit einem SSL Zertifikat auszustatten.

      Der Aufwand für die Anleitung hält sich etwas in Grenzen wenn man die richtigen Tools hat um Screenshots anzufertigen und sie gleich erstellt, wenn man eh alles einrichtet.

      Gruß
      Matthias

Schreibe einen Kommentar

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