Dropbox Alternative Seafile auf Uberspace [Alt]

Seafile ist eine Dropbox Alternative die leicht auf dem eigenen Uberspace installiert werden kann.

Ich habe mich vor allem an die Anleitung von Seafile auf Github gehalten: Download and setup seafile server. Folgende Anpassungen müssen allerdings gemacht werden: Die Python Module Simplejson und Imaging müssen nachinstalliert werden, dazu bitte in der Doku von Uberspace zu Python nachschauen und folgende Schritte durchführen:

Um zusätzlich Module von Python 2.7 zu benutzen, müssen erst diese beiden Ordner anlegt werden:

[username@server ~]$ mkdir -p ~/bin ~/lib/python2.7

Anschließend das Modul Simplejson mit easy_install installieren:

[username@server ~]$ easy_install-2.7 simplejson

Um das Imaging Modul zu installieren, bitte dieser Anleitung zu Pil von Uberspace folgen und folgendes im Heimverzeichnis ausführen:

[username@server ~]$ curl --silent http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz | tar -xzf -
[username@server ~]$ cd Imaging-1.1.7
[username@server Imaging-1.1.7]$ perl -pi -e 's|/usr/lib|/usr/lib64|g' setup.py
[username@server Imaging-1.1.7]$ python2.7 setup.py install
...
creating /home/simone/lib/python2.7/PIL.pth
[username@server Imaging-1.1.7]$ cd ..
[username@server ~]$ rm -rf Imaging-1.1.7

Bei der Einrichtung von Seafile müssen auch die Ports so eingerichtet werden, das sie zu den Port-Einstellungen von Uberspace passen. Ich habe daher fünf TCP Ports zwischen 61000 und 65535 vom Support freischalten lassen und diese wie folgt verteilt (ich habe die Ports 62323-62327 zugewiesen bekommen):

  • ccnet port: 62323 (default: 10001)
  • seaf-server port: 62324 (default: 12001)
  • seahub port: 62327 (default: 8000)
  • httpserver port: 62325 (default: 8082)
  • client port: 62326 (default: 13418)
[username@server ~]$ mkdir haiwen
[username@server ~]$ cd haiwen
[username@server ~]$ wget http://seafile.googlecode.com/files/seafile-server_{version}_x86-64.tar.gz
[username@server haiwen]$ tar -xzf seafile-server_{version}_x86-64.tar.gz
[username@server haiwen]$ mkdir installed
[username@server haiwen]$ mv seafile-server_{version}_x86-64.tar.gz installed

Nachdem also die aktuelle Version von Seafile heruntergeladen und im gewünschten Ordner im Homeverzeichnis (hier im Beispiel ~/haiwen) entpackt wurde, kann der Einfachheit halber noch ein symbolischer Link auf den Ordner „seafile-server-{version}“ angelegt werden, ist später einfacher zu merken (z.B. für Start/Restart/Stop von Seafile per Skript).

[username@server haiwen]$ ln -s ./seafile-server-{version} ./seafile-server-latest

Dann das Skript zum Installieren ausführen und dabei die Ports von oben eintragen, alles anderen Parameter habe ich auf Default gelassen:

[username@server haiwen]$ cd seafile-server-latest
[username@server seafile-server-latest]$ ./setup-seafile.sh

Den Port für die interne Kommunikation der einzelnen Module habe ich in ~/haiwen/ccnet/ccnet.conf ebenfalls auf einen anderen Port umgestellt.

[Network]
PORT = 62323
[Client]
PORT = 62326

Dann kann Seafile und Seahub per Skript gestartet werden:

[username@server seafile-server]$ ./seafile.sh start
[username@server seafile-server]$ ./seahub.sh start 62327

Wenn alles gut gegangen ist, läuft Seafile jetzt auf dem Uberspace unter:

http://username.server.uberspace.de:62327/

Was jetzt noch fehlt, sind verschiedene Einstellungen anzupassen, wie zum Beispiel den Emailversand einrichten und ein individuelles Logo anzeigen lassen. Auch dazu gibt es eine Anleitung.

[Update 02.09.2013]:

Bis zur aktuellen Version 1.8.3. ist es nicht möglich, mehreren Instanzen von Seafile auf einem Server zu betreiben. Jonas von Uberspace schrieb dazu:

Wie’s aussieht, „erlaubt“ Seafile nur eine einzige Instanz von sich auf einem Server, und verweigert bei weiteren den Start. Damit disqualifiziert es sich natürlich eigentlich direkt für den Einsatz auf Shared Hosting, wo es eigentlich normal sein sollte, dass mehrere User die gleiche Applikation in mehreren Instanzen betreiben.

Der Support von Seafile versicherte mir heute allerdings, sich des Problems anzunehmen und es bald zu lösen:

Currently we check existing seafile instance in seafile.sh/seahub.sh scripts by processor name. We will change it and this should solve the problem. We can publish it in the next minor release.

Hoffen wir mal, dass das dann auch so funktioniert.

