AA_PO-23161-Photocase-spacejunkie_photocase.jpg

© Spacejunkie, Photocase.com

Eigenes Wölkchen

Komfortable private Cloud mit Seafile

12.08.2013
Seit Prism und Tempora ist klar: Daten in der öffentlichen Cloud sind vor dem Zugriff der Geheimdienste nicht sicher. Abhilfe schafft da nur eine selbst gehostete Lösung – Seafile bietet dafür einen ebenso simplen wie genialen Ansatz.

Cloud-Speicher erfreut sich zunehmender Popularität. Daten lassen sich dort zentral ablegen und über mehrere Rechner synchronisieren, mit Kollegen und Freunden teilen oder komplett der Öffentlichkeit zugänglich machen. Im Zug des Abhörskandals rund um die NSA fragen sich allerdings viele Nutzer, ob ihre Daten in einer solchen Cloud wirklich in guten Händen sind. Andere denken darüber nach, was mit den Daten geschieht, wenn ein Anbieter pleite geht oder aufgekauft wird. Wieder andere, vor allem Betreiber eigener Server, sehen keine Veranlassung, für Speicherkapazitäten zu zahlen, wo sie doch selbst über ausreichend ungenutzten Speicher verfügen.

Gerade an Letztere richten sich die freien Alternativen Owncloud [1] und Seafile [2]. Während Owncloud seine Anwender mit reichhaltigen Funktionalitäten jenseits des Datenaustausches zu erschlagen droht, konzentriert sich Seafile nur darauf, Daten im Netz zu speichern, anderen zugänglich zu machen und sie zu synchronisieren.

Seafile stammt von der in China ansässigen Firma Seafile Ltd. Die Anwendung steht unter der GPLv3 und ist größtenteils in C und Python implementiert. Der Seafile-Server steht als Quelltext und Binärpaket für Debian "Squeeze", Ubuntu 11.10 und 12.04 sowie CentOS 5.8 und 6.0+ zum Download bereit. Er bringt neben dem Netzwerk-Daemon einen eigenen HTTP-Server sowie die auf dem Django-Framework 1.5 basierende Administrationsoberfläche Seahub mit. Seafile-Clients gibt es für Linux, Mac OS X, Windows, Android und iOS.

Sogenannten Bibliotheken – sie enthalten die zu synchronisierenden Daten – ermöglichen es, mehrere Verzeichnisse auf einem Rechner mit dem Server zu synchronisieren und unterschiedliche Verzeichnisse auf verschiedenen Rechnern über die Online-Festplatte immer auf einem Stand zu halten. Hat beispielsweise ein Nutzer die Bibliotheken Privat und Arbeit, könnte er erstere nutzen, um Datenbestände auf seinen heimischen Rechnern und mobilen Geräten zu synchronisieren. Die Bibliothek Arbeit könnte er auch für seine Kollegen freischalten.

Installation

Der Seafile-Server liegt aktuell in Version 1.7 vor. Laden Sie zunächst das Tar-Archiv der aktuellen Version von der Webseite des Projekts herunter und entpacken es. Eventuell müssen Sie auf dem Zielsystem noch einige Python-Pakete und deren Abhängigkeiten installieren. Die Entwickler nennen hier neben Python 2.6 oder 2.7 auch die Bibliotheken python-setuptools, python-simplejson und python-imaging. Anwender, deren Linux-Distribution Seafile nicht nativ unterstützt, kompilieren die Software aus den bei Github gehosteten Quelltexten [3].

Da der Installationsprozess mehrere Unterverzeichnisse anlegt, empfehlen die Entwickler, das Archiv in einem separaten Verzeichnis zu extrahieren. Anschließend führen Sie die Datei setup-seafile.sh aus, die sich im neu entstandenen Verzeichnis seafile-server-Version/ befindet. Hier fragt das Skript einige Angaben zur Konfiguration ab, beispielsweise, auf welchen Ports Seafile und die zugehörige Weboberfläche lauschen und in welchem Verzeichnis es die Nutzerdaten ablegen soll (Abbildung 1). Danach starten Sie die Dienste mit den Kommandos aus Listing 1. Da Seafile keine privilegierten Ports nutzt, erfordert sein Start keine Root-Rechte.

Listing 1

$ /PfadZuSeafile/seafile.sh start
$ /PfadZuSeafile/seahub.sh start

