Schon seit längerem verwende ich ownCloud als Cloud-Dienst unter meiner Kontrolle: zum einen auf meinem Webspace, zum anderen auf dem Raspberry Pi. Inzwischen ist noch Seafile auf dem RPi dazugekommen. Im Vergleich zu ownCloud hat Seafile weniger Funktionen, ist dafür aber performanter.
Seafile – entwickelt von einem chinesischen Unternehmen – ist in der Community Edition kostenlos und Open Source. Es konzentriert sich im wesentlichen auf zwei Aufgaben: das Synchronisieren von Dateien und die Möglichkeit, Dateien zu teilen und gemeinsam zu bearbeiten. Allerdings kann die Community Edition so wenige Dateitypen bearbeiten, dass dieses Feature praktisch nutzlos ist. Letzlich ist Seafile für Privatanwender ein relativ flotter Synchronsierungsdienst, bei dem die Daten nicht aus der Hand gegeben werden.
Seafile auf dem Raspberry Pi installieren
Da Seafile einen eigenen Webserver mitbringt, ist die Installation auf dem RPi nicht allzu schwierig.
Für große Datenmengen und viele Benutzer ist die Seafile-Variante für den Raspberry Pi nicht geeignet. Dies liegt daran, dass die Leistung des Mini-Rechners begrenzt ist und die Pi-Variante nicht mit einer leistungsfähigen Datenbank arbeitet. Der Pi reicht gut für den heimischen Einsatz; soll es aber mehr sein, ist eine der Seafile-Varianten für „richtige“ Linux- oder Windows-Server die bessere Wahl.
Im Folgenden wird die Installation des Seafile-Servers auf dem Raspberry Pi in einem lokalen Netzwerk beschrieben. Es wird davon ausgegangen, dass der Pi die IP-Adresse „192.168.178.44“ hat.
Raspian
Ich habe mich für Raspian (Debian für den RPi) als „Unterbau“ für den Seafile-Server entschieden. Raspian ist Teil von Noobs, einer besonders einfach zu installierenden „New Out Of the Box Software“, die neben Raspbian noch andere Betriebssystem-Varianten für den Pi enthält, z.B. Openelec, Raspbmc u.a. Das Prinzip ist recht einfach: Noobs wird auf eine SD-Karte geschrieben und bietet beim Start eine Auswahl der Betriebssysteme an. Man wählt eines aus und installiert es auf der SD-Karte.
Später kann man nach dem Drücken der Shift-Taste beim Booten ein anderes Betriebssystem auswählen und installieren; das vorher gewählte System wird dabei überschrieben.
So bin ich vorgegangen:
- Noobs auf den Desktop-Rechner herunterladen und entpacken.
- Eine mindestens 4 GB (besser 8 GB) große SD-Karte mit dem Programm SD Formatter 4.0 für Windows oder Mac OS X formatieren. Unter Linux kann man „dd“ verwenden, um das Image auf eine SD-Karte zu schreiben; hier gibt es eine Anleitung.
- Den Inhalt der entpackten NOOBS-Datei auf die SD-Karte kopieren.
- Die SD-Karte in den Raspberry Pi einlegen und Tastatur (Maus) und Monitor anschließen.
- Den Pi sarten, d.h. ihn mit dem Stromnetz verbinden.
- Beim Start „Raspbian“ als Betriebssystem auswählen. Raspbian wird nun auf dem Pi installiert. Das dauert etwa 20 Minuten.
- Nach einem Neustart das System mit Hilfe von „raspi-config“, das automatisch angezeigt wird, konfigurieren.
Die meisten Vorgaben habe ich übernommen.
- Ich habe ein neues Passwort für den User „pi“ gesetzt,
- ausgewählt, dass das System mit einer grafischen Oberfläche starten soll,
- unter „Advanced Options“ angegeben, das ich einen SSH-Zugang will,
- und mich vergewissert, dass die Spracheinstellungen stimmen.
Den SSH-Zugang brauche ich, da der RPi normalerweise ohne Tastatur und Monitor betrieben wird.
Neustart
- Den RPi neu starten, es erscheint die grafische Oberfläche
- Noch zwei Dinge erledigen:
- eine WLAN-Verbindung mit Hilfe des Programms WiFiConfig (auf dem Desktop) einrichten
- das System aktualisieren und ergänzen. „LXTerminal“ (auf dem Desktop) öffnen und nacheinander folgende Befehle eingeben:
sudo apt-get update sudo apt-get upgrade sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3
Rasbian ist nun für die Installation von Seafile vorbereitet.
Seafile-Server vorbereiten
- Als (Standard-)Benutzer „pi“ auf dem Raspberry Pi das „LXTerminal“ öffnen.
- Einen Benutzer „seafile“ anlegen, ihm ein Passwort geben, in sein Home-Verzeichnis wechseln und ein neues Verzeichnis „seafile“ erstellen:
sudo adduser seafile sudo su seafile cd mkdir seafile
Jetzt noch die aktuelle Version des Seafile-Servers für den Raspberry Pi herunterladen und entpacken(Stand Juli 2015: Version 4.2.3):
wget https://github.com/haiwen/seafile-rpi/releases/download/v4.2.3/seafile-server_4.2.3_pi.tar.gz tar -xvf seafile-server_4.2.3_pi.tar.gz
Seafile-Server einrichten
- In das entpackte Verzeichnis wechseln und das Installations-Skript starten:
cd seafile-server-4.2.3 ./setup-seafile.sh
Es werden eine Reihe von Angaben abgefragt. Dem Seafile-Server einen Namen geben, die Netzwerkadresse des Pi eintragen (z.B. die lokale Adresse 192.168.178.44) und bei „seahub admin email“eine Mailadresse und ein Passwort eingeben.
Zum Schluss noch den Seafile-Server und das Webinterface Seahub starten:
cd seafile ./seafile.sh start ./seahub.sh start
Nach einem Neustart des RPi starten die beiden Server nicht automatisch. Anfangs habe ich die beiden Dienste nach einem Neustart des RPi manuell über SSH gestartet; später habe ich das Ganze automatisiert.
Seafile-Weboberfläche und Seafile-Clients
Die Weboberfläche ist die „Schaltzentrale“ von Seafile und ist im Browser im lokalen Netz z.B. über die Adresse „http://192.168.178.44:8000“ erreichbar.
Sie ermöglicht die komplette Steuerung von Seafile. Hier können neue Bibliotheken (zu synchronisierende Ordner) angelegt, für andere freigegeben, Favoriten verwaltet oder Nachrichten mit anderen Seafile-Nutzern ausgetauscht werden.
In der Praxis ist die Arbeit mit Seafile recht einfach: Alle Dateien, die in einem Unterordner des Verzeichnisses „Seafile“ gespeichert werden, werden mit dem Seafile-Server synchronisiert.
Clients gibt es für Linux, Mac OS X, Windows, Android und iOS. Sie können auf dieser Seite bzw. in den Stores von Google und Apple heruntergeladen werden.
Seafile bietet die Möglichkeit an, die Bibliothek verschlüsselt zu speichern.
Verbindung mit der Außenwelt
Da ich meine beiden heimischen Cloud-Server auch aus dem Internet erreichen will, musste ich noch ein paar zusätzliche Einrichtungsschritte vornehmen. Ich benutze eine FritzBox und den Myfritz-Dienst, bei anderen Routern und DynDNS-Diensten ist die Einrichtung vergleichbar. Das Ganze ist kein Hexenwerk und besteht im Prinzip aus vier Schritten: Router für den Zugriff aus dem Internet öffnen, Portweiterleitung und DynDNS einrichten und auf HTTPS umstellen.
Router für den Zugriff aus dem Internet öffnen und den DynDNS-Dienst MyFritz! aktivieren
Auf der Fritz!Box-Weboberfläche zu „Internet“ –> „MyFritz!“ gehen und
- Häkchen vor „MyFritz! für diese Fritz!Box aktiv“ und
- „Internetzugriff auf die FRITZ!Box über HTTPS aktiviert“ setzen.
- Die eigene E-Mail-Adresse eintragen.
Portweiterleitung einrichten
Zu „Internet“ –> „Freigaben“ –> „Portfreigaben“ –> „Neue Portfreigaben“ gehen. Dort habe ich folgendes eingetragen bzw. ausgewählt:
- Portfreigabe aktiv für = Andere Anwendungen
- Bezeichnung = seafile
- Protokoll = TCP
- von Port = xxxx bis Port = xxxx (eine „hohe“ Nummer)
- an Computer = Bezeichnung des RPi im Router
- an IP-Adresse = IP des RPi im lokalen Netz
- an Port = xxxx (wie oben)
MyFritz! Freigabe einrichten
Zu „Internet“ –> „Freigaben“ –> „MyFritz!-Freigaben“ gehen.
- Netzwerkgerät = Bezeichnung des RPi im Router
- Anwendung = HTTPS-Server
- Verzeichnis = leer
Fritz!Box-Dienste einrichten
Zu „Internet“ –> „Freigaben“ –> „Fritzbox-Dienste“ gehen.
- Häkchen bei „Internetzugriff auf die Fritz!Box über HTTPS aktiviert …“ setzen
- Häkchen bei „Internetzugriff auf die Fritz!Box über HTTPS aktiviert“setzen und eine „hohe“ Portnummer eingetragen
- Adresse ihrer Fritzbox= abhängig von den Einträgen unter „MyFritz!-Freigaben“ (wird automatisch eingefügt).
Wenn alles klappt, ist Seafile aus dem Internet unter einer Adresse nach dem Muster „https://lange_zeichenkette.myfritz.net:Portnummer“ erreichbar. Bei mir hat es nach etwas Rumgegurke funktioniert.
Es ist durchaus möglich, dass sich in der obigen Konfigurationsbeschreibung der Fritz!Box Fehler verstecken; leider habe ich es versäumt, mir bei der Einrichtung jeden Schritt zu notieren. Mea Culpa.
Vorläufiges Fazit
Die Community-Edition von Seafile eignet sich sehr gut dafür, Dateien online zu speichern und mit unterschiedlichen Geräten zu synchronisieren. Auch das Teilen von Dateien mit anderen Benutzern klappt problemlos. Jedoch sind die Möglichkeiten, gemeinsam an Dokumenten zu arbeiten, zu sehr eingeschränkt, um im Alltag punkten zu können.
4 Antworten zu Seafile auf dem Raspberry Pi