[Update 18.09.2013]:

Mit dem Update 1.8.5 funktioniert jetzt auch das Betreiben mehrerer Seafile-Instanzen auf einem Server.

[Update 28.04.2014]:

Für Menschen, die lieber MySQL und HTTPS mit Apache für Seafile einsetzen, hat David Widmann eine Anleitung geschrieben. Dann ist Seafile auch über eine normale URL ohne Port erreichbar:

https://username.server.uberspace.de

Ich selbst werde weiterhin SQLite benutzen, aber auf Apache als httpserver umsteigen, dann läuft seahub im Hintergrund im fastcgi Mode (nähre Infos dazu). Temporär habe ich mal eine Anleitung zum umkonfigurieren hier abgelegt: Seafile auf Apache umkonfigurieren, bis ich diese Anleitung umgeschrieben habe.

[Update 23.06.2015]:

Es hat sich viel getan bei Seafile. Deswegen gibt es einen neuen Blogbeitrag dazu.

7 Kommentare zu Dropbox Alternative Seafile auf Uberspace [Alt]

  1. Hallo!

    Vielen Dank für die Anleitung! Seafile klingt ziemlich nach dem was ich gesucht habe.

    Mittlerweile gibt es angeblich eine Lösung für das Problem, dass Seafile bisher nur eine Instanz erlaubt hat:
    https://github.com/haiwen/seafile/commit/3b1e08a125867cc854b529b4dd612dbb2a00dcaa

    Seit heute ist die neue Version 1.8.5 des Seafile-Servers verfügbar und die Änderungen sind wohl eingeflossen.

    Ich werde es die kommenden Tage mal mit der Anleitung hier testen (und hoffe, dass wir uns nicht gegenseitig in die Quere kommen, falls wir auf dem selben Server sitzen).

    Schöne Grüße!

    • Hi gils,

      ich habe jetzt auf dem selben Uberspace zwei Installationen von Seafile laufen und in der Tat können jetzt mit dem Update auf Version 1.8.5 beide gleichzeitig laufen. Damit sind wir einen Schritt weiter, damit Seafile auf Uberspace problemlos läuft.

      Viele Grüße

  2. Hey,

    erstmal vielen Dank für diese Anleitung! Leider habe ich ein grundsätzliches Problem, meine SeaFile-Installation anzusprechen: Weder im Browser noch über den Client wird eine (Erst-)Verbindung hergestellt. Habe jetzt schon drei mal ganz neu angefangen, die Ports sind freigeschaltet und entsprechend zugewiesen (allerdings nur für TCP?), und vor allem bei der Domain-Eingabe habe ich etwas herumgespielt, weil mir das nicht eindeutig erscheint: IP-Adresse scheidet beim SharedServer wohl aus, aber alles von ‚http://name.server.uberspace.de‘, nur ’name.server.uberspace.de‘ oder auch beides jeweils mit www. – nie kann ich meinen Server ansprechen.

    Leider bin ich ein Linux-Anfänger, deshalb fehlt mir wohl das Rüstzeug um serverseitig Dinge zu überprüfen. Die logfiles in meinem Seafile/logs-Folder produzieren jedenfalls keine offensichtliche Fehlermeldung, die Dienste werden alle gestartet auf den richtigen Ports.

    Hast du/habt ihr vielleicht einen ersten Tipp für mich? In Ermangelung eines uberspace-Forums dachte ich, ich fange mal hier an 🙂

    Danke und Grüße, pano

    • Hallo pano,

      sorry, dass ich mich nicht früher gemeldet habe, ich hatte mich länger nicht mehr mit Seafile usw. befasst, aber du hast ja selbst ein Lösung gefunden, danke für die Ergänzung.

      Grüße
      cbmainz

  3. Hallo,

    ich nochmal, mit einer zentralen Ergänzungen zur Anleitung, getestet mit der v2.1.3 vom Seafile-Server und vom uberspace-support bestätigt (danke!). Denn der default-Port 8000 für Seahub ist doppelt problematisch:

    (1) Einmal muss auch dieser port von den uberspace-admins freigeschaltet werden, womit die 8000 ausscheidet, da uberspace nur innerhalb einer 60.000+-Range ports freischaltet. Man benötigt also FÜNF ports, wie oben beschrieben, muss aber den fünften freigeschalteten port für Seahub verwenden.

    (2) Dies muss dann nicht nur in der ccnet.conf vermerkt werden, sondern trotzdem bei jedem seahub-Start mit angegeben werden:

    ./seahub.sh start 6xxxx

    Vielleicht findet jemand einen Ort, wo der port standardmäßig eingetragen wird, ich hab keinen gesehen (außer in der ccnet.conf, die aber offenbar zum Start des Service nicht herangezogen wird).

    Mit diesen Ergänzungen hats bei mir dann auch super funktioniert. Das wollte ich nur eben noch vermerkt haben…

Schreibe einen Kommentar

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

24 − 16 =