Cloudstorage verspricht komfortables, automatisches Synchronisieren von Daten in einem Mikrokosmos von mehreren Geräten. Wer seine Daten jedoch nicht in die Hände Dritter geben will, dem bieten Open-Source-Alternativen im Eigenbau einen Ausweg.
Die überarbeitete Version eines Vertrags, ein paar CAD-Dateien, ein PDF-Dokument mit Entwürfen – oft gelangen diese Daten per Mail zu den Mitgliedern eines Teams. Dabei stehen Cloud-basierte Synchronisationslösungen bereit, die den Datei-Austausch automatisieren. Mit vielen Vorteilen, aber auch Risiken.
Für kleine Unternehmen scheint es auf den ersten Blick zu aufwändig, eine Cloud zum Synchronisieren von Daten selbst aufzusetzen. Es gibt Dienstleister, die mit komfortablen und günstigen Angeboten locken. Wer aber den Datenschutz bedenkt, besonders bei ausländischen Anbietern, revidiert vielleicht seine Meinung, zumal die im Artikel vorgestellten Lösungen das Aufsetzen und Administrieren einfach machen.
Bei Dienstleistern stellt sich die Frage: Haben Behörden anderer Staaten Zugriff auf die Daten? Meist hängt das davon ab, an welchem Ort die Server des Anbieters stehen. Im Normalfall unterliegen die Betreiber eines Rechenzentrums den jeweiligen Landesgesetzen.
Der Standort gibt aber nur bedingt Sicherheit: Microsoft gab Mitte 2011 zu Protokoll, dass das Unternehmen im Rahmen des “Patriot Act” Daten an Behörden der USA herausgeben müsse, auch wenn diese auf Servern in der EU lagern [1].
Wer sich auf die Vertraulichkeit seiner Daten verlassen muss, kann die Zugriffsmöglichkeiten des Patriot Act kaum akzeptieren. Die Situation verschärft sich noch, weil im Geschäftsleben ein so genanntes Non Disclosure Agreement (NDA) die Grundlage der Kommunikation bildet, das die Weitergabe von Informationen verbietet.
In der Cloud-Falle
Viele geschäftliche Verträge verbieten es den Parteien, Informationen über gemeinsame Arbeiten oder Kunden an Dritte zu geben. Dienste wie Evernote [2], Wunderlist [3] und Dropbox [4] erweisen sich dann als Falle: Deren Betreiber sind “Dritte” – geheime Daten haben dort nichts zu suchen.
Besonders schmerzt die Tatsache, dass NDAs den Einsatz von Dropbox de facto unmöglich machen. Der Dienst böte sich für kleinere Unternehmen an: In der Dropbox-Cloud steht Speicherplatz bereit, der komfortabel von jedem Punkt erreichbar ist. Clients für Linux, Windows und sogar für iPhone und Android tun ein Übriges, um die Lösung als Onlinefestplatte in Stellung zu bringen.
Wer mit diesen Funktionen liebäugelt, wählt einen EU-weit tätigen Anbieter oder legt einfach selbst Hand an. Mittlerweile gibt es mehrere Ansätze, die auf einfache und elegante Weise einen Dropbox-ähnlichen Dienst mit der eigenen Infrastruktur ermöglichen. So gelangen die Daten nicht in die Hände anderer. Dieser Artikel stellt zwei Lösungsansätze vor: Sparkleshare [5] und Owncloud [6].
Sparkleshare
Die Macher von Sparkleshare bezeichnen ihre Software als “Collaboration and Sharing Tool”. Clients stehen für mehrere Plattformen bereit: Neben einer Linux-Version existieren Versionen für Mac OS X und Android. An einer Windows-Variante arbeiten die Entwickler, für I-OS gibt es ebenfalls Pläne.
Das Programm ist vor allem ein grafisches Frontend für Git, das auf Funktionen zum Synchronisieren besonders vorbereitet ist. Sparkleshare pflegt die ihm vorgesetzten Daten folglich in einem Git-Repository. Änderungen sind leicht nachvollziehbar. Entfernt ein Nutzer eine Datei aus dem Sparkleshare-Ordner, fliegt sie auch aus dem Git-Repository.
Nach dem ersten Start präsentiert Sparkleshare einen Dialog, der etwas seltsam anmutet. Das Programm möchte nämlich wissen, auf welchem Rechner es das Repository anlegen soll (Abbildung 1). Neben dem eigenen Server stehen Alternativen zur Auswahl: Github [7], Gitorious [8] und der Git-Server des Gnome-Projekts [9]. Damit das Tool als nahtloser Ersatz für Dropbox fungiert, ist der eigene Server die Option der Wahl.

