Seafile installieren

In diesem Tutorial zeige ich euch, wie ihr Seafile auf eurem Raspberry Pi installieren könnt. Während OwnCloud auf ein sehr umfangreiches Webinterface und lediglich einen einfachen Webserver als Unterbau benötigt, läuft Seafile als eigenständiger Dienst im Hintergrund und bringt eine clientseitige Verschlüsselung mit AES 128-Bit mit. Für Seafile wird hingegen ein SSH-Zugang mit Python benötigt.

 

1. Als Erstes installieren ein paar Pakete, welchen von Sealife benötigt werden

sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging sqlite3

2. Da Seafile als eigenständiger Dienst im Hintergrund läuft, empfiehlt es sich einen neuen Benutzer anzulegen, unter welchem Seafile dann gestartet wird. Im Folgenden legen wie den Benutzer seafile an, loggen uns in diesen ein und wechseln in dessen Home-Verzeichnis

sudo adduser seafile

sudo su seafile

cd

3. Jetzt erstellen wir einen neuen Ordner in dem wir gleich Seafile herunterladen

mkdir seafile

4. Daraufhin laden wir den Seafile-Server herunter und entpacken ihn. Die aktuellste Version des Servers findet ihr immer hier

wget http://seafile.googlecode.com/files/seafile-server_1.8.5_pi.tar.gz

tar -xvf seafile-server_1.8.5_pi.tar.gz

5. Im Anschluss springen wir in den gerade entpackten Ordner und führen die Konfiguration des Seafile-Servers durch. Während der Konfiguration müssen wir unserem Seafile-Server einen Namen geben. Dieser ist, bis auf die angezeigten Bedingungen, frei wählbar. Danach werden wir nach der IP-Adresse unseres Pis gefragt. Hier tragt ihr entweder eure öffentliche IP-Adresse bzw. eure DynDNS-Adresse ein oder die lokale IP eures Pis. Alle weiteren Abfragen können mitteln Enter einfach bestätigt werden, bis wir zur Frage [seahub admin email] kommen. Hier müssen wir unsere E-Mail-Adresse eintragen und im Anschluss ein Passwort vergeben

cd seafile-server-1.8.5

./setup-seafile.sh

6. Jetzt können wir Seafile (File-Synchronisation-Service) und Seahub (Webinterface) starten. Letzteres findet ihr unter http://ipadresseeurespis:8000

./seafile.sh start

./seahub.sh start

7. Als Letztes legen wir noch einen Cronetab an, damit Seafile auch beim Starten unseres Pis gestartet wird. Dazu fügen wir am Ende der Cronetab folgende Zeilen ein. Passt hierbei die Versionsnummer dem aktuellen Stand an. Seahub muss hier nicht zwingend gestartet werden. Der Vollständigkeit halber lassen wir es mitstarten

crontab -e
@reboot /home/seafile/seafile/seafile-server-1.8.5/seafile.sh start
@reboot /home/seafile/seafile/seafile-server-1.8.5/seahub.sh start

8. Wenn ihr euren Seafile-Server auch von außerhalb erreichen wollt, dann müsst wir folgende Ports in eurer Firewall öffnen und auf euren Pi weiterleiten lassen: ccnet 10001; seaf-server 12001; seahub 8000 (optional); httpserver 8082 (optional). Bei allen Ports handelt sich im das Protokoll TCP.

Einrichtung des Seafile-Clients (Windows)

Die Einrichtung des Seafile-Clientes unter Windows zeige ich im Video ab Minute 9:26.

