OwnCloud 8 auf dem Raspberry Pi 2 & 1

In einem älteren Raspberry Pi Tutorial habe ich euch bereits gezeigt wie Ihr OwnCloud 7 mit dem leichtgewichtigen Webserver und Datenbank-Gespann lighttpd und SQLite auf eurem Raspberry Pi installieren und einrichten könnt.  Mittlerweile wurde OwnCloud auf Version 8 bzw. 8.1 aktualisiert und der Raspberry Pi 2 Modell B ist erschienen, daher möchte ich euch zeigen wie ihr OwnCloud 8 auf einem Raspberry Pi 2 einrichten könnt.

OwnCloud-Logo

Neuerungen in OwnCloud 8

In der neueren OwnCloud 8 bzw. 8.1 Version hat sich einiges getan:

  • Neuer Desktop Client erschienen
  • Apps sind wieder möglich
  • Verbesserte Geschwindigkeit
  • Viele kleine Verbesserungen in der Oberfläche
  • Einige Bugfixes

Voraussetzungen

Folgende Dinge Benötigen wir um OwnCloud auf dem Raspberry Pi 1 oder 2 zu installieren

  • Raspberry Pi mit Raspbian, aktualisiert und eingerichtet (Tutorials Teil1, Teil2 und Teil3)
  • Den Webserver lighttpd mit der Datenbank SQLite eingerichtet (Kapitel  RasPi vorbereiten aus dem OwnCloud 7 Tutorial)
  • Optional: Eine externe USB-Festplatte zum Speichern der Daten (Daten auf der SD-Karte wird nicht empfohlen)
  • Optional: Eine Portweiterleitung einrichten mit DynDNS einrichten um OwnCloud aus dem Internet verfügbar zu machen
  • Optional: Falls OwnCloud über das Internet erreichbar ist solltet ihr euren Raspberry Pi absichern

OwnCloud 8 am Raspberry Pi 2 einrichten

Sobald ihr die Voraussetzungen erfüllt könnt ihr mit der Installation von OwnCloud starten, wir laden erst das aktuelle Paket ins Home von Pi:

cd ~
wget https://download.owncloud.org/community/owncloud-8.0.2.tar.bz2
tar -jxvf owncloud-8.0.2.tar.bz2


Danach können wir die entpackten OwnCloud Files in unser Webserver Root kopieren

cd ~
sudo rm -f /var/www/index.lighttpd.html
sudo cp -r owncloud /var/www


Wir müssen noch zwei wichtige Sicherheitseinstellungen am lighttpd vornehmen, wir deaktivieren den direkten Zugriff auf das Datenverzeichnis und das Directory Listing. Das erledigen wir in der Konfigurationsdatei mit dem Editor Nano.

sudo service lighttpd stop
sudo nano /etc/lighttpd/lighttpd.conf


Folgende Zeilen fügt ihr ans Ende der Konfigurationsdatei an

$HTTP["url"] =~ "^/owncloud/data/" {
        url.access-deny = ("")
}

$HTTP["url"] =~ "^/owncloud($|/)" {
        dir-listing.activate = "disable"
}


Dann ändern wir das Document Root für HTTP von “/var/www” in “/var/www/owncloud”, den Eintrag findet ihr am Anfang der Konfiguration.

server.document-root = "/var/www/owncloud"


Gespeichert wir mit STRG+X, Y und ENTER. Wir setzen nun noch die Verzeichnisrechte für OwnCloud, das wird von OwnCloud auch so empfohlen (Strong Directory Permissions).

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 /var/www/owncloud/data/

sudo chown root:www-data /var/www/owncloud/.htaccess
sudo chmod 0644 /var/www/owncloud/.htaccess

sudo mkdir -p /var/www/owncloud/data
sudo chown www-data:www-data /var/www/owncloud/data/


Danach können wir die OwnCloud Webseite im Browser aufrufen und einen neuen Benutzer anlegen, eventuell muss der Webserver Dienst wieder gestartet werden (sudo service lighttpd start). Am Besten tun wir das direkt via HTTPs um unsere SSL Verschlüsselung zu testen. Wir werden einen Fehler erhalten da es sich beim dem eingerichteten Zertifikat um ein selbst erstelltes und kein offizielles handelt, ignoriert daher die SSL Fehlermeldungen im Browser.

  • https://<IP-Adresse>/ oder
  • https://raspberrypi/

