Raspberry Pi: Owncloud Server installieren und einrichten

Die Cloud für Zuhause anstatt auf einen kommerziellen Anbieter angewiesen zu sein, lässt sich zwischenzeitlich einfacher den je realisieren. Wer eine Alternative zu Dropbox sucht und mit Google Drive und Co nicht glücklich wird, findet zahlreiche alternative Lösungen. Dieser Artikel erklärt, wie sich auf einem Raspberry Pi Owncloud installieren und anschließend einrichten lässt.

Die Gründe für das Hosten eines eigenen Cloudservers sind zahlreich und es gibt viele unterschiedliche Hard- und Softwarelösungen. Eine erste Auswahl wurde mit dem Vergleich von Owncloud, Seafile und BitTorrent Sync getroffen. Es wird eine Software gesucht, die auf dem super günstigen, kleinen und stromsparenden Raspberry Pi läuft.

Owncloud auf dem Raspberry Pi installieren
Owncloud auf dem Raspberry Pi installieren (Bild: Owncloud.com)

Raspberry Pi: Owncloud Server installieren und einrichten

Owncloud ist eine auf PHP entwickelte freie Software für das Speichern von Daten auf einem eigenen Server. Das kann ein gehosteter Webserver oder ein entsprechend konfigurierter privater Computer sein. Der Funktionsumfang von Owncloud ist gigantisch und würde den Rahmen des Beitrags sprengen. Kurz gefasst, über Owncloud lässt sich von Dateien über Kalender bis zu Kontakte alles synchronisieren. Eine der Besonderheiten ist die Dateiversionierung, die das Zurücknehmen von Änderungen ermöglicht. Wer Überlegungen zur Hardware anstellt, findet in der Raspberry Pi 3 Kaufberatung einige brauchbare Tipps und Links.

Für die Installation von Owncloud auf einem Raspberry Pi muss man ein kein eingefleischter Linux-Profi sein, sondern lediglich etwas gesunde Neugierde mitbringen und diese Anleitung Schritt für Schritt durcharbeiten. Diese Anleitung setzt ein lauffähiges Raspbian oder eine ähnliche Distribution voraus. Die Artikel Raspberry Pi 3 unter OS X einrichten sowie Raspberry Pi 3 unter Windows einrichten helfen bei der Erstinstallation.

Schritt 1: Betriebssystem updaten

Vor der Installation von Owncloud auf dem Raspberry Pi werden alle Pakete des Betriebssystems auf den aktuellen Stand gebracht. Das erfolgt mit folgendem Befehl über den Terminal:

sudo apt-get update && sudo apt-get upgrade

Schritt 2: Webserver Nginx und PHP installieren

Die Installation von Nginx auf dem Raspberry Pi ist eine eigene Anleitung. Diese muss vor der Installation von Owncloud ausgeführt werden.

Schritt 3: SWAP erweitern

Der SWAP ist ein Zwischenspeicher und wird ähnlich wie der Arbeitsspeicher behandelt. Die SWAP-Datei wird dabei auf einem permanenten Speichermedium (beim Raspberry Pi ist es die SD-Karte) abgelegt. Eine Erweiterung der SWAP ist kostengünstiger als beispielsweise den Arbeitsspeicher zu erweitern, dafür nicht so reaktionsschnell wie der RAM.

Zuerst muss die SWAP-Datei erzeugt werden. Als Faustregel wird gerne RAM * 2 = SWAP genommen. Für die meisten Anwendungen auf dem Raspberry Pi genügt der Arbeitsspeicher plus 1024 MB an SWAP. Für den Raspberry Pi 3 Model B sollten 1024 MB auf der SD-Karte für den SWAP reserviert werden.

sudo su -c 'echo "CONF_SWAPSIZE=1024" > /etc/dphys-swapfile'
sudo dphys-swapfile setup

Nachdem die SWAP-File erzeugt wurde, ist diese einmalig zu aktivieren.

sudo dphys-swapfile swapon

Schritt 4: Datenbank installieren

In Schritt 2 wurde mit dem Nginx Webserver nur PHP installiert. Zusätzlich wird für die Owncloud Installation auf dem Raspberry Pi auch eine Datenbank benötigt. Während der Installation des MySQL-Server ist ein root-Passwort für den MySQL-Server zu vergeben. Dieses sollte ausreichend sicher sein, da root alle Rechte hat. Wie aus Schritt 2 bekannt, erfolgt auch hier die Installation aus dem stretch Release.

sudo apt-get install -t stretch php-apc mysql-server php7.0-mysql

Schritt 5: Upload-Größe von Dateien anpassen

Wer große Dateien über Owncloud hochladen möchte, muss dazu zwei Einträge in der php.ini entsprechend anpassen. Die upload_max_filesize und post_max_size können hier um beliebig große Werte erweitert werden. Gleichzeitig empfiehlt es sich den Standard-Zeichensatz von PHP auf UTF-8 ändern. Das verhindert Probleme mit Umlauten in Dateinamen.

sudo nano /etc/php/7.0/fpm/php.ini

Die alten Werte sehen beispielsweise wie folgt aus:

upload_max_filesize = 2M
post_max_size = 8M
;default_charset = "UTF-8"

Ich habe diese durch folgendes ersetzt:

upload_max_filesize = 20480M
post_max_size = 20480M
default_charset = "UTF-8"

Zusätzlich sind folgende Zeilen zu suchen:

;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

Hier müssen die „;“ am Zeilenanfang entfernt werden:

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Die php.ini ist sehr lang. Mit Strg + W lässt sich diese nach den gewünschten Werten durchsuchen. Mit Strg + X, Y und Enter speichern und schließen. Das ermöglicht das Hochladen von bis zu 20 GB große Dateien.