35 Kommentare zu “Seafile installieren

  1. Hey,

    muss sagen echt super klappt alles.

    Aber nun wollte ich meine Festplatte nachträglich einbinden mit ./setup-seafile.sh

    aber er findet das Verzeichnis nicht.

    Kannst du mir bitte weiterhelfen.

    Danke 🙂
    Napps

    • Wie ist deine Festplatte formatiert? Meistens liegt es an einer fehlerhaft konfigurierten fstab. Hier mal prüfen ob mit „mount -a“ ein Fehler auftritt.

        • Ich habe das gerade mal kurz mit einem USB-Stick getestet. Dieser war in NTFS formatiert und entsprechend meinem bereits gezeigten Tutorial gemountet.

          Ich musste lediglich dem Benutzer seafile die benötigten Lese-/Schreibrechte auf den Ordner geben und in der Konfiguration den Ordner entsprechend ändern. Danach hat alles reibungslos funktioniert.

          • OK
            ähm ich muss sagen ich weiß gerade nicht genau wie ich das mache :Ddie schreibrechte ändern2

          • Als Stichwörter gebe ich dir mal chown und chmod mit auf den Weg. Ansonsten ist wiki.ubuntuusers.de eine sehr gute Anlaufstelle für solche Fragen. Dort findest du auch sehr gut erklärt, wie du die Befehle einsetzt.

      • Ich hatte das selbe Problem. Man muss sqlite3 mit „sudo at-get remove sqlite3“ deinstallieren, anschließend mysql mit „sudo apt-get install mysql-server“ nachinstallieren und statt „./seafile-setup.sh“ dann natürlich „./seafile-stup-mysql.sh“ ausführen. Dann klappt es bestimmt

    • Hättest du dir das Video zum Beitrag angesehen, dann wäre diese Frage eventuell nicht aufgekommen.

      Ich hab das aber trotzdem mal ergänzt.

  2. mh hab mal nach geschaut bei ubuntu wiki aber ich versteh das nicht so ganz hab auch mal was probiert manches ging un manches nicht da weiß ich teilweise nicht so was ich geändert habe 😀

  3. Hi,

    funktioniert im lokalen Netzwerk alles wunderbar, nur klappt es via dyndns nicht!
    Ich habe eine noip Adresse eingerichtet z.b. XXXXXXXXX

    In der Konfig habe ich den Server auch so hinterlegt.

    Wenn ich nun mit dem client versuche zum Server zu verbinden, klappt dies auch. Wenn ich allerdings versuche etwas herunterzuladen, klappt das nicht.
    Außerdem habe ich im Client unten die Fehlermeldung „keine Verbindung zum Server XXXXXXXXX“

    Alle Ports habe ich in der Fritzbox freigegeben und auf auf die lokale IP des PIs weitergeleitet.

    Viele Grüße
    Kai

  4. Hallo ich habe mir Seafile wie oben beschrieben und mit den festgelegten E-mail und Passwort kann ich mich nicht Einlogin !! Woran kann das liegen, vielleich keine Schreibrecht, wenn ja wie vergebe ich sie das es geht. Danke in Vorraus

  5. Hallo noch was es ist die neuste Version von Seafile es komme immer die Meldung beim Anmelden „E-Mail-Adresse oder Passwort sind falsch“
    Ich habe sogar mehrmals neue E-mails und Passwörter vergeben, aber ich kann mich nicht mit den Admin Daten nicht Anmelden.

    • Dies ein bekannter Fehler bei Seafile.
      Leider gibt es meines Wissens dafür zur Zeit keinen Fix oder Workaround.

      Es soll wohl helfen, den Datenbanktyp von sqlite auf MySQL zu ändern.

      Was wohl auch helfen soll: Die Default-Werte während der Einrichtung nicht mit „Enter“ zu bestätigen, sondern diese von Hand einzutragen.

      Beim Passwort sollte man darauf achten keine Sonderzeichen zu verwenden, da Seafile mit der Formatierung manchmal Probleme macht. Sprich nur Zeichen „a-z A-Z 0-9“ verwenden.

      • Danke für die schnelle Antwort ! Wie stellt man Seafile auf Mysql um ?
        Natürlich muss man Mysql installieren, „sudo apt-get install mysql“ aber wie stelle ich Seafile auf Mysql um ?
        Noch was mir ist aufgefallen das Sie einen Fehler in der Beschreibung haben, den beim Autorunbefehl „crontab -e“ den muss heißen
        @reboot /home/seafile/seafile-server-1.8.5/seafile.sh start
        @reboot /home/seafile/seafile-server-1.8.5/seahub.sh start

        ein Seafile Verzeichnis zu viel!
        Kann das sein da ich mich nicht anmelden kann weil wo die DB liegt
        ich keine rechte habe ?

        Mit freundlichen Grüßen
        Frank

        • Nochmal installieren sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb

          und dann

          sudo su seafile
          cd
          cd seafile-server-2.0.3
          ./reset-admin.sh
          Email und Passwort neu eingeben und es geht!
          Gruß Frank

  6. Hallo Karesyk

    Deine Anleitungen sind für Anfänger wirklich super. Danke vielmals!
    Ich habe schon gesehen, dass man Emulatoren (bspw. SNES und GBA) auf dem Pi installieren kann, aber als eigener Boot, d.h. man formatiert die SD Karte gleich so. Ich habe jetzt Raspbian drauf und vieles nach Deiner Anleitung installiert bzw. eingestellt. Da ich nicht alles wieder verwerfen möchte, meine Frage:

    Kann man den Emulator so installieren, dass man beim Start einen Befehl eingibt und ihn so startet?

    Könntest Du da auch eine Anleitung erstellen?

    Danke!

    • Leider bewegt man sich bei der Verwendung solcher Emulatoren immer in einer rechtlichen Grauzone.

      Darum kann ich dir leider nicht weiterhelfen oder ein Video darüber machen.

  7. Vielen Dank, funktioniert bis auf den automatischen Start beim Hochfahren des Pi. Ich habe das beim cronjob eingetragen, aber Seafile startet erst beim manuellen Starten mit „./seafile.sh start“ wie oben beschrieben. Wo liegt der Fehler, wie kann ich sicherstellen, daß Seafile beim Hochfahren des Pi auch startet?

  8. Hallo Karesyk,
    zu aller erst ein fettes Lob für die großartigen Tutorials.
    Nun zu meiner Frage (bin chemisch rein), wie kann ich die zuerst eingegebene lokale IP (Seafile-Server)in eine öffentliche IP-Adresse bzw. DynDNS-Adresse nachträglich ändern?

    Schon mal vielen Dank

  9. Vielleicht ist es für crontab entscheidend, als welcher Nutzer man angemeldet ist. Muß dies als Pi oder als seafile geschehen? In welchem Verzeichnis muß man sich befinden, wenn man „crontab -e“ aufruft?

  10. Wie kann ich seafile-server-2.0.3 auf seafile-server-2.1.3 updaten ohne die ganze Konfiguation neu vorzunehmen?

    Klasse tutorial. Hat alles geklappt

  11. Hi,
    ich möchte mich ersteinmal für dein Tutorial und deine Mühe bedanken! 🙂
    Hat von Anfang bis zum Ende reibungslos geklappt! Ich nutze im Moment die Version 2.1.3 . Ich habe es zuerst mit ArkOS probiert jedoch nicht besonders klar gekommen. Alleine schon das Seafile die deutsche Sprache unterstützt hat mich gefreut. 🙂
    Ich muss dazu sagen, dass auch alles sehr Simpel und einfach aufgebaut ist. Für jeden also verständlich.

    Nun möchte ich an Volker´s Frage anknüpfen. Gibt es eine Möglichkeit (einen Befehl oder so) das der Raspberry von alleine den Seafile Server startet? Ich möchte z.B. bei einem Stromausfall nicht „jedes mal“ in das Verzeichnis wechseln um dann selbst alles zu starten.

    Vielleicht noch eine neben Frage. Kann man eine Festplatte zur Erweiterung an den Raspberry stecken und nutzen?

    Mit freundlichen grüßen
    Timm

    • Ich möchte nun etwas zum Thema „Seafile beim Pi-Start automatisch starten“ Beitragen. Ich muss dazu sagen das ich überhaupt keinen Plan von der Materie hatte bzw. habe da ich erst vor wenigen Tagen damit angefangen habe. Anscheinend gibt es bisher keine richtige Lösung! Zumindestens habe ich so einiges ausprobiert was dann doch nicht geklappt hat oder einfach viel zu viel programmiererei war. Ich habe es nun so simpel wie möglich gehalten. Viele Versuche den Server automatisch beim booten zu starten gingen ins Leere oder waren sehr nah dran. Damit mein Code sich nicht mit dem anderen Code vermischt, habe ich den Pi nun zum dritten mal neu aufgelegt damit ich auch wirklich beweisen kann das es klappt! ;D

      Ich habe wie oben im Tutorial beschrieben, alles nach gemacht! (Noch einmal ein herzliches Danke! 😉 )

      Danach habe ich mit „startx“ die Oberfläche gewechselt. Im Verzeichnis „/home/pi“ habe ich eine neue Datei mit dem Namen „seafile-server-start.sh“ erstellt.
      Darin habe ich folgendes eingetragen:

      #!/bin/sh
      #/etc/init.d/seafile-server-start

      sudo /home/seafile/seafile-server-2.1.3/seafile.sh start
      sudo /home/seafile/seafile-server-2.1.3/seahub.sh start

      (Hier müsst ihr jenachdem welche Version ihr nutzt, ein wenig anpassen – ich nutze z.B. 2.1.3)

      Danach die Datei speichern und in die/den Konsole/Terminal wechseln. Dort trägt ihr nun dies ein:

      sudo cp seafile-server-start.sh /etc/init.d
      sudo chmod 755 /etc/init.d/seafile-server-start.sh
      (Hier gab es ein paar Warnungen, jedoch keine Probleme beim start)

      sudo update-rc.d seafile-server-start.sh defaults

      Zum Schluss:

      sudo reboot

      Danach startet der Pi neu und sollte beim booten automatisch den Seafileserver starten! Über Versuche, Probleme, Kommentare,…. würde ich mich freuen.

      Mfg Timm

  12. Hatte leider nicht geklappt
    Habe Seafile neu aufgesetzt und jetzt kann ich auf meinem Handy die Dateien nicht mehr runterladen (failed to download file „XYZ“) wenn ich über 192.168.1.33:8000 einwähle.
    Von extern über die dyndns geht es gar nicht mehr (ungültiger Server)

    Was mache ich falsch? Muss ich in seahub_settings.py etwas eintragen? Oder wo mache ich den Fehler.
    Ich wäre Dir für einen Gedankenanstoss dankbar.
    Niklas

    • Hatte das selbe Problem. Lag letztlich an der Portfreigabe im Router. Habe alle oben genannten Ports im Router für den seafile Server freigegeben und jetzt klappt es.
      Vielen Dank für die sehr ausführliche und leicht verständliche Anleitung. Hat alles auf Anhieb funktioniert.

  13. Ich habe nun in seahub_settings.py
    HTTP_SERVER_ROOT = ‚http://www.dyndns:8000‘ eingetragen und kann jetzt auch von extern die dateinamen sehen. Was allerdings immer noch nicht geht ist auf dem mobile auf die Dateien zugreifen. dann kommt wie bereits erwähnt „failed to download file „xyz“. Die ports 10001,12001, 8000 und 8082 sind offen.

  14. Probier das Ganze mal mit:

    #!/bin/sh
    #/etc/init.d/seafile-server-start

    sudo /home/pi/seafile-server-2.1.3/seafile.sh start
    sudo /home/pi/seafile-server-2.1.3/seahub.sh start

    Kann sein das sich dein Seafile Ordner in „home/pi“ befindet.

    Tip: Wenn seafile.sh von selbst gestartet wird, funktioniert es schon mal. Sollte seahub.sh nicht starten (faild), dann starte den raspberry ein paar mal neu. Sollte aber eigentlich funktionieren. Ich habe es gerade noch einmal selbst probiert da ich auf eine 32GB Karte gewechselt habe.

    Mfg
    Timm

  15. So jetzt funktioniert es wieder

    Ich musste das „www.“ weglassen und den richtigen Port nämlich 8082 nehmen.

    HTTP_SERVER_ROOT = ‚http://myname.dyndns.com:8082‘ in seahub_settings.py eintragen

    und dann habe ich Timm K’s Ratschlag (danke dafür) befolgt und mit sudo neu gestartet

    jetzt läuft es wieder

Schreibe einen Kommentar

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

*