BTSync auf 'nem Uberspace

BTSync ist schon recht cool, wenn man sich das mal so anguckt. Ist quasi ein Ersatz für Dropbox. Funktioniert nur anders: Bei Dropbox werden alle Daten erst auf einen zentralen Server hochgeladen, von dem sie dann von den jeweiligen Clients heruntergeladen werden. Bei BTSync wird ein Peer-to-Peer Netzwerk aus den verschiedenen Clients aufgebaut (ähnlich wie bei BitTorrent), in dem die Dateien direkt und verschlüsselt gesendet werden. Da hab ich mich natürlich gefragt:

Kann man das nicht auch auf 'nem Uberspace installieren?

Die Antwort ist: Ja, man kann!

Aber was genau bringt das dann? Da der BTSync-Daemon auf dem Uberspace dann konstant, Tag und Nacht läuft, bringt es den Vorteil mit sich, dass man auch zeitversetzt Dateien sharen kann.

Ohne Den Server sieht das so aus:
Wenn Person A eine Datei an Person B freigeben möchte, Person B aber gerade nicht online ist, passiert nichts.

Mit dem Server ist das aber wiederum ganz anders:
Wenn Person A eine Datei an Person B freigeben möchte, Person B aber gerade nicht online ist, wird die Datei ausschließlich auf den Server hochgeladen. Wenn Person B dann irgendwann einmal online geht, wird Datei von dem Server heruntergeladen, auch wenn Person A offline ist.

Dazu schreib ich hier mal eben eine kleine Anleitung.

Als erstes muss natürlich BTSync überhaupt ersteinmal heruntergeladen werden. Das machen wir am besten direkt in den ~/bin Ordner, da gehören Binaries ja schließlich rein. Also:

cd ~/bin
wget -O - http://download-new.utorrent.com/endpoint/btsync/os/linux-x64/track/stable | tar xzf -

So, nun haben wir BTSync schoneinmal auf dem Uberspace. Als nächstes müssen wir uns um die Weiterleitung vom Apachen kümmern. Dazu legen wir uns am besten eine Subdomain an:

cd /var/www/virtual/$DEIN_USERNAME/
mkdir bit.$DEINEDOMAIN

Damit haben wir schon einmal die Subdomain angelegt. Als nächstes muss dann der entsprechende Port weitergeleitet werden. Das ganze wird über eine .htaccess Datei geregelt (Das Verfahren sollte bekannt sein):

cd bit.$DEINEDOMAIN
nano .htaccess

Die .htaccess:

RewriteEngine On
RewriteRule (.*) http://localhost:$PORT/$1 [P]

Dabei muss $PORT durch einen Port eurer Wahl ausgetauscht werden, bspw. 8842 (Merken, ist wichtig für gleich).

Wenn das erledigt ist können wir uns auch schon um BTSync selbst kümmern. Dazu legen wir zunächst eine Config-Date an. BTSync liefert schon eine Beispieldatei mit:

bin/btsync --dump-sample-config > ~/.btsync.config

Die muss nun bearbeitet werden, beispielsweise mit nano. Wichtig ist die "webui"-Sektion. Dort muss der Port von gerade eben eingesetzt werden. Außerdem müssen die Zugangsdaten eingestellt werden. Des Weiteren ist es von Priorität, den "storage_path" in einen beschreibbaren Pfad zu ändern, als z.B. "/home/$USER/btsync/storage" ($USER steht hier für den aktuellen Benutzernamen). Wenn das erledigt ist, müssen wir nur noch kurz den Service einrichten:

uberspace-setup-svscan
uberspace-setup-service btsync ~/bin/btsync --config ~/.btsync.config --nodaemon

Danach wird noch der Daemon mit svc -u ~/service/btsync gestartet und voilà, der BTSync-Server sollte unter der vorher angegebenen Subdomain laufen, wo es weiter konfiguriert werden kann.

Achtung: Bitte bedenke, dass auf dem Uberspace nur maximal 10GB Speicherplatz sind, also übertreib's nicht mit dem freigegebenen Ordnern ;)

Grüße,
Jan-Henrik

Author Image
Jan-Henrik Bruhn

Im Wesentlichen beschäftige ich mich hobbymäßig mit der Informatik. Kann man dann auch studieren, erstmal muss aber Abi. Das sollte man machen, mach ich auch (so wie es jetzt aussieht zumindest).