Abbildung 1: Nach der Installation steht bei Sparkleshare die Konfiguration eines Git-Repository auf dem Plan.
Git aufsetzen
Das impliziert, dass beim Zielhost Git auf dem Server laufen muss. Ein eigener Daemon für Sparkleshare ist nicht erforderlich. Als Server sollte eine Maschine fungieren, die per Secure Shell (SSH) erreichbar ist, denn die Kommunikation mit seinem Host wickelt das Programm über diesen verschlüsselten Kanal ab. Dabei sollte ein SSH-Schlüssel ohne Passwort zum Einsatz kommen. Das ermöglicht es dem Programm, sich im Hintergrund mit dem Server zu verbinden.
Grundsätzlich läuft das Setup eines Git-Repository für Sparkleshare so ab: Im ersten Schritt legt der Admin mittels »ssh-keygen« einen Schlüssel an. Fragt das Programm nach einem Passwort, sorgt [Eingabe] dafür, dass die Software den Schlüssel ohne Passwort generiert. Wer bereits einen SSH-Schlüssel hat, sollte den Namen der Schlüsseldatei ändern, etwa durch ein angehängtes »_sparkleshare« . Das sorgt dafür, dass ein Login mit diesem Key auf dem Zielserver funktioniert:
ssh-copy-id -i $HOME/.ssh/Öffentlicher_Schlüssel User@Host
Jetzt fehlt noch das Repository für Git, das der Befehl »git init –bare Name.git« auf dem Host anlegt. Bei der Konfiguration des Sparkleshare-Frontends ist anschließend der vollständige Pfad zum Repository anzugeben. Im Feld »Adresse« ist neben der IP der Benutzername notwendig, das Feld »Pfad« bezeichnet den kompletten Pfad des Repository im Dateisystem (also beispielsweise »/home/martin/Sparkleshare.git« ).
Sobald diese Konfiguration festgelegt ist, testet Sparkleshare, ob das Repository wie gewünscht funktioniert. Danach geht es los: Beim Kopieren von Dateien ins Sparkleshare-Verzeichnis synchronisiert das Programm den Inhalt des Ordners im Hintergrund mit dem Server (Abbildung 2). Ein Tray-Icon macht es einfacher, auf das Verzeichnis zuzugreifen. Einmal eingerichtet verrichtet das Werkzeug zuverlässig seinen Dienst. Dank SSH erfolgt die gesamte Kommunikation verschlüsselt.

Abbildung 2: Sparkleshare synchronisiert den Ordnerinhalt mit dem Server. Anschließend läuft der Zugriff auf die Dateien, die das Programm unter seinen Fittichen hat, über den Dateimanager.
Besonderheiten
Sparkleshare ermöglicht mehreren Leuten den Zugriff auf ein Repository. Solange einem Account, der auf einen Ordner zugreifen möchte, ein Login per SSH möglich ist, klappt das. In diesem Fall sollte das Git-Repository nicht in dem persönlichen Ordner eines Nutzers liegen, sondern an einer Stelle im Dateisystem, auf die alle Zugriff haben. Dabei sind Rechte für den Ordner zu setzen.
Als Sahnehäubchen erweist sich der Sparkleshare-Client für Android (Abbildung 3). Ähnlich wie der Dropbox-Client synchronisiert er den Inhalt des Ordners von Sparkleshare im Hintergrund und erlaubt Dateien zu lesen und zu schreiben, die von anderen Systemen dorthin gelangen.