owncloud-setup

Wichtig ist noch, um bestimmte Zeichen in Dateinamen zu unterstützen, das Default Charset auf UTF-8 umzustellen. Hierzu editieren wir die Datei php.ini mit dem Editor Nano

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


Ändert die Zeile ;default_charset = “UTF-8″ in unten stehende um (ohne ;). Suchen könnt ihr in nano übrigens mit STRG+W.

default_charset = "UTF-8"


Gespeichert wird wie immer mit STRG+X, Y und ENTER. Die Einstellung wird erst nach dem nächsten Reboot aktiv.

OwnCloud Datenverzeichnis ändern

Die Daten welche in der Cloud gespeichert werden landen nun noch unter /var/www/owncloud/data/, das ist unschön, wichtige Daten sollten nicht auf einer SD-Karte liegen, bei der Verwendung von lighttpd müssen diese aus Sicherheitsgründen sogar zwingend verschoben werden. Daher zeige ich euch noch wie ihr die Daten auf eine via USB am Raspberry Pi angeschlossenen Festplatte verschieben könnt.

Meine externe Festplatte habe ich vorher an meinem Windows Rechner mit dem Dateisystem NTFS formatiert, das gewährleistet das ich die Platte später ohne Probleme an meinem Desktop Rechner anstecken kann falls der RasPi mal den Geist aufgibt. Wer das nicht kann, hierfür gibt es bei Microsoft eine schöne Anleitung zum Einbinden und Formatieren von USB Datenträgern unter Windows Vista / 7 – http://support.microsoft.com/de-de/kb/2442658/de

Wir benötigen auf unserem RasPi als erstes noch die passende Software für einen Datenträger mit NTFS.

sudo apt-get install ntfsprogs


Wir legen nun einen neuen Ordner im Verzeichnis /media an. In diesen wird später das USB-Gerät gemountet, ich nenne den Ordner “usb-hdd” . Es dürfen keine Sonder und/oder Leerzeichen enthalten sein.

sudo mkdir /media/usb-hdd


Bevor wir den Stick oder die Platte anschließen, schalten wir die Ausgabe des Systemlogs mit dem folgendem Kommando ein (“-f” bewirkt dass alle weiteren Meldungen ausgegeben werden, ohne tail zu beenden):

tail –f /var/log/messages


Wenn wir nun ein USB-Medium anschließen werden passende Log Einträge dazu angezeigt z.B.:

Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.041221] usb 1-1.2: new high-speed USB device number 8 using dwc_otg
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.148822] usb 1-1.2: New USB device found, idVendor=058f, idProduct=6387
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.148847] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.148864] usb 1-1.2: Product: Mass Storage
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.148881] usb 1-1.2: Manufacturer: Generic
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.148897] usb 1-1.2: SerialNumber: 8989A979
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.150717] usb-storage 1-1.2:1.0: USB Mass Storage device detected
Apr  6 10:46:13 raspberrypi2 kernel: [ 1336.152381] scsi host4: usb-storage 1-1.2:1.0
Apr  6 10:46:14 raspberrypi2 kernel: [ 1337.153248] scsi 4:0:0:0: Direct-Access     Generic  Flash Disk       8.07 PQ: 0 ANSI: 2
Apr  6 10:46:14 raspberrypi2 kernel: [ 1337.156253] sd 4:0:0:0: [sda] 16236544 512-byte logical blocks: (8.31 GB/7.74 GiB)
Apr  6 10:46:14 raspberrypi2 kernel: [ 1337.156753] sd 4:0:0:0: [sda] Write Protect is off
Apr  6 10:46:14 raspberrypi2 kernel: [ 1337.160676] sd 4:0:0:0: Attached scsi generic sg0 type 0
Apr  6 10:46:14 raspberrypi2 kernel: [ 1337.248186]  sda: sda1
Apr  6 10:46:14 raspberrypi2 kernel: [ 1337.250913] sd 4:0:0:0: [sda] Attached SCSI removable disk


Die vorletzte Zeile “sda: sda1″ zeigt welchem Gerät das USB-Medium zugeordnet wurde. Diese Angabe benötigen wir später für das Einhängen des neuen Gerätes. Mit [Strg]-[C] kann tail beendet werden.

