Home / LinuxUser / 2011 / 09 / Mit SparkleShare und Git zum eigenen Cloud-Speicher-Dienst

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

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

Abbildung 1: SparkleShare verlangt Benutzername und E-Mail-Adresse, um später nachvollziehen zu können, wer welche Änderungen gemacht hat.

Abbildung 2

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

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

Tip a friend    Druckansicht Bookmark and Share
Kommentare

2754 Hits
Wertung: 130 Punkte (6 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...