AA_wolke-schloss_sxc1357333_PatrickHajzler.jpg

© Patrick Hajzler, sxc.hu

Lokal wolkig

Mit SparkleShare und Git zum eigenen Cloud-Speicher-Dienst

08.08.2011
SparkleShare schickt sich an, sich zu einem würdigen Dropbox-Ersatz fürs eigene LAN zu mausern. Ein eigener Server, Git und SSH ermöglichen Privatsphäre, volle Kontrolle über die Daten und im Vergleich mit typischen Cloud-Anbietern ungewohnt viel Speicherplatz.

Speicherlösungen in der Cloud liegen im Trend – vor allem, seit Angebote wie Ubuntu One oder Dropbox es Endanwendern möglich machen, Dateien ohne großen Aufwand online abzulegen und die Inhalte über mehrere Rechner und Betriebssysteme hinweg zu synchronisieren. Doch es gibt immer mehr Anwender, die den oft kostenlosen Cloud-Speichern aufgrund einschränkender Nutzungsbedingungen und mangelnder Kontrolle über die eigenen Daten kritisch gegenüber stehen oder durch Datenpannen verunsichert werden, wie jüngst bei Dropbox [1].

Cloud-Speicher ist gut, Cloud-Speicher in der eigene Wolken – sprich: auf eigenen Servern – ist besser. So müssen Entwickler gedacht haben, die von überall auf ihre Daten zugreifen wollen. Einer von ihnen ist der Gnome-Entwickler Hylke Bons. Er und seine Mitstreiter stellen mit der Software SparkleShare [2] eine freie Alternative zu kommerziellen Speicherdiensten bereit. SparkleShare ist das Ergebnis des SparklePony-Projekts [3]. Die Idee entstand auf dem GNOME London UX Hackfest 2010 aus dem Wunsch von Designern und Entwicklern nach einem freien, leicht benutzbaren Werkzeug zur Zusammenarbeit, das das bisher von ihnen genutzte Dropbox ersetzt.

Das unter der GPLv3 lizenzierte SparkleShare basiert auf der Versionsverwaltung Git [4], GTK+ und Mono [5]. Neben Git lässt sich auch Mercurial als Versionsverwaltung nutzten, doch die Entwickler betrachten es als nicht so wichtig. Wie Dropbox legt SparkleShare einen Dateiordner an, dessen Daten es automatisch mit dem auf einem Server befindlichen Speicherplatz (einem sogenannten Repository) abgleicht. In dem Ordner lassen sich mehrere Unterordner platzieren, die auf verschiedene Server beziehungsweise Repositories verweisen.

Die Datenübertragung läuft verschlüsselt ab. SparkleShare bietet ein IRC-basiertes Meldesystem, mit dessen Hilfe sich alle mit den entsprechenden Rechten ausgestatteten Personen informieren können, wer wann welche Änderungen vorgenommen hat. Erweist sich eine Änderung als weniger gut als angenommen, lässt sich das Repository auf einen früheren Stand zurückrollen.

Derzeit gibt es SparkleShare für Linux und Mac OS X, Ports für Windows und Clients für Android und iOS befinden sich noch in der Planung. Für diesen Artikel testeten wir SparkleShare in der Mitte Juli aktuellsten Version 0.2.4. Kurz vor Drucklegung erschien noch die Version 0.2.5, die wir für den Artikel aus Zeitgründen nicht mehr nachtesten konnten. Allerdings handelt es sich laut der Release Notes aus dem Tarball dabei hauptsächlich um ein Bugfix-Release ohne große funktionale Änderungen.

SparkleShare installieren

Einen SparkleShare-Server setzen Sie im Handumdrehen auf: Dazu richten Sie lediglich git-core und openssh-server aus dem Paketspeicher der verwendeten Distribution ein und legen anschließend mit

$ git init --bare SparkleShareRepo.git

ein Git-Repository an. Das war es denn auch schon – weitere Tätigkeiten sind serverseitig nicht erforderlich.

Momentan gibt es für die meisten Distributionen noch keine Binärpakete des SparkleShare-Clients, sodass sich dessen Installation etwas aufwändiger gestaltet. Den Quelltext laden Sie vom Github-Repository des Projekts [6] oder der Heft-DVD dieser Ausgabe herunter und entpacken ihn in ein beliebiges Verzeichnis. Dann übersetzen Sie den Client dort mit dem üblichen Dreischritt:

$ ./configure && make && sudo make install

Eventuell müssen zuvor noch einige Pakete nachinstallieren. Auf einem frischen Linux Mint waren es git-core, intltool, die Mono-Entwickerpakete mono-devel, gtk-sharp2, libwebkit-cil-dev und libnotify-cil-dev. Das README im Tarball nennt alle Abhängigkeiten und führt für Debian/Ubuntu und Fedora auch alle Befehle für deren Installation auf. Sind alle Abhängigkeiten erfüllt, verläuft die Installation des Clients reibungslos, und er landet standardmäßig in /usr/local/.

Git-Crashkurs

Dank Git synchronisieren Sie auch Rechner, die ohne grafische Oberfläche auskommen müssen, wie etwa Server. Git nutzen Sie auf der Kommandozeile, für den Anfang reichen schon wenige Befehle.
Befehl Beschreibung
git config --global user.name "Vorname Name" Nutzernamen festlegen
git config --global user.email "myself@domain.tld" E-Mailadresse des Nutzers
git clone ssh://user@server:/Pfad/zum/Repository.git klont ein entferntes Repository via SSH
git add filename fügt dem Repository eine Datei hinzu
git commit -a -m "Infos zu Änderungen" übernimmt alle Änderungen ins Repository
git push Änderungen auf das Remote-Repository schreiben
git-pull aktualisiert Verzeichnis
git log gibt das Git-Logfile aus
git status Status des Repositorys
git mergetool Versionskonflikte manuell auflösen
git checkout Commit-Name stellt frühere Versionen des Repositorys wieder her

Inbetriebnahme

SparkleShare nutzt SSH, um die Datenübertragung zwischen Server und Client zu verschlüsseln. Dementsprechend sollten Sie auf den Clients das Paket openssh-client installieren. Um zu vermeiden, dass der Anwender vor dem Datenabgleich ständig ein Passwort eingegeben muss, bietet sich ein Public-Key-Verfahren an, das anstelle der Passwortabfrage einen hinterlegten Schlüssel zur Authentifizierung nutzt. Das aus öffentlichem und privatem Schlüssel bestehende Paar erstellen Sie mit ssh-keygen, wobei Sie die Standardeinstellungen übernehmen können und die Passphrase leer lassen sollten. Anschließend übertragen Sie den öffentlichen Schlüssel mit ssh-copy-id User@Server auf den Server. Auf dem SparkleShare-Server müssen Sie die Schlüssel aller Rechner ablegen, auf denen die Synchronisationsanwendung genutzt wird.

Nach dem Abhaken dieser Vorbereitungen starten Sie SparkleShare über einen Eintrag im Startmenü oder den Befehl sparkleshare start auf der Kommandozeile. Beim ersten Lauf verlangt der Konfigurationsdialog noch einige Informationen zu Anwender und Server (Abbildung 1). Verwenden Sie einen eigenen Server, tragen Sie diesen mit Nutzernamen und Adresse in das Eingabefeld Auf meinem eigenen Server ein. Als Ordnername geben Sie den absoluten Pfad zum Git-Repository an (Abbildung 2). Danach finden Sie in der Taskleiste ein neues Icon, und die Anwendung beginnt, die im Ordner ~/SparkleShare enthaltenen Verzeichnisse zu synchronisieren.

Abbildung 1: SparkleShare verlangt Benutzername und E-Mail-Adresse, um später nachvollziehen zu können, wer welche Änderungen gemacht hat.
Abbildung 2: Sind Server und der absolute Pfad zum Git-Repository eingetragen, steht einer Synchronisation nichts mehr im Wege.

Anwender, die an mehreren Projekten arbeiten oder Daten mit unterschiedlichen Personen teilen wollen, können weitere Server aufsetzen beziehungsweise Git-Repositories anlegen. Dazu genügen ein Klick auf das SparkleShare-Icon und Remote-Ordner hinzufügen sowie die Angaben zu weiteren Servern beziehungsweise Ordnern. In ~/SparkleShare entstehen die entsprechenden Unterordner automatisch (Abbildung 3).

Abbildung 3: SparkleShare kann Dateien auf mehreren Servern synchronisieren und legt für jedes Repository automatisch einen Unterordner im Verzeichnis ~/SparkleShare an.

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

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 3 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
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.