Skip to main content

Seafile Server Professional Edition – mit HTTPS, MariaDB und nginx unter Debian 9 installieren

Bei Seafile handelt es sich um einen Cloud Server zum Speichern von Daten. Der Vorteil gegenüber von zum Beispiel Nextcloud ist, dass sich hier direkt verschlüsselte Bereiche erstellen lassen, in die alle Daten gespeichert werden können.

Von Seafile gibt es eine kostenlose Version (Community Edition) und eine kostenpflichtige Version. Diese erlaubt es jedoch  3 Benutzeraccounts zu erstellen und kostenlos zu nutzen. Die Unterschiede zwischen den beiden Versionen könnt ihr hier vergleichen.

Nun zeige ich euch, wie ihr unter Debian 9 euch schnell einen Seafile Server (Professional-Edition) installiert und diesen per HTTPS absichert.

Wenn ihr lieber die kostenlose Community Edition installieren wollt, dann schaut euch diesen Beitrag an.

In der Anleitung müsst ihr natürlich die Platzhalter „eureDomain“ ersetzen. Ich habe die Anleitung so erstellt, dass Seafile sich später über die Subdomain „cloud.eureDomain“ öffnen lässt.

1. Vorbereitung

Als erstes müsst ihr eine Datenbank wie MySQL oder MariaDB installieren. Eine einfache Anleitung dazu gibts hier, falls ihr noch keine installiert habt.

Danach installiert ihr folgende Programme:

Danach legen wir noch einen neuen Benutzer an. Dieser startet später die Anwendung.

2. Download von Seafile

Wir wechseln in das Installationsverzeichnis. Bei mir ist dies „/home/seafile“.

Nun erstellen wir bei Seafile einen kostenlosen Account. Mit diesem können wir dann Seafile Pro herunterladen. Hier könnt ihr den Account erstellen und downloaden: https://customer.seafile.com

Wir kopieren uns nun den Downloadlink und laden das Programm runter:

Nun entpacken wir den Download mit folgendem Befehl:

3. Datenbank initialisieren

Nun legen wir die Datenbankeinträge an. Dazu wechseln wir in unseren Seafile Ordner.

Nun führen wir ein Skript aus, was uns die Datenbank einrichtet:

Nun bekommt ihr nachfolgendes angezeigt. Hier müsst ihr:

  • einen Namen vergeben
  • eure Domain angeben
  • das root Passwort eurer Datenbank
  • ein neues Passwort für den Seafile Datenbank Benutzer

angeben. Die restlichen Eingaben könnt ihr einfach mit „ENTER“ bestätigen.

Checking python on this machine ...
Checking python module: setuptools ... Done.
Checking python module: python-imaging ... Done.
Checking python module: python-mysqldb ... Done.

Checking for java ...Done.

-----------------------------------------------------------------
This script will guide you to setup your seafile server using MySQL.
Make sure you have read seafile server manual at

https://github.com/haiwen/seafile/wiki

Press ENTER to continue
-----------------------------------------------------------------

What is the name of the server? It will be displayed on the client.
3 - 15 letters or digits
[ server name ] euerName

