Seafile ist einsatzbereit!

Die private Cloud auf dem Raspberry Pi – Seafile Server auf Raspian Stretch installieren

Sharing is caring! Teile diesen Beitrag

Die Artikelserie zum Raspberry Pi
Teil 1 (Link): Der Raspberry Pi 3 – der Alleskönner im Scheckkartenformat
Teil 2 (Link): Installation und Konfiguration von Raspbian Stretch auf Raspberry Pi 3
Teil 3 (Link): Fernzugriff per SSH und VNC auf den Raspberry Pi
Teil 4 (Link): Installation PiVPN – Den Raspberry Pi einfach zum VPN-Server ausbauen
Teil 5 (Link): OpenVPN/PiVPN Benutzerverwaltung auf dem Raspberry Pi
Teil 6 (Link): Installation und Konfiguration von Raspbian Stretch Lite auf Raspberry Pi 3 (ohne Desktop)
Teil 7 (Link): etherwake – Der Raspberry Pi als Wake On LAN-Server
Teil 8 (Link): Adblocker mit Pi-hole: Das schwarze Loch für Werbung im Internet
Teil 9: Dieser Artikel

Was ist Seafile?

Seafile (Link zum Wikipedia-Artikel) ist ein Dateiserver, mit dem sich Dateien zentral auf einem Server abspeichern (Filehosting), zwischen verschiedenen Geräten synchronisieren (File synchronisation) und mit anderen Personen teilen (File sharing) lassen. Der Zugriff erfolgt mittels Webinterface, Desktop-Clients (Windows, Mac, Linux) und Mobile Apps (Android und iOS).

Die kostenlose und als Open-Source verfügbare Community Edition (CE) erlaubt maximal drei User, was für die meisten von uns ausreichen sollte. Eine Preisübersicht findet ihr hier.

Die Funktionen der Software ähneln denen von Google Drive oder Dropbox.

Seafile statt Dropbox, Google-, Apple- oder Microsoft-Cloud – warum ist das sinnvoll?

Cloud-Anbieter gibt es wie Sand am Meer und die meisten bieten ihre Dienste mehr oder minder kostenlos an. Warum sollte man sich also die Mühe machen und sich eine eigene Cloud daheim auf seinem Raspberry Pi installieren?

Der Vorteil von Seafile gegenüber den oben genannten oder ähnlichen Diensten ist, dass die Software auf eurem eigenen Server, in eurem eigenen Netzwerk läuft. In unserem Fall ist das der Raspberry Pi daheim und kein öffentlich zugänglicher Webserver, im schlimmsten Fall noch einer, der in irgendeinem Rechenzentrum in den USA steht.

Das ist, wenn ihr mich fragt, einfach ein unschlagbarer Vorteil, der kleinere Komforteinbußen locker ausgleicht!

Wofür ich selbst Seafile nutze

Ich nutze den Fileserver, um bestimmte Verzeichnisse zwischen meinem Desktop-PC und meinem Notebook automatisch zu synchronisieren. So habe ich auf beiden Geräten immer den aktuellen Stand und muss nichts mehr manuell von A nach B kopieren.

Sollte ich z. B. auf dem Desktop-PC eine Datei in einem der synchronisierten Verzeichnisse bearbeitet haben und vergessen, diese auf’s Notebook zu übertragen, kann ich das später von unterwegs auch noch über’s Internet machen. Hierfür nutze ich eine sichere VPN-Verbindung mittels PiVPN (Blogartikel zur Installation von PiVPN) und den Webbrowser oder Desktop-Client auf dem Notebook.

Da ich auch über meine Smartphones (Android und iOS) Zugriff auf mein Heimnetz habe, kann ich mir einzelne Dateien sogar direkt auf’s Smartphone ziehen! Hierfür nutze ich dann ebenfalls die OpenVPN-App und die jeweilige Mobile App für Android oder iOS.

Installation von Seafile Server auf dem Raspberry Pi und Raspbian Stretch Lite

Nutzt zur Installation am besten eine SSH-Verbindung von eurem PC aus, z. B. mit Putty. Wie das klappt, könnt ihr hier lesen (Zugriff per SSH auf den Raspberry Pi). Der Vorteil ist, dass ihr so die ganzen Kommandos per Copy & Paste einfach nach Putty übertragen könnt und euch so das Getippe spart!

Tipp: Ein Rechtsklick fügt Text aus der Zwischenablage ins SSH-Fenster von Putty ein!

Wir beginnen, wie eigentlich immer, mit einer Aktualiserung unseres Systems. Danach installieren wir MariaDB (Artikel auf Wikipedia). Das ist ein Datenbankverwaltungssystem, das wir für Seafile und dessen Datenbank benötigen.

Nach der Installation wechseln wir auf die Root-Console und konfigurieren MariaDB, um die Installation abzusichern.

Während der Konfiguration von MariaDB vergebt ihr ein Root-Kennwort. Notiert euch das auf jeden Fall für später!

Um ein paar weitere Pakete für Seafile zu installieren, verlassen wir nochmals die Root-Console.

Für die Installation von Seafile selbst wechseln wir wieder auf die Root-Console und geben nacheinander die folgenden Befehle ein:

Im Prinzip könnt ihr während der Installation fast immer die Standardwerte beibehalten. An den folgenden Stellen müsst ihr aktiv werden:

  • server name: Wie soll euer Seafile-Server später heißen?
  • Server IP / Domain: Unter welcher IP-Adresse oder DNS-Namen wird der Server später erreichbar sein?
  • ccnet database: Mit [1] erstellt ihr eine neue Datenbank, da wir noch keine haben.
  • root password: Hier gebt ihr das Root-Kennwort eures MariaDB-Servers ein, das wir vorhin vergeben haben.
  • password for seafile: Vergebt ein neues Kennwort für den Benutzer ’seafile‘.

Da Seafile unter unserem eben erstellten User seafile laufen soll, verlassen wir die Root-Console wieder und wechseln zum User seafile, um den Server zu starten. Vorher setzen wir noch die Verzeichnisrechte.

Während dem Start von Seafile erscheint eine Fehlermeldung bezüglich der Locales. Dieser Fehler lässt sich folgendermaßen beheben:

Seafile als Dienst einrichten und beim Systemstart automatisch starten lassen

Um unseren Server als Dienst in Raspbian zu registrieren, wechseln wir wieder auf die Root-Console

Danach kopieren wir den folgenden Text in die Shell und bestätigen mit Enter:

Und diesen Text hier ebenfalls auf die Shell übertragen und bestätigen:

Im Anschluss starten wir die Dienste.

Fertig! Mit zwei Mal ‚exit‘ verlassen wir erst die Root-Console und danach Putty selbst.

Was ihr noch beachten solltet!

Genug Speicherplatz

Stellt bitte sicher, dass die SD-Karte eures Raspis groß genug für all die Daten ist, die ihr synchroniseren wollt! Bei meinem ersten Test war leider nur eine 8GB-Karte im Pi, die nach etwas Rumspielen relativ schnell vollgelaufen war.

Neuerdings habe ich dem Pi deshalb eine 32GB-Karte spendiert. Solltet ihr mehr Platz brauchen, sucht doch mal nach SD-Karten auf Amazon (*).

* Solltet ihr über den Link bestellen, bekomme ich ein paar Prozent Provision, ohne dass es euch etwas extra kostet.

Im einem meiner nächsten Artikel ekläre ich euch die Konfiguration von Seafile. So könnt ihr beispielsweise euren Desktop (unter Windows) zwischen mehreren Rechnern synchron halten.

SSL-Verschlüsselung

Ich habe bei meiner aktuellen Installation übrigens auf die Nutzung von SSL verzichtet! Der Raspberry Pi und damit auch Seafile ist nur in meinem eigenen, lokalen Netzwerk erreichbar, weshalb Verschlüsselung für mich derzeit keine so große Rolle spielt. Das Thema werde ich zu einem anderen Zeitpunkt angehen.

Info zu Versionsnummern

Dieser Artikel stammt vom 05.10.2018
Installiert wurde Seafile Community Edition Version 6.3.2 auf einem Raspberry Pi mit Raspbian Stretch Lite.

Sharing is caring! Teile diesen Beitrag

Eine Antwort auf „Die private Cloud auf dem Raspberry Pi – Seafile Server auf Raspian Stretch installieren“

  1. Hallo Dennis.

    Ich habe Probleme bei dem Login auf dem Raspberry!
    Seafile meldet mir dass es mein/en Password/Usernamen nicht akzeptiert.

    Beim Passwort-Zurücksetzen meldet mir das System :
    Die E-Mail konnte nicht verschickt werden.
    Der E-Mail-Dienst ist nicht korrekt konfiguriert.
    Bitte kontaktieren Sie die Administration.

    Vor der Installation wurde mein Raspbian-Stretch-Light System upgedatet u. upgegradet (kurz eingedeutscht 🙂 , der mariadb-client/server installiert und mit wget das aktuelle seafile-server-file heruntergeladen
    Die Installation des Seafile Servers verlief bis auf dem Abschnitt wo dass aktuell gezipte seafile-server-file entpackt werden muss.
    Bei Eingabe „tar -xzf seafile-server_6.3.4_stable_pi.tar.gz seafile-server-6.3.4/“ kam es zu einer Fehlermeldung
    Erst das Entfernen des Zielverzeichnisses, also das Ausführen von „tar -xzf seafile-server_6.3.4_stable_pi.tar.gz“ führte zum Erfolg.
    Die entpackten Daten stehen im Verzeichnis /home/seafile/seafile-server_6.3.4

    Bei dem Starten de Skipts „./setup-seafile-mysql.sh“ ist mir beim Einhalten der Standartwerte aufgefallen dass nur die Vorgabe /home/seafile/seafile-data akzeptiert wird. Das Zulassen des Verzeichnis-Namen einer selbst eingehängten USB-Daten-Device wäre wünschenswert.
    Vielleicht erlaubt dies aber der nur seafile-Administrator auf der http-Ebene auf den ich aber wegen der oben genannten Login-Problems noch nicht zugreifen kann?

    Bei dem Einrichten der automatisch gestarteten seafile-Dienste habe auch die ExecStart/Stop=verzeichnis!….. Zeilen in den /etc/systemd/system/seahub.service sowie /etc/systemd/system/seafile.service entsprechend korrigiert.
    Das Ausführen von systemctl enable seafile.service als auch seahub.service als sudo -i erfolgt problemlos.

    Nach dem reboot bestätigt ein ps -A | grep serv dass der ccnet-server und der seafile-server laufen.

    Vielleicht ist mir damit geholfen den Email-Dienst neu einzurichten oder zustarten?

    Danke und mit freundlichen Grüßen
    Wolf

Schreibe einen Kommentar

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