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 11/2014: VIDEOS BEARBEITEN

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

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...