Da wir die Festplatte bei jedem Start automatisch einbinden wollen lassen wir uns nun die UUID des Geräts anzeigen. Ihr müsst sda1, falls die Platte bei euch anders zugeordnet wurde, mit dem Pfad ersetzen.

sudo blkid /dev/sda1


Notiert euch die angezeigte UUID, bei mir ist es: UUID=”8AD08510D08503A3“.

Zum automatischen Einbinden genau dieser Festplatte beim Start des RasPi editieren wir nun die fstab Datei mit Nano

sudo nano /etc/fstab


Fügt am Ende der Datei folgendes ein, ersetzt die UUID mit eurer ID.

UUID=8AD08510D08503A3 /media/usb-hdd/ ntfs-3g permissions,defaults,auto


Speichert wieder mit STRG+X, Y und Enter. Führt am besten nun einen Neustart durch (sudo reboot) und prüft danach ob die Festplatte unter /media/usb-hdd/ auch wirklich zugreifbar ist. Zum Beispiel mit “ls -al /media/usb-hdd/”

Danach editieren wir die OwnCloud Config auf den neuen Speicherort für Daten

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


Dort ändern wir den Pfad zum Data Directory ‘datadirectory’ => ‘/var/www/owncloud/data’ in einen Pfad der auf unseren USB Drive zeigt.

'datadirectory' => '/media/usb-hdd/owncloud/data',


Nun erstellen wir noch das neue Datenverzeichnis auf unserem Speicher, passen die Rechte an und verschieben dann das vorhandene Datenverzeichnis von der SD-Karte auf das USB-Laufwerk:

sudo mkdir -p /media/usb-hdd/owncloud
sudo chown www-data:www-data /media/usb-hdd/owncloud
sudo mv /var/www/owncloud/data /media/usb-hdd/owncloud


Wichtig ist das wir aus Sicherheitsgründen noch den Eigentümer der Dateien und die Rechte das Verzeichnis festlegen.

sudo chown -R www-data:www-data /media/usb-hdd/owncloud
sudo find /media/usb-hdd/owncloud -type d -exec chmod 750 {} \;
sudo find /media/usb-hdd/owncloud -type f -exec chmod 640 {} \;
sudo chown root:www-data /media/usb-hdd/owncloud/data/.htaccess
sudo chmod 0644 /media/usb-hdd/owncloud/data/.htaccess


Danach müssen wir Webserver neu starten um die Änderungen zu aktivieren

sudo service lighttpd restart


Das war schon die Grundeinrichtung. Wer weitere Infos benötigt findet viele hilfreiche Informationen in der OwnCloud Dokumentation oder im OwnCloud Forum.

Smartphone und Desktop Client Apps

Es gibt verschiedene Möglichkeiten um auf die eigene Cloud zuzugreifen, das Smartphone via iOS oder Android App, den Desktop Rechner via Desktop Client oder das Bekannte Webinterface von einem beliebigen Browser.

  • Download des Desktop Client für Windows
  • Smartphone App für iOS im AppStore
  • Smartphone App für Android im Play Store

Kalender und Adressbuch synchronisieren

Ihr könnt eure Geräte über das integrierte CalDAV oder CardDAV mit OwnCloud zu synchronisieren. Anleitungen hierzu gibts im Dokumentationsbereich.

  • Anleitung für iOS

Weitere Raspberry Pi Projekte

  • Eigenen OwnCloud Server einrichtenEigenen OwnCloud Server einrichten
  • Tor Gateway – Raspberry Pi zum anonymen surfen verwenden – AnoPiTor Gateway – Raspberry Pi zum anonymen surfen verwenden – AnoPi
  • Raspberry Pi Fernsehen mit TvHeadendRaspberry Pi Fernsehen mit TvHeadend
  • Ambi-TV – Ambilight mit dem Raspberry Pi nachrüstenAmbi-TV – Ambilight mit dem Raspberry Pi nachrüsten

wallpaper-1019588
5 Dinge, die du als Trailrunning-Anfänger wissen solltest
wallpaper-1019588
Kalorienarme Lebensmittel: Top-Auswahl für Ihre Diät
wallpaper-1019588
Kalorienarme Lebensmittel: Top-Auswahl für Ihre Diät
wallpaper-1019588
#1492 [Review] Manga ~ Dein Verlangen gehört mir