What is the ip or domain of the server?
For example: www.mycompany.com, 192.168.1.101
[ This server's ip or domain ] cloud.goneuland.de

Where do you want to put your seafile data?
Please use a volume with enough free space
[ default "/home/seafile/seafile-data" ]

Which port do you want to use for the seafile fileserver?
[ default "8082" ]

-------------------------------------------------------
Please choose a way to initialize seafile databases:
-------------------------------------------------------

[1] Create new ccnet/seafile/seahub databases
[2] Use existing ccnet/seafile/seahub databases

[ 1 or 2 ] 1

What is the host of mysql server?
[ default "localhost" ]

What is the port of mysql server?
[ default "3306" ]

What is the password of the mysql root user?
[ root password ]

verifying password of user root ...
verifying password of user root ... done

Enter the name for mysql user of seafile. It would be created if not exists.
[ default "seafile" ]

Enter the password for mysql user "seafile":
[ password for seafile ]

Enter the database name for ccnet-server:
[ default "ccnet-db" ]

Enter the database name for seafile-server:
[ default "seafile-db" ]

Enter the database name for seahub:
[ default "seahub-db" ]

---------------------------------
This is your configuration
---------------------------------

server name: goNeuland
server ip/domain: cloud.euredomain.de

seafile data dir: /home/seafile/seafile-data
fileserver port: 8082

database: create new
ccnet database: ccnet-db
seafile database: seafile-db
seahub database: seahub-db
database user: seafile

---------------------------------
Press ENTER to continue, or Ctrl-C to abort
---------------------------------

Generating ccnet configuration ...

done
Successly create configuration dir /home/seafile/ccnet.
Generating seafile configuration ...

Done.
done
Generating seahub configuration ...

----------------------------------------
Now creating seahub database tables ...

----------------------------------------

creating seafile-server-latest symbolic link ... done

-----------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-----------------------------------------------------------------

run seafile server: ./seafile.sh { start | stop | restart }
run seahub server: ./seahub.sh { start <port> | stop | restart <port> }

-----------------------------------------------------------------
If you are behind a firewall, remember to allow input/output of these tcp ports:
-----------------------------------------------------------------

port of seafile fileserver: 8082
port of seahub: 8000

When problems occur, Refer to

https://github.com/haiwen/seafile/wiki

for information.

4. SSL/TLS Zertifikat erzeugen

Um den Datenverkehr abzusichern, erstellen wir uns nun noch ein SSL/TLS Zertifikat. Dies könnt ihr euch kostenlos mittels certbot erstellen lassen. Eine Anleitung dazu findet ihr hier. Mittels dieser Anleitung installiert ihr nun cerbot und erstellt nachfolgend ein Zertifikat für folgende Domain „cloud.eureDomain.de“.

5. Seafile per HTTPS ansprechen

Um Seafile sicher anzusprechen, müssen wir den Webserver nginx konfigurieren. Dazu kopiert ihr folgende Befehle als ganzes in die Konsole:

Die markierten Zeilen müsst ihr nun anpassen. Dazu öffnet ihr die Datei:

Nun erstellen wir noch eine logische Verknüpfung zu der neu erstellten Datei:

Als nächstes führt ihr folgenden Befehl aus:

Nun starten wir nginx neu, damit alle Änderungen übernommen werden:

6. Seafile Server starten

Nun könnt ihr euren Seafile Server starten. Dazu wechseln wir auf den oben erstellten Benutzer.

Nun müsst ihr noch einen Administrator für euren Server anlegen.

seafile@xxx:~/seafile-server-latest$ ./seahub.sh start

LC_ALL is not set in ENV, set to en_US.UTF-8
./seahub.sh: Zeile 209: Warnung: setlocale: LC_ALL: Kann die Locale nicht ändern (en_US.UTF-8): Datei oder Verzeichnis nicht gefunden
Starting seahub at port 8000 ...

----------------------------------------
It's the first time you start the seafile server. Now let's create the admin account
----------------------------------------

What is the email for the admin account?
[ admin email ] eureE-Mail

What is the password for the admin account?
[ admin password ]

Enter the password again:
[ admin password again ]

----------------------------------------
Successfully created seafile admin
----------------------------------------

Seahub is started

Done.

Die Warnung könnt ihr mit folgendem Befehl beseitigen:

Nun könnt ihr per Webbrowser auf euren Server zugreifen. Dazu gebt ihr „cloud.eureDomain.de“ ein.

7. HTTPS Upload aktivieren

Um den Upload zu aktivieren, müsst ihr euch per Administrator einloggen.

Danach klickt ihr auf „System-Administration“.

Hier wählt ihr den Punkt „Einstellungen“ aus.

Ihr müsst bei „SERVICE_URL“ unbedingt „https://eureDomain.de:8000″ stehen haben.

Bei „FILE_SERVER_ROOT“ muss ebenfalls „https://eureDomain.de/seafhttp“ stehen.

8. Seafile automatisch bei Systemstart starten

Als erstes müssen wir zum Benutzer „root“ wechseln.

Danach kopiert ihr folgende Befehle in die Konsole:

Nun müsst ihr die beiden Services nur noch aktivieren:

Ab nun wird sich euer Seafile Server immer automatisch bei Systemstart starten.

9. Mobile Apps

Android App

Apple iOS App

10. Quellen

https://manual.seafile.com/deploy/start_seafile_at_system_bootup.html

https://manual.seafile.com/deploy/using_mysql.html

Christian

Christian

Ich studiere derzeit Informatik und betreibe in meiner Freizeit diesen Blog.
Auf die Idee kam ich, als ich Anleitungen zum Thema Debian gesucht habe. Leider waren viele Anleitungen veraltet und daher nutzlos.

Da kam ich auf die Idee selbst Anleitungen zu schreiben.
Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren.

Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden 🙂
PayPal
https://paypal.me/goNeuland
BTC
1GHRnh6DvdPE4FFpxGbEQu6m4sgnrjpoxM
ETH
0x53d3005663026F96e7cCCa39D14fA487e1072318

Danke 🙂
Christian

Christian

Ich studiere derzeit Informatik und betreibe in meiner Freizeit diesen Blog. Auf die Idee kam ich, als ich Anleitungen zum Thema Debian gesucht habe. Leider waren viele Anleitungen veraltet und daher nutzlos. Da kam ich auf die Idee selbst Anleitungen zu schreiben. Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren. Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden :) PayPal https://paypal.me/goNeuland BTC 1GHRnh6DvdPE4FFpxGbEQu6m4sgnrjpoxM ETH 0x53d3005663026F96e7cCCa39D14fA487e1072318 Danke :)

Schreibe einen Kommentar

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