SparkleShare: Einrichtung und Betrieb eines eigenen Servers

Veröffentlicht am


Weiter geht es in meiner Serie zu SparkleShare. Hier noch einmal eine Übersicht über die (geplanten) Themen der Serie:

Heute also der zweite Teil – es geht um die Einrichtung und den Betrieb eines eigenen Servers für SparkleShare

Installation des Servers

Da SparkleShare keine eigene Server-Software, sondern stattdessen nur ein GIT-Repository benötigt, ist die Installation des Servers sehr einfach – und was die Voraussetzungen angeht auch sehr anspruchslos.

Wenn ihr einen eigenen Root-Server o.ä. gemietet habt, wäre es natürlich praktisch das GIT-Repository dort einzurichten. Aber mir fällt da noch ein zweites Szenario ein: wer ein NAS sein eigen nennt, kann ggfs. auch dort das Repository platzieren und so ein automatisches Synchronisieren auf den NAS realisieren.

Bei meinem Synology NAS würde das jedenfalls funktionieren. Man muss zuvor den Paketmanager IPKG darauf zum laufen bringen (wie das funktioniert, habe ich hier schon einmal geschrieben). Darüber kann dann GIT installiert werden. Ich habe das selbst aber noch nicht probiert und ich werde hier auch nicht näher darauf eingehen.

Pakete installieren

Zunächst einmal muss man dafür sorgen, dass die benötigte Software auf dem Server vorhanden ist: GIT und OpenSSH. Sofern es sich um einen Ubuntu-Server handelt, kann das folgendermaßen bewerkstelligt werden:

sudo apt-get install git-core openssh-server

GIT-Repository erstellen

Bei einem GIT-Repository handelt es sich an sich nur um ein Datenverzeichnis, das zusätzlich ein paar Verzeichnisse und Dateien zur GIT-Steuerung beinhaltet. D.h. man kann sich frei aussuchen, wo man denn sein Repository bzw. seine Repositories auf dem Server unterbringen möchte. Ich schlage dafür /var/sparkleshare vor (spielt aber wirklich keine Rolle, wenn ihr das lieber irgendwo anders haben woll). Legt also euer Basisverzeichnis an:

mkdir /var/sparkleshare

Dann legt ihr euch ein Repository-Verzeichnis unterhalb des Basisverzeichnisses an (auch dieser Name ist natürlich frei wählbar):

cd /var/sparkleshare
mkdir meinrep

Und schließlich müsst ihr aus diesem Verzeichnis ein GIT-Repository machen:

cd /var/sparkleshare/meinrep
git --bare init

Zugriff per SSH-Key ermöglichen

Als nächstes braucht ihr ein SSH-Keypair, dessen Public-Key ihr auf dem Server platzieren müsst. SparkleShare benutzt dann den lokal gespeicherten Private-Key für die Authentifizierung am Server. Aber zunächst: falls ihr mit dieser Thematik nicht vertraut seid, möchte ich euch dringend die Wikiseite bei ubuntuusers.de an Herz legen.

Mit folgendem Kommando könnt ihr ein Keypair generieren:

ssh-keygen -t rsa

Falls ihr schon einen Key für den Zugriff auf euren Server besitzt, könnt ihr diesen Schritt natürlich überspringen und den vorhandenen Key auch für SparkleShare benutzen. Seid euch aber in beiden Fällen darüber bewusst, dass eine bei der Generierung angegebene Passphrase natürlich auch jeweils nach jedem System-Neustart einmal eingegeben werden muss (immer dann, wenn sich SparkleShare das erste Mal mit dem Server verbindet). Wenn ihr keine Passphrase eingebt, bleibt euch das erspart – aber das bedeutet dann auch, dass jeder, der in Besitz eures Private-Keys kommt, auch Zugriff auf euren Server erhält!

Ihr findet nun euren Public-Key in der Datei ~/.ssh/id_rsa.pub und euren Private-Key in ~/.ssh/id_rsa.

Kopiert nun den Public-Key auf den Server, indem ihr folgendes eingebt (wobei ihr meinuser durch den Benutzer ersetzt, den ihr auf dem ebenfalls zu ersetzenden Server meinserver benutzen wollt):

ssh-copy-id meinuser@meinserver

Beachtet an dieser Stelle auch, dass euer Repository-Verzeichnis für den hier angegebenen User natürlich les- und schreibbar sein muss. Sonst kann es natürlich nicht funktionieren.

Ihr könnt nun prüfen, ob der Zugriff per SSH unter Benutzung des Keys funktioniert:

ssh -l meinuser meinserver