Abbildung 3: Außer für Linux steht ein Client für Android bereit, auch Mac-OS-X-Anwender kommen auf ihre Kosten.
Owncloud
Wer Git nicht einsetzen will, braucht deshalb nicht auf einen Dropbox-Ersatz zu verzichten. Der Webdav-Standard ist etabliert und beschreibt den Datenaustausch über das HTTP-Protokoll. Diesen Ansatz macht sich Owncloud zunutze und zimmert rund um die LAMP-Plattform ein Frontend, das den Datei-Upload ermöglicht (Abbildung 4).

Abbildung 4: Owncloud bietet Zugriff auf Dateien über Webdav. Das bietet viele Funktionen, setzt als Grundlage aber einen kompletten LAMP-Stack voraus.
Tatsächlich verbirgt sich dahinter wesentlich mehr als ein Dienst, der Dateien zwischen zwei Hosts synchron hält. Neben Dateien verwaltet das Programm bei Bedarf auch Kontakte und Kalendereinträge. Die aktuelle Version 3 bietet außerdem eine Plugin-Schnittstelle, die Zusatzfunktionen einbindet. Der Funktionsumfang ist also deutlich größer als der von Sparkleshare, aber das Setup des Dienstes verlangt mehr Handarbeit.
Installation
Der Einsatz der Software setzt ein System mit typischen LAMP-Komponenten voraus – Linux, Apache, MySQL und PHP. Außerdem sollte der Webserver das Webdav-Protokoll unterstützten. Bei Apache geht das über das »mod_webdav« , das in der Regel aber nicht zur Standardinstallation des Webservers gehört.
Läuft der Webserver, geht es mit dem Download der eigentlichen Software weiter. Die aktuelle Version steht auf der Website zum Download bereit [10]. Ist die geladene ».zip« -Datei entpackt, sind die Berechtigungen des Verzeichnisses so anzupassen, dass Apache auf den Ordner zugreifen darf. Auf Debian- und Ubuntu-Systemen muss dazu der Ordner dem Benutzer »www-data« gehören, der Schreibrechte per »chmod -R« bekommen sollte.
Anschließend meldet sich beim Öffnen des Ordners im Webbrowser der Setup-Wizard, der die weitere Installation und Konfiguration abwickelt. Im Rahmen dieses Vorgangs bekommt die MySQL-Datenbank die Erstausstattung an Daten. Hat der Wizard seine Arbeit erfolgreich beendet, steht die Software bereit (Abbildung 5). Übrigens: Wer SSL-Verschlüsselung benutzen möchte, aber auf seinem Webserver keine offiziellen SSL-Zertifikate hat, generiert diese über den Wizard während des Setup-Vorgangs. Danach klappt der Zugriff via HTTPS.

Abbildung 5: Die Owncloud bietet sogar einen in den Browser integrierten Musikplayer an. Dieser ermöglicht es dem Nutzer, Lieder direkt aus dem Onlinespeicher abzuspielen.
Benutzer verwalten
Owncloud bringt in der Standardkonfiguration ein eigenes Benutzermanagement mit, das nicht an das systemweite Authentifizieren mit PAM gekoppelt ist. Daher gilt es, zusätzlich Benutzer im Administrationsinterface anzulegen. Für Owncloud 3 gibt es allerdings eine App, die das Tool dazu bringt, Systembenutzer aus PAM zu integrieren [11]. Auf Systemen, für die nur wenige User eingetragen sind, ist der Mehraufwand des erneuten Anlegens einzelner Benutzer leicht zu verkraften. Wenn allerdings mehr Benutzer mitmachen, spart die PAM-Anbindung viel Zeit.
Webdav im Alltag
Mit dem Webdav-Protokoll ist Owncloud ab Werk mit einem dicken Paket an Funktionen ausgestattet. So beherrschen die gängigen Dateimanager der großen Desktops das Protokoll ohne zusätzliche Klimmzüge. Dadurch erscheinen die Webdav-Laufwerke als Festplatte, auf die sich – wie auf jedes andere Blockdevice – zugreifen lässt. Windows beherrscht diese Funktion ebenfalls.
Anders als Sparkleshare synchronisiert Owncloud nicht direkt nach dem Connect alle Daten vom Server auf die Clients. Das spart Bandbreite und Traffic, insbesondere unterwegs mit Schmalspurverbindung. Um eine Datei aus dem Speicher zu holen, ist diese per Webdav herunterzuladen. Das Hochladen der Dateien geschieht auf dem gleichen Weg. Owncloud kopiert nach Webdav-Standard ebenfalls Request-abhängig.
Die Webdav-Lösung sorgt auch für Freude auf I-OS- und Android-Systemen, denn beide beherrschen Webdav, eine eigene Clientsoftware ist nicht notwendig. Wer eine vom Betriebssystem unabhängige Cloud braucht, fährt mit diesem Ansatz also besser als mit Sparkleshare.
Fazit
Beide vorgestellten Lösungen bieten die Möglichkeiten, Dateien über mehrere Computer hinweg automatisch zu synchronisieren. Sparkleshare und Owncloud nutzen allerdings hierfür völlig unterschiedliche Ansätze. Sparkleshare setzt im Hintergrund auf Git und hält den Datenbestand der Teilnehmer tatsächlich automatisch auf dem aktuellen Stand. Je nach verfügbarer Verbindung und eventuell vorhandenen Beschränkungen erwächst daraus aber eventuell ein Traffic-Problem. Auf der Habenseite verbucht dieser Ansatz Clients für Linux, für Mac OS X und für Android.
Wer auch von Windows-Rechnern auf den Speicher zugreifen muss, schaut also zunächst in die Röhre. Wer aber auf einen Linux-Client setzt und ein Android-Telefon sein Eigen nennt, findet in Sparkleshare einen zuverlässigen Partner. Weil das Programm obendrein auf SSH-Verschlüsselung setzt, ist die gesamte Verbindung sicher.
Owncloud erweist sich insgesamt als wesentlich umfangreicher. Das mag daran liegen, dass seine Entwickler speziell darauf zielen, Benutzern den Aufbau und Betrieb einer eigenen Cloud zu ermöglichen. Wer dagegen nur schnellen Filestorage für zwischendurch braucht, sieht seine Anforderungen mit Owncloud bereits übererfüllt.
Für alle, die mit zusätzlichen Funktionen – Kalender, Abgleich der Kontakte – etwas anfangen können, ist Owncloud ein zuverlässiges Werkzeug. Das Interface auf Webdav-Basis ist geräteneutral und entschädigt für die etwas aufwändigere Installation.
Einen eindeutigen Sieger zu nennen fällt bei dieser Lage schwer. Beide Lösungen erfüllen die Aufgabe und leisten sich keine bösen Patzer. Die eigene Infrastruktur und die speziellen Anforderungen bestimmen daher im Wesentlichen die Wahl.
Infos
- Microsoft gibt im Zweifelsfall Daten von EU-Servern weiter: http://www.microsoft.com/online/legal/v2/?docid=23
- Evernote: http://www.evernote.com
- Wunderlist: http://www.wunderlist.com
- Dropbox: https://www.dropbox.com
- Sparkleshare: http://sparkleshare.org
- Owncloud: http://owncloud.org
- Github: https://github.com
- Gitorious: http://gitorious.org
- Git-Server des Gnome-Projekts: http://git.gnome.org/browse/
- Download Owncloud: http://owncloud.org/go/owncloud-download
- PAM-Anbindung für Owncloud: http://apps.owncloud.com/content/show.php/Unix+user+backend?content=148406