Jetzt sollten die in der Konfiguration angegebenen Ports geöffnet sein; standardmäßig sind das 8000, 8082, 10001 und 12001. Funktioniert das, erreichen Sie die Oberfläche der Applikation Seahub und den Seafile-HTTP-Server via Browser. Seahub (Port 8000) präsentiert eine übersichtliche Oberfläche (Abbildung 1), der Seafile-HTTP-Server zeigt lediglich ein leeres Browserfenster. Funktioniert etwas nicht, prüfen Sie via ps, ob die Anwendungen laufen oder eine Firewall den privaten Cloud-Speicher blockiert. Wie Sie die Ports in Iptables freischalten, zeigt Listing 2.

Abbildung 1: Seafile kommt mit der übersichtlichen Weboberfläche Seahub, welche die Konfigurationseinheit des Datensammlers bildet.

Listing 2

#Iptables-Rules für Seafile
iptables -A INPUT -p tcp -m multiport --dports 8000,8082,10001,12001 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A output -p tcp -m multiport --sports 8000,8082,10001,12001 -m state --state ESTABLISHED -j ACCEPT

Client installieren

Um Seafile sinnvoll einzusetzen, benötigen Sie die korrespondierende Client-Software. Die kommandozeilenbasierte Variante stellt das als Seafile-Projekt als Tar-Archiv zum Download bereit [4]. Die Seafile-Konfigurationsdateien benötigen ein separates Verzeichnis. Für die Online-Festplatte selbst empfiehlt sich ebenfalls ein eigener Ordner, er ist aber nicht zwingend notwendig. Beides legen Sie mit folgendem Befehl an:

$ mkdir ~/.seafile-client ~/seafile-sync_dir

Um nach dem Entpacken des Archivs den Client mit dem Konfigurationsordner vertraut zu machen, müssen Sie ihn initialisieren. Dazu dient folgendes Kommando:

$ /Client-Pfad/seaf-cli init -d ~/.seafile-client

Der Init-Vorgang legt ein Verzeichnis .ccnet an, in dem sich eine Konfigurationsdatei für Schlüssel, für das zu synchronisierende Verzeichnis sowie für den Verbindungsaufbau zum Server befinden. In .seafile-client speichert der Client später Datenbank- und Konfigurationsdateien, die er zum Synchronisieren benötigt. Anschließend starten Sie den Seafile- und Ccnet-Daemon mit dem Aufruf:

$ /Client-Pfad/seaf-cli start

Der Kommandozeilen-Client Seaf-cli kennt momentan acht Befehle (siehe Tabelle "Seaf-cli-Befehle"). Nicht alle davon funktionierten im Test: So ließen sich Bibliotheken weder herunterladen noch neue erstellen. Außerdem fehlt ein Befehl, um die IDs der Bibliotheken eines Nutzers anzuzeigen. Das erfordert ab und zu ein Login in das Web-Frontend Seahub.

Seaf-cli-Befehle

Kommando Beschreibung
init erstellt Konfigurationsdateien des Seafile-Clients
start startet Seafile-Client als Daemon
stop beendet Seafile-Client
list zeigt lokale Bibliotheken
status zeigt Synchronisationsstatus
download lädt Bibliothek vom Server in ein angegebenes Zielverzeichnis
sync synchronisiert Bibliothek auf dem Server mit dem Datenbestand eines Zielverzeichnisses
desync beendet Synchronisierung mit Server

Neben den Unterkommandos benötigt der Kommandozeilen-Client bei vielen Aktionen zusätzliche Parameter (siehe Tabelle "Seaf-cli-Parameter"). Um beispielsweise die Bibliothek Dokumente vom Server auf den heimischen Rechner zu holen, verwenden Sie einen Befehl der Struktur:

$ seaf-cli download -l Library-ID -s http[s]://Server -d Sync-Ordner

Seaf-cli-Parameter

Parameter Beschreibung
-c configfile Pfad zur Konfigurationsdatei
-d Ordner zu synchronisierendes lokales Verzeichnis
-l id Bibliothek auf dem Server
-p pass Passwort
-s http[s]://Server[:Port] URL des Seahub-Servers
-u User Benutzername

Die Library-ID gilt es derzeit noch in der Seahub-Oberfläche abzulesen, wo sie als Repo-ID in jedem die Bibliothek betreffenden Link auftaucht. Um ein bestehendes Verzeichnis auf den privaten Online-Speicher schieben, verwenden Sie einen Befehl der Struktur:

$ seaf-cli sync -l Library-ID -s http[s]://Server -d Ordner

Allerdings müssen Sie die Bibliothek zuvor über die Weboberfläche anlegen. Das Kommando seaf-cli status zeigt, wie es um die Synchronisierung bestellt ist. Der Befehl seaf-cli list führt auf, welche lokalen Verzeichnisse mit welchen Online-Bibliotheken verbunden sind.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.
Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 5 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...