Schritt 6: Caching aktivieren und temporären Uploadpfad definieren

Die php.ini wird um weitere Zeilen erweitert um das Caching zu aktivieren und den temporären Uploadpfad zu definieren.

sudo nano /etc/php/7.0/fpm/php.ini

Hier sind folgende Zeilen ganz am Ende der php.ini einzufügen. Tipp: Strg+V halten, damit scrollt man ganz nach unten.

upload_tmp_dir = /srv/http/owncloud/data
extension = apc.so
apc.enabled = 1
apc.include_once_override = 0
apc.shm_size = 256

Mit Strg + X, Y und Enter speichern und schließen.

Schritt 7: Ordner für Uploadpfad anlegen

Der Ordner, der in Schritt 6 als temporärer Uploadpfad festgelegt wurde, muss noch angelegt und mit entsprechenden Rechte für den Benutzer www-data ausgestattet werden.

sudo mkdir -p /srv/http/owncloud/data
sudo chown www-data:www-data /srv/http/owncloud/data

Schritt 8: SSL-Zertifikat für Nginx erstellen

Damit die Verbindung zum Webinterface und die Datensynchronisation verschlüsselt abläuft, ist ein SSL-Zertifikat für Nginx zu erstellen. Diesem SSL-Zertifikat sind die benötigten Rechte zuzuweisen. Bei den Rückfragen bei der Erstellen genügt es lediglich dem Country Name den Wert DE für Deutschland und bei Common Name die interne IP-Adresse des Raspberry Pis oder, falls vorhanden, die DynDNS Domain des Raspberry Pis für externe Zugriffe anzugeben. Alle weiteren Fragen erhalten mittels Enter den Standardwert.

sudo mkdir /etc/nginx/ssl
sudo openssl genrsa -out /etc/nginx/ssl/owncloud.key 4096
sudo openssl req -new -sha256 -key /etc/nginx/ssl/owncloud.key -out /etc/nginx/ssl/owncloud.csr
sudo openssl x509 -req -sha256 -days 3650 -in /etc/nginx/ssl/owncloud.csr -signkey /etc/nginx/ssl/owncloud.key -out /etc/nginx/ssl/owncloud.crt

Information: Später werden sich der Owncloud Client als auch der Browser beschweren, dass das SSL Zertifikats nicht vertrauenswürdig sei. Das liegt daran, dass dieses von euch selbst signiert wurde. Folglich ist diese Warnung einfach zu ignorieren.

Schritt 9: Konfigurationsdatei von Nginx erstellen

Diese Anleitung setzt auf Nginx und nicht Apache als Server. Die Konfigurationsdatei von Nginx ist umfangreich anzupassen, damit Owncloud auf dem Raspberry Pi problemlos funktioniert und später direkt unter der IP-Adresse oder DynDNS Domain ohne Pfadangabe erreichbar ist. Dazu ist die Angabe des root-Pfades zu ändern. Zusätzlich sind einige Zeilen zu ersetzen, da Nginx nicht mit der .htaccess Datei von Owncloud umgehen kann. Und abschließend ist die SSL-Verbindung in der Konfiguration zu aktivieren.

Hierfür erstellen wir eine neue Konfigurationsdatei mit dem Namen owncloud.

sudo nano /etc/nginx/sites-available/owncloud

In der Konfiguration ist die IP 192.168.0.XX durch die IP-Adresse bzw., falls vorhanden, die DynDNS Domain, des Raspberry Pis zu ersetzen.

upstream php-handler {
 server 127.0.0.1:9000;
 #server unix:/var/run/php/7.0-fpm.sock;
 }

server {
 listen 80;
 server_name 192.168.0.XX;
 return 301 https://$server_name$request_uri; # enforce https
 }

server {
 listen 443 ssl;
 server_name 192.168.0.XX;

ssl_certificate /etc/nginx/cert.pem;
 ssl_certificate_key /etc/nginx/cert.key;

# Path to the root of your installation
 root /var/www/owncloud;

client_max_body_size 1000M; # set max upload size
 fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
 rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
 rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
 error_page 403 /core/templates/403.php;
 error_page 404 /core/templates/404.php;

location = /robots.txt {
 allow all;
 log_not_found off;
 access_log off;
 }

location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
 deny all;
 }

location / {
 # The following 2 rules are only needed with webfinger
 rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
 rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
 rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
 }

location ~ \.php(?:$|/) {
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param HTTPS on;
 fastcgi_pass php-handler;
 }

# Optional: set long EXPIRES header on static assets
 location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
 expires 30d;
 # Optional: Don't log access to assets
 access_log off;
 }

}

Mit Strg + X, Y und Enter speichern und schließen.

Schritt 10: Konfigurationsdatei umhängen

Aktuell ist noch die default Konfiguration aus Schritt 2 für den Nginx-Server hinterlegt. Diese muss jetzt entfernt werden. Dabei wird nur den Hinweis auf die Konfiguration gelöscht und nicht die Datei selbst:

sudo rm /etc/nginx/sites-enabled/default

Anschließend Nginx einmal neu laden:

sudo service nginx reload

Jetzt wird die neue Konfigurationsdatei mit dem Namen owncloud in das Verzeichnis sites-enabled verlinken:

sudo ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud

Schritt 11: PHP 7.0 Konfiguration ändern

Die Konfiguration der PHP 7.0 FPM benötigt ebenfalls eine Anpassung:

sudo nano /etc/php/7.0/fpm/pool.d/www.conf

Suche folgende Zeile:

listen = /run/php/php7.0-fpm.sock

Und ändere diese in:

listen = 127.0.0.1:9000

Mit Strg + X, Y und Enter speichern und schließen.

Schritt 12: Nginx Neustart

Nach dem Speichern der Änderungen sollte Nginx und php7.0-fpm neugestartet werden.

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.0-fpm restart

Schritt 13: MySQL Datenbank anlegen

Für die Installation von Owncloud auf dem Raspberry Pi ist eine eigene Datenbank notwendig. Dazu wird eine MySQL Datenbank angelegt. Die Datenbank nenne ich hier in dieser owncloud. Die Datenbank mit einem Benutzer für Owncloud angelegt, der hier ebenfalls owncloud heißt. Das in Schritt 4 definierte Passwort root-Passwort wird bei der Anlage der Datenbank benötigt.

Nachfolgend werden die notwendigen Eingaben und die Antworten vom System angegeben. Die von euch zu tätigenden Eingaben sind in fett markiert. Den Ausdruck PASSWORD fast zum Schluss ist zwingend durch ein möglichst sicheres Passwort für den Benutzer zu ersetzen.

mysql -u root -p

 

pi@raspberrypi /var/www $ mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.30-1 (Raspbian)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

 

Type ‚help;‘ or ‚\h‘ for help. Type ‚\c‘ to clear the current input statement.

  mysql> CREATE DATABASE owncloud CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL ON owncloud.* TO ‚owncloud’@’%‘ IDENTIFIED BY ‚PASSWORD‘ WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> exit Bye

Schritt 14: Owncloud herunterladen

Bis zu diesem Schritt wurde der Raspberry Pi für die Installation von Owncloud vorbereitet. Jetzt kann Owncloud heruntergeladen und für die Installation vorbereitet werden. Die neuste Version von Owncloud ist zum Zeitpunkt dieser Anleitung die Version 9.1.0.

Die aktuelle Version findet sich unter http://owncloud.org/install/. Für diese Anleitung ist es wichtig, dass nicht der Web Installer sondern das volle Paket als .tar.bz2 herunterladen wird. Anschließend wird diese entpackt und den Dateien die benötigten Rechte zugewiesen.

sudo mkdir /var/www
cd /var/www
sudo wget https://download.owncloud.org/community/owncloud-9.1.0.tar.bz2
sudo tar -xf owncloud-9.1.0.tar.bz2
sudo rm owncloud-9.1.0.tar.bz2
sudo chown -R www-data:www-data /var/www

Schritt 15: Owncloud auf dem Raspberry Pi installieren

Für die Installation auf dem Raspberry Pi ist Owncloud im Browser über die von euch oben festgelegte IP oder DynDNS Domain aufzurufen. Die Installationsoberfläche sollte automatisch erscheinen. Dort ist der gewünschte Benutzernamen und das Passwort für den ersten Benutzer festzulegen. Unter Speicher & Datenbank -> Datenbank einrichten ist die in Schritt 13 erstellte Datenbank als Datenbank-Benutzer und Datenbank-Name anzugeben. Hier im Beispiel habe ich dafür owncloud verwendet. Das Datenbank-Passwort ist das in Schritt 13 von euch definierte Passwort.

Schritt 16: Cronjob anlegen

Nach der Installation wird über das Webinterface von Owncloud noch ein Cronjob angelegt, der alle 15 Minuten unterschiedliche Aufgaben im Hintergrund erledigt. Das beschleunigt die Benutzung von Owncloud erheblich.

sudo nano crontab -u www-data -e

Am Ende der Datei einfügen

*/15  *  *  *  * php -f /var/www/owncloud/cron.php

Schritt 17: Von AJAX auf Cron

Damit durch den Cronjob erledigte Aufgaben nicht ebenfalls im Browser ausgeführt werden, sind die Einstellungen von AJAX auf Cron zu ändern. Diese finden sich unter Dein Benutzername -> Administrator -> Cron.

Cron für Owncloud aktivieren
Cron für Owncloud aktivieren (Bild: Screenshot).

Jetzt ist der Owncloud Server auf dem Raspberry Pi installiert und konfiguriert.

Abschließende Hinweise

Wie unter Schritt 8 schon angemerkt, ist das SSL-Zertifikat von euch selbst erstellt und signiert. Euer Browser und Owncloud Client wird beim ersten Aufruf die Unsicherheit des SSL-Zertifikats anmerken. Diese Warnung kann ignoriert werden. Wen das stört, kann beispielsweise bei StartSSL ein kostenloses SSL-Zertifikat beantragen.

Mehr Speicherplatz

Genügt der Speicherplatz auf der SD-Karte des Raspberry Pis nicht aus, kann unter Speicher & Datenbank > Datenverzeichnis der Pfad zum Speichermedium eingetragen werden. Wie sich ein USB-Stick oder eine USB-Festplatte auf dem Raspberry Pi einbinden lässt, erklärt der verlinkte Beitrag. Die Installation dauert wenige Minuten in denen der Browser nur lädt.

Kalender/Kontakte

Wer seinen Kalender und/oder die Kontakte über Owncloud synchronisieren möchte, benötigt für den Abruf die entsprechenden URLs. Die in eckigen Klammern stehenden Werte sind einschließlich der Klammern zu ersetzen.

Ohne SSL

CalDAV (allgemein): http://[IP/DynDNS]/remote.php/caldav/
CalDAV (für iOS/OS X): http://[IP/DynDNS]/remote.php/caldav/principals/[username]/

CardDAV (alle Geräte)

http://[IP/DynDNS]/remote.php/carddav/addressbooks/[username]/[cal name]

Mit SSL

CalDAV (allgemein): https://[IP/DynDNS]/remote.php/caldav/
CalDAV (für iOS/OS X): https://[IP/DynDNS]/remote.php/caldav/principals/[username]/

CardDAV (alle Geräte)

https://[IP/DynDNS]/remote.php/carddav/addressbooks/[username]/[cal name]

Zugriff auf Owncloud außerhalb des eigenen Netzwerks

Soll Owncloud auch außerhalb des eigenen Netzwerks verfügbar sein, ist eine Portfreigabe am Router notwendig. Dazu sind folgende Ports freizugeben:

  • 80
  • 443

Owncloud Installation Fehlerbehebung

Nach der erfolgreichen Installation können folgende Fehler bei Owncloud gemeldet werden (unter Security & Setup Warnings):

  1. PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv („PATH“)
  2. The „Strict-Transport-Security“ HTTP header is not configured to at least „15552000“ seconds.

Lösung zu Fehler 1:

sudo nano /etc/php/7.0/fpm/pool.d/www.conf

Zeile suchen: Strg+W

;clear_env = no
;env[HOSTNAME] = $HOSTNAME
;env[PATH] = /usr/local/bin:/usr/bin:/bin
;env[TMP] = /tmp
;env[TMPDIR] = /tmp
;env[TEMP] = /tmp

An allen Zeilen das Semikolon entfernen und mit Strg + X, Y und Enter speichern und schließen.

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.0-fpm restart

Lösung zu Fehler 2
Ein neuer Eintrag ist in der onwcloud Konfiguration vorzunehmen:

sudo nano /etc/nginx/sites-available/owncloud

Hier ist ganz am Ende folgende Zeile einzutragen:

add_header Strict-Transport-Security max-age=31536000;

Mit Strg + X, Y und Enter speichern und schließen. Anschließend:

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.0-fpm restart

Tipp: Einrichtung der dynamischen IP-Adresse & Routereinstellung

Vei twodns (oder anderen Anbieter suchen) die dyn. IP Adresse erstellen und die Router Konfiguration durchführen!

Beispielsweise unter www.twodns.de registrieren. „Melden Sie sich nun bei einer dieser Seiten für einen kostenlosen Tarif an. Dort werden Sie einen sogenannten Hostnamen anlegen, z.B. „muellercloud.twodns.de“. Über diesen Namen ist Ihre Cloud später erreichbar. Auf der Seite des dynamischen DNS-Anbieters werden Sie häufig auch Informationen vorfinden, um diesen Anbieter in Ihrem Router einzurichten.“

Zitat aus http://eigene-cloud-einrichten.de/

Freigaben am Router:

Beispiel an einer Fritzbox 7390:
Menü -> Heimnetzübersicht -> Alle verbundenen oder angemeldeten Heimnetz-Geräte (Tabelle) -> Raspberry rechts auf Details -> Häkchen machen bei -> Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.

Menü -> Internet -> Freigaben -> Portfreigaben -> Neue Portfreigabe -> Portfreigabe aktiv für (Häkchen setzen und andere Anwendungen auswählen):

  • Bezeichnung: HTTPS SERVER
  • Protokoll TPS
  • Von Port 443 bis Port 443
  • An Computer (Raspberry Pi) auswählen!
  • An Port 443
  • Ok klicken

Menü -> Internet -> Freigaben -> Dynamic DNS -> Dynamic DNS benutzen (Häkchen machen)

  • Dynamic DNS -> Benutzerdefiniert wählen
  • Update URL:
  • Domainname: Eure zuvor erstelle Domain beispielcloud.dd-dns.de
  • Benutzername: Eure bei twodns registrierte Mail-Adresse
  • Kennwort: twodns Kennwort

Persönliche Meinung

Die Installation von Owncloud auf dem Raspberry Pi ist ein Kraftakt und im Vergleich zur Installation von Seafile auf dem Raspberry Pi deutlich aufwendiger. Es gibt einige Stolpersteine. Zudem ist der Performancebedarf von Owncloud im Vergleich zu Seafile nicht zu unterschätzen. Für Leser denen beide Anwendungen zu kompliziert sind und die nicht ganz so viel Funktionsumfang benötigen wie Seafile oder Owncloud sollten einen Blick auf die Installation von BitTorrent Sync auf dem Raspberry Pi werfen. Die Pro-Version kostet für Privatpersonen einmalig 35 Euro dafür die Installation ist deutlich einfacher.

Vielen Dank an den Leser Viktor Mitic, der sich sehr viel Zeit genommen hat. Viktor ist Schritt für Schritt durch die Anleitung und hat dabei einige Fehler gefunden und diese für mich korrigiert. Viktor liest in den Kommentaren mit und hilf sicher, solltet ihr Fragen zum Thema haben.

41 Gedanken zu „Raspberry Pi: Owncloud Server installieren und einrichten

  • 31. Juli 2016 um 22:04
    Permalink

    eine swap-Datei auf der SD-Karte anzulegen ist die denkbar schlechteste Idee (bzw. die beste Idee, um die Sd-Karte zu schrotten)

    Antwort
      • 10. September 2016 um 13:37
        Permalink

        Eine Swap Datei ist ja mehr oder weniger eine Ergänzung für den RAM, wenn der voll läuft. Unter umständen könnte es also sein das je nach Anwendung die SD Karte oft beschrieben wird und das führt zu schnellerem verschleiß.

        Antwort
  • Pingback: ownCloud 9.1: Bringt verbesserte Sicherheitsfunktionen – random brick [DE]

  • Pingback: Raspberry Pi 3: Von USB-Sticks und SSD-Festplatten booten – random brick [DE]

  • 2. September 2016 um 12:51
    Permalink

    Schritt 10: Konfigurationsdatei umhängen

    Aktuell ist noch die default Konfiguration aus Schritt 2 für den Nginx-Server hinterlegt. Diese muss jetzt entfernt werden. Dabei wird nur den Hinweis auf die Konfiguration gelöscht und nicht die Datei selbst:

    sudo /etc/nginx/sites-enabled/default

    gibt einen Fehler … weil Kommando fehlt

    sudo /etc/nginx/sites-enabled/default: Kommando nicht gefunden

    Antwort
    • 9. Oktober 2016 um 20:23
      Permalink

      Wundert mich, dass noch niemand den Fehler korrigiert hat.

      Antwort
    • 10. Oktober 2016 um 23:05
      Permalink

      bzw. wie sollte der Befehl richtig heißen?

      Antwort
      • 19. Oktober 2016 um 3:27
        Permalink

        Das würde mich auch interessieren!

        Antwort
        • 19. Oktober 2016 um 7:38
          Permalink

          Hallo VIK,
          hallo Stefan,

          entschuldigt die verspätete Antwort. Es hat der Befehl „rm“ zum Löschen gefehlt.
          Das wurde jetzt korrigiert.

          Viele Grüße
          Benjamin

          Antwort
  • Pingback: Raspberry Pi: Resilio Sync installieren und einrichten – random brick [DE]

  • 19. Oktober 2016 um 9:25
    Permalink

    Hallo, ich habe schon mehrere Anläufe zur Erstellung einer eigenen Cloud auf dem Raspberry aus unterschiedlichsten Blogs probiert… Es hängt irgendwie immer irgendwo. Ich habe mich gefreut, da dieser sehr aktuell ist und ich ja eigentlich fast nur mit Copy&Paste arbeiten müsste…hmm
    Abgesehen von der heutigen Richtigstellung im Schritt 10, was ich wusste, hing es an der Aktivierung von nginx bei mir. Ich konnte bei dem Part aus Schritt 5 nicht das „;“ wegnehmen, weil er schlicht nicht da war!? (;env[HOSTNAME] = $HOSTNAME,….)

    Hat dafür jemand eine Lösung?

    Antwort
    • 19. Oktober 2016 um 11:37
      Permalink

      Das Problem des Nichtvorhandenseins war bei mir auch. Ich habe es erstmal übersprungen, wäre aber ebenfalls an einer Lösung (falls es ein Problem ist) interessiert.

      Antwort
    • 19. Oktober 2016 um 11:51
      Permalink

      Das gleiche habe ich ebenfalls übersprungen. Irgendwann ab Schritt 9 konnte ich nginx nicht mehr starten, da ein Fehler aufgetreten ist. Irgendwo hängt es immer. :/

      Antwort
      • 19. Oktober 2016 um 22:58
        Permalink

        Mit Hilfe des Internets habe ich jetzt endlich Owncloud installiert. Vielen Dank an Benjamin!

        Antwort
        • 20. Oktober 2016 um 0:16
          Permalink

          Würdest du uns bitte die Lösung verraten bzw. den Link dazu?

          Antwort
          • 20. Oktober 2016 um 14:49
            Permalink

            Erstmal habe ich ca. 3 Sicherungen der Micro SD karte durchgeführt (mit win32 Programm), damit ich nicht immer von Anfang an anfangen musste. Bis zum Schritt 9 hat alles so weit wunderbar geklappt. Danach happert es mit nginx Server.

            Auf der offizielen Seite ist die Nginx Installation beschrieben

            https://doc.owncloud.org/server/9.0/admin_manual/installation/nginx_examples.html

            da habe ich diesen langen Code (welcher mit upstream php-handler {) anfängt kopiert und wie in der Anleitung beschrieben eingefügt.

            CUT

            Da ich nicht weiß, ob Benjamin es zulässt, andere Anleitungen hier zu posten, bin ich unter cobra-schlange@gmx.de abends erreichbar, wer Hilfe braucht.
            Grüße

          • 20. Oktober 2016 um 18:06
            Permalink

            Vielen Dank! Ich werd’s auch heute nach dem Spätdienst probieren

          • 20. Oktober 2016 um 19:17
            Permalink

            Hallo VIK,

            meine Anleitung ist nach dem gleichen Prinzip wie von dir entstanden.
            Lösungen von anderen Webseiten haben nicht funktioniert, deshalb habe mich mir selbst eine gebastelt. In meinem Fall hat es funktioniert. Wenn diese jedoch nicht mehr aktuell ist und du eine Lösung dafür hast, übernehme ich die gerne, wenn du diese bereitstellen möchtest.

            Beste Grüße und viele Dank für die Unterstützung der Leser bei der Fehlersuche
            Benjamin

          • 20. Oktober 2016 um 15:19
            Permalink

            Ich weiß nur, dass nach dieser Anleitung ab dem Schritt 9 der nginx Server nicht funktioniert. Nach der erfolgloser Fehlersuche habe ich mich anderen Anleitungen gewidmet (bzw. Mit anderen kombiniert).

            Da ich nicht weiß, ob Benjamin es zulässt, andere Links zu den Anleitungen hier zu posten, könnt ihr mich unter folgender E-Mail Adresse abends erreichen.

            cobra-schlange@gmx.de

            Grüße und danke Benjamin nochmal. An sich die beste Anleitung.

          • 20. Oktober 2016 um 22:57
            Permalink

            Da sich Benjamin gemeldet hat und ich euch gerne helfen möchte werde ich für euch eine neue sd karte einsetzen und den Backup bis Schritt 9 draufspielen. Danach werde ich die Änderungen vornehmen (die zum Erfolg geführt haben) und die Anleitung entsprechend ersetzen. Natürlich werde ich die Seiten dazu verlinken. Wenn ich es heute nicht schaffe, dann spätestens morgen.

            Grüße
            Viktor

          • 21. Oktober 2016 um 7:23
            Permalink

            Hallo Viktor,

            möchtest du die Anleitung lieber hier auf RandomBrick.de veröffentlichen oder über einen externen Link?

            Viele Grüße
            Benjamin

          • 21. Oktober 2016 um 11:03
            Permalink

            Ich würde die gerne hier auf random brick posten. Dazu würde ich deine Anleitung benötigen und durch meine Ergänzen.
            Grüße

          • 21. Oktober 2016 um 14:52
            Permalink

            Hallo Viktor,

            geht klar. Melde dich einfach hier in den Kommentaren oder noch besser per E-Mail.

            Viele Grüße
            Benjamin

          • 21. Oktober 2016 um 23:46
            Permalink

            Abend!
            Ich habe mal die komplette Datei von „sudo nano /etc/nginx/sites-available/owncloud“ mit der von der Owncloud-Seite abgeglichen. Da lief aber viel schief beim kopieren o.ä.

            Eigentlich diese nur von der Owncloud-Seite kopieren, server_name und die Adressen der ssl_certificate anpassen.

            Soweit so gut… Aber wenn ich die Owncloud über den Browser installieren möchte, bekomme ich einen 404 nginx-Fehler, obwohl alles in Ordnung zu sein scheint!?

            sudo nginx -t
            nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
            nginx: configuration file /etc/nginx/nginx.conf test is successful

            ich hab echt keinen Plan, was da alles schief laufen kann und ist 🙁

          • 21. Oktober 2016 um 23:53
            Permalink

            Ok. Letzter Kommentar hat sich zumindest mit der Fehlermeldung erledigt… Vik hat einen Fehler während der Owncloud Installation gefunden!!!

  • 20. Oktober 2016 um 0:21
    Permalink

    Nach der erfolgreichen Installation habe ich folgende Fehler bei Owncloud entdeckt:
    1.PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv („PATH“)
    2.The „Strict-Transport-Security“ HTTP header is not configured to at least „15552000“ seconds.
    3.Es wurde kein PHP Memory Cache konfiguriert. [KEINE LÖSUNG] ??

    Lösung für 1.:

    sudo nano /etc/php/7.0/fpm/pool.d/www.conf

    Zeile suchen: Strg+W
    ;clear_env = no

    ;env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    ;env[TMP] = /tmp
    ;env[TMPDIR] = /tmp
    ;env[TEMP] = /tmp

    überall Semikolon entfernen!
    danach Strg+W Y Enter

    sudo /etc/init.d/nginx restart
    sudo /etc/init.d/php7.0-fpm restart

    Lösung für 2:

    sudo nano /etc/nginx/sites-available/owncloud

    und folgendes ganz am Ende hinzufügen:

    add_header Strict-Transport-Security max-age=31536000;

    danach Strg+W Y Enter
    sudo /etc/init.d/nginx restart
    sudo /etc/init.d/php7.0-fpm restart

    Dadurch werden die Warnungen bei Owncloud behoben oder „ausgeblendet“.

    Antwort
    • 25. Oktober 2016 um 19:26
      Permalink

      Abend! Zu Punkt 3:

      cd /var/www ; werde ich dort installieren
      sudo wget https://pecl.php.net/get/apcu-5.1.7.tgz
      sudo tar -xf apcu-5.1.7.tgz
      sudo rm apcu-5.1.7.tgz
      ls ; um mal zu gucken, ob der Ordner da ist 😉

      sudo apt-get install php-apcu-bc

      cd /var/www/owncloud
      sudo nano config/config.php

      ‚memcache.local‘ => ‚\OC\Memcache\APCu‘,

      –kurz vor Ende eintragen.

      sudo reboot

      –und fertig! Viel Spaß bei der Cloud! Bei mir läuft’s..

      Antwort
      • 31. Oktober 2016 um 13:36
        Permalink

        Hi Hendrik, leider funktioniert deine Anleitung bei mir nicht. Ich bin deiner Anleitung gefolgt. Nach den reboot ist die Webseite von Owncloud garnicht mehr erreichbar. Nur eine komische leere weiße Seite erscheint, keine Fehlermeldung. Nach dem Löschen von ‚memcache.local‘ => ‚\OC\Memcache\APCu‘, und neustart von nginx funktioniert es wieder.
        Schade 🙁
        Grüße Jochen

        Edit Admin – folgendes hat Jochen mir per E-Mail mitgeteilt:

        Hallo Benjamin,
        erstmal ein dickes Danke für die doch sehr genaue Anleitung. Ich habe Owncloud nun nach ein paar kleineren Problemen am laufen.
        Hier die Probleme die ich hatte und wie ich sie gelöst habe:

        1. Im Schritt 5 konnte ich die Stellen mit ;env[HOSTNAME] = $HOSTNAME beginnen nicht in der Datei finden. Habe also das Senikolon davor nicht gelöscht da nicht vorhanden. 😉

        2. Bei der Anpassung von /etc/nginx/sites-available/owncloud musste ich an den Stellen ssl_certificate /etc/nginx/cert.pem; und ssl_certificate_key /etc/nginx/cert.key; den richtigen Pfad angeben der wie in deiner Anleitung geschrieben hier liegt: /etc/nginx/ssl/ und gleichzeitig den Namen der Dateien von cert.pem in owncloud.crt; sowie in der nächsten Zeile Pfad anpassen sowie Namen in owncloud.crt; umbenennen. Infos kommen hier her: https://doc.owncloud.org/server/9.0/admin_manual/installation/nginx_examples.html Danach war wieder ein neustarten von Nginx möglich.

        3. Bei dem User anlegen in Schritt 13 hatte ich Probleme mit dem Befehl. Ich habe deinen Befehl aus dem Browser kopiert und in Putty eingefügt. Dann an der Stelle Passwort mein Passwort eingegeben und ENTER gedrückt. Als Antwort habe ich -> bekommen. Ich habe festgestellt das die ‚ und ’ falsch sind. Eventuell kommt das durch die Anzeige in meinem Firefox. Richtig ist dieses Zeichen ‚ an allen Stellen wo ‚ und ’ vorkommt. GRANT ALL ON owncloud.* TO ‚owncloud’@’%‘ IDENTIFIED BY ‚PASSWORD‘ WITH GRANT OPTION; Auf der Tastatur als „SHIFT + #“ zu finden. Dann gehts weiter wie von dir beschrieben.

        4. Die Fehlerbehebung von Fehler 1 hat bei mir zunächst auch nicht geklappt. Nach Recherche habe ich den Befehl?!? printenv PATH /home/user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin: /sbin:/bin:/ ausgeführt. Danach hat das neustarten von nginx wieder geklappt. Siehe https://doc.owncloud.org/server/9.1/admin_manual/installation/source_installation.html#php-fpm-tips-label

        5. Warum soll man add_header Strict-Transport-Security max-age=31536000; am Ende der Datei hinzufügen wie in Fehler 2 beschrieben? Es ist doch schon in der Datei zu finden nur eben auskommentiert. Gut der max-age-Wert steht auf einem anderen Wert aber das ist doch anpassbar. Ich habe das so gemacht und die Warnung in Owncloud ist auch verschwunden. 😉

        Ein Problem habe ich aber immer noch. Die Schritte 16 und 17 habe ich ausgeführt jedoch meldet mir Owncloud das der Cron vor über 2 Stunden ausgeführt wurde und das deshalb wohl ein Fehler vorliegt.
        Wenn ich sudo nano crontab -u www-data -e ausführe dann */15 * * * * php -f /var/www/owncloud/cron.php einfüge und STRG + X eingebe meldet nano [ Umgeschaltet zu www-data ] wenn ich wieder STRG + X eingebe und speicher komm ich raus aus nano. Wenn ich wieder in die Datei zurück gehe finde ich sie so vor wie es sein soll, komme aber wieder nur mit dieser komischen Meldung raus.

        Ich hoffe der Kommentar war nicht zu umfangreich 😉
        Grüße Jochen

        Antwort
        • 1. November 2016 um 15:39
          Permalink

          Hi nochmal,

          es scheint so als ob die Blog-Software Zeichen falsch anzeigt. Ich habs mit Firefox, Internet Explorer und iOS Safari getestet, immer das gleiche Ergebnis. Wie in Punkt 3 in meiner vorherigen Antwort geschrieben sind die Anführungszeichen falsch. Jedes ‚ und ’ im folgenden Befehl muss mit SHIFT + # ausgeführt werden.
          GRANT ALL ON owncloud.* TO ‚owncloud’@’%‘ IDENTIFIED BY ‚PASSWORD‘ WITH GRANT OPTION;
          Darstellen kann man es hier scheinbar nicht. 😉

          Grüße Jochen

          Antwort
        • 1. November 2016 um 18:50
          Permalink

          Hallo Jochen,
          die umfangreiche Fehlersuche nach einem Problem habe ich schon vor 10 Tagen durchgeführt. Ich habe Benjamin gebeten die Anleitung zu ergänzen, damit die Installation für andere Leser auch funktioniert. Schließlich ändert sich die Technik/software von Tag zu Tag immer wieder.
          Zu:
          1. Benjamin wurde schon darüber benachrichtigt. In der von mir gefundenen Lösung 1 findet man die Zeilen wieder.
          2. Gut gefunden! Allerdings kann ich bei meiner Konfiguration keinen Fehler finden.
          3. Benjamin wurde benachrichtigt, Bessere Beschreibung findet man hier bei http://eigene-cloud-einrichten.de/#mysql-datenbank-einrichten unter 3.3.6 3.3.6 MySQL-Datenbank einrichten
          4. Die von mir gefundene Lösung 1 klappt bei mir reibungslos.
          5. Hatte nicht die Zeit und Geduld nach den Zeilen zu suchen.

          Cron Fehler: Derzeit keine Lösung von mir.

          Vielen Dank für die Meldung!
          Grüße Viktor

          Antwort
        • 4. Januar 2017 um 23:37
          Permalink

          Lösung für 16 und 17:
          sudo nano /etc/crontab
          ausfüren und einfach unten anfügen
          */15 * * * * www-data php -f /var/www/owncloud/cron.php

          Dann sollte es gehen, ist bei mir so
          Gruß Simon

          Antwort
  • 20. Oktober 2016 um 21:57
    Permalink

    Leider funktioniert auch diese Anleitung nicht. Irgendwann soll Nginx neu gestartet werden, was mit einem Fehler endet. Dies ist nun die 3. Anleitung zu einer cloud auf einem PI und keine funktioniert. Leute, lasst es, wenn ihr es nicht könnt.

    Antwort
    • 20. Oktober 2016 um 22:11
      Permalink

      Hallo Klaus,

      die von mir erstellte Anleitung hat zu diesem Zeitpunkt auf meinem Raspberry Pi funktioniert. Wie bei vielen Anleitungen zu diesem Thema gehört auch hier etwas Bastelarbeit und Problemlösungswille dazu. Ich musste mir diese Lösung erarbeiten und mich mit diversen Problemen auseinander setzen. Nginx und Owncloud läuft in dieser Konstellation reibungslos auf meinem Raspberry Pi 3. Dabei ist Kritik ist stets willkommen und Hinweise auf Verbesserungen nehme ich gerne an.

      Deine Aussage „Leute, lasst es, wenn ihr es nicht könnt.“ ist absolut dreist und zeugt von deiner eigenen Unfähigkeit sich mit Problemen auseinander zu setzen und sich in die Materie einzuarbeiten. Der feine Klaus erwartet eine Out-of-the-Box-Lösung, mundgerecht in kleinen Häppchen und empört sich, wenn es dann nicht klappt. Anstatt die Leistung zu würdigen, die hier kostenlos zur Verfügung steht, maulst du nur rum. Bitte gehe und komme nie wieder!

      Vielen Dank
      Benjamin

      Antwort
    • 20. Oktober 2016 um 22:59
      Permalink

      Sehr frech so etwas zu sagen. Ich habe auch nicht gleich die Leute dafür beschudligt, die uns etwas gutes tun möchten!

      Antwort
  • 20. Oktober 2016 um 22:44
    Permalink

    Ich habe einen usb-Stick erfolgreich eingehängt nach der Anleitung. Was muss ich einstellen, damit ich schreib und leserecht in dem Owncloud account habe? Also der Admin? Ich kann als Admin nciht verändern. Bitte um HIlfe

    Antwort
  • 25. November 2016 um 22:18
    Permalink

    Hallo zusammen,

    ich habe ein recht großes Problem. Mein Owncloud lief seid ca. Anfang November bis heute reibungslos. Heute habe ich dummerweise bei Linux arp-get dist-upgrade und rpi-update gefahren und Owncloud ist nichtmehr erreichbar. Ich habe festgestellt das das wohl an der mysql-Datenbank liegt, da ich dies als Antwort bekomme wenn ich „mysql -u root -p“ eingebe:

    mysql: Can’t read dir of ‚/etc/mysql/mariadb.conf.d/‘ (Errcode: 2 – No such file or directory)
    Fatal error in defaults handling. Program aborted

    Hat jemand eine Idee was der Fehler ist und wie isch ihn beheben kann? Und bitte nicht: Wo ist dein Backup? Ich könnte mich gerade selber in den A… treten.

    Grüße Jochen

    Antwort
    • 25. November 2016 um 23:56
      Permalink

      Nabend nochmal,
      ich habe jetzt eine quick and dirty Lösung 😉
      Warum mariadb.conf.d verschwunden ist kann ich nicht sagen. Da ich mich mit MySQL auch nicht auskenne habe ich meine Datenbank unter /var/lib/mysql sowie das Verzeichnis /etc/mysql komplett gesichert.
      Dann habe ich mit „sudo apt-get –purge remove mysql-server mysql-common“ MySQL deinstalliert.
      Direkt danach habe ich es wie in der Anleitung oben beschrieben wieder installiert und das gleiche Passwort wie vorher eingegeben.
      Ohne die Sicherung wieder einspielen zu müssen hat MySQL die alte Datenbank wieder akzepiert. Sie schien durch das deinstallieren nicht gelöscht worden zu sein.
      OwnCloud funktioniert wieder.
      Grüße Jochen

      Antwort
  • 1. Januar 2017 um 20:08
    Permalink

    Hallo, tolle Anleitung! Danke.

    Allerdings komme ich nicht weiter.

    Beim Restart von nginx.
    bekomme ich folgnde Meldung:

    [….] Restarting nginx (via systemctl): nginx.serviceJob for nginx.service failed. See ’systemctl status nginx.service‘ and ‚journalctl -xn‘ for details.

    ● nginx.service – A high performance web server and a reverse proxy server
    Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
    Active: failed (Result: exit-code) since So 2017-01-01 20:06:30 CET; 1min 3s ago
    Docs: man:nginx(8)
    Process: 1718 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

    Danke für die Hilfe!

    Antwort
    • 17. Januar 2017 um 22:12
      Permalink

      Großen Dank an den Autor für diese Anleitung. Sowie Vik und Jochen für die Hilfen. Habs noch nicht ganz, aber man kommt voran 🙂

      Hallo Oliver,
      Ich hatte diesen Fehler auch.
      Zuerst hab ich Viktors rat befolgt, den Code von der anderen Seite zu nehmen und die Anpassungen bezüglich der IP und der SSL Pfade vorgenommen. (ssl_certificate /etc/nginx/ssl/owncloud.crt; und ssl_certificate_key /etc/nginx/ssl/owncloud.key;)

      Danach konnte wie bei vielen Nginx nicht mehr gestartet werden.
      Ich hab über sudo nano /var/log/nginx/error.log rausgefunden was bei mir das Problem war.

      Mein Log sagte folgendes:
      2017/01/17 20:44:04 [emerg] 2855#2855: BIO_new_file(„/etc/nginx/ssl/owncloud.crt“) failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‚/etc/nginx/ssl/owncloud$

      Ich hatte bei Punkt 8 nicht alle Zeilen korrekt abgeschrieben wodurch ich die SSL verknüpfungen zu dem „owncloud“ Verzeichniss nicht erstellt habe.

      Evtl ist das dein Fehler, aber um genauer nachzuschauen, müsstest du dir wie gesagt den Log erstmal anschauen.

      Viel erfolg und schöne Grüße

      Dominik

      Antwort

Kommentar verfassen