Anstatt des User-Kennworts müsst ihr nun die Passphrase eures Keys eingeben – falls ihr keine Passphrase angegeben habt, solltet ihr sofort angemeldet sein.

Client konfigurieren

Beispielkonfiguration im SparkleShare-Client

Wählt im Menü des SparkleShare-Clients den Punkt Remote-Ordner hinzufügen... und gebt in der folgenden Maske eure Daten (User- und Servername und Repository-Verzeichnis) an.

Wählt die Option Auf meinem eigenen Server aus und gebt in das Eingabefeld dahinter eure Serveradresse ein. Wenn euer lokaler Benutzer einen anderen Namen hat, als der Benutzer auf dem Server, müsst ihr dem Servernamen außerdem den Server-Benutzer voranstellen – nach dem Schema: user@server.

In dem unteren Eingabefeld Verzeichnisname gebt ihr dann den vollständigen Pfad zu eurem GIT-Repository an.

Für die o.g. Beispiel-Konfiguration würde das so aussehen, wie in dem auf der Seite gezeigten Screenshot.

Wenn ihr dann auf Synchronisation klickt, startet die Erst-Sychronisation. D.h. es werden alle Dateien vom Server abgeholt, falls das Repository dort schon befüllt ist – falls nicht wird einfach ein lokales Repository-Verzeichnis erzeugt.

Dieses lokale Repository-Verzeichnis findet ihr dann als Unterverzeichnis unterhalb von ~/SparkleShare. Alles was ihr dort hinein kopiert, wird auf den Server übertragen.

Mehr…

An dieser Stelle möchte ich noch einmal auf die Serie hinweisen. Lest also auch den ersten Artikel und seid gespannt auf die noch folgenden. Eine Übersicht über die bereits erschienenen und noch geplanten Artikel findet ihr ganz oben.


Dieser Artikel wurde in der/den Kategorie(n) _Anwendungen, Planet-U, Praxis veröffentlicht und mit den Tags , , , , versehen.

10 Kommentare zu SparkleShare: Einrichtung und Betrieb eines eigenen Servers

  1. Pingback: SparkleShare: freie Alternative zu Dropbox / Ubuntu One ? | ME and my U

  2. Pingback: SparkleShare: Verschlüsselung der Daten mit GPG | ME and my U

  3. Kommentar von Tobias
    16. November 2011, 10:18 Uhr.

    Hallo,

    erstmal eine gute Anleitung. Danke schön.

    Aber was ich leider nicht verstehe ist, wenn ich den client öffne und auch alles richtig eingebe will der ein Passwort.
    Nur die frage wie finde ich das raus?

    lg Tobias

    • Kommentar von Gerald
      16. November 2011, 10:56 Uhr.

      Hallo Tobias,
      das dürfte das Kennwort von deinem SSH-Schlüssel sein, den er da haben möchte. Das hast du beim Generieren des SSH-Schlüsselpaars vergeben. :)
      Gruß, Gerald

  4. Kommentar von Tobias
    16. November 2011, 11:01 Uhr.

    Hallo.

    Super Anleitung, Danke..

    Aber was ich nicht ganz verstehe ich wenn ich den Client runterlade und mich einloggen will, will der ein Passwort von was ich nicht weiß und nicht wirklich angelegt habe.

    Kann mir das jemand Helfen?

    Lg

  5. Kommentar von Tobias
    16. November 2011, 17:04 Uhr.

    Ui Ich sehe gerade das es ein Doppelpost geworden ist…Sorry.

    Gibt es da eigentlich die möglichkeit mehrere Nutzer dafür anzulegen?

    • Kommentar von Gerald
      16. November 2011, 21:08 Uhr.

      Du kannst dir zwar mehrere Schlüssel generieren und diese hinterlegen, aber du musst dich für die Verbindung zum SparkleShare-Server schon auf einen bestimmten Benutzernamen festlegen.
      Hoffe, ich habe dich da richtig verstanden…
      Gruß, Gerald

  6. Kommentar von sunta
    5. April 2012, 13:59 Uhr.

    Ich habe sparkleshare auf einem eigenen server laufen und 2clients syncen super. Wie aber richte ich nun mein android-device ein? einen QR-code habe ich nicht

    • Kommentar von Gerald
      5. April 2012, 16:52 Uhr.

      Da kann ich dir leider nicht weiterhelfen, weil ich das mangels Smartphone nicht ausprobieren kann. Mit Virtualisierung aktueller Android-Versionen habe ich bislang leider auch noch so meine Probleme…

  7. Pingback: SparkleShare: die private Dropbox? » Android » Groupware » Linux » OpenSource » Software » Web » LUKi - Linux User im Bereich der Kirchen

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>