Seafile Server auf Windows 7, 8 und 10 mit https installieren

Zum Installieren und konfigurieren von Seafile werden folgende Programme benötigt:

  • Python in der Version 7.11
  • Seafile Server Windows 5.0.3 oder aktueller
  • Microsoft Web Plattform Installer 5.0 oder aktueller
  • Für Windows 10 64Bit: „Microsoft Aplication Request Routing 3.0 (x64)“ (https://www.microsoft.com/en-us/download/details.aspx?id=47333 )
    Für Windows 10 32Bit: „Microsoft Aplication Request Routing 3.0 (x86)“ (https://www.microsoft.com/en-us/download/details.aspx?id=47334 )
  • Seafile Client for Windows 4.1.4 um mit einem Windows Rechner synchronisieren zu können. Entsprechende Clients für MAC, Android und iOS sind ebenfalls erhältlich
  • 7-ZIP (oder vergleichbares ZIP-Programm das .tar und .gz unterstützt
  • Notepad++ oder einen anderen Editor

Zunächst werden 7-ZIP (oder ein vergleichbares ZIP-Programm das .tar und .gz unterstützt) und Notepad++ oder einen anderer Editor, zur Not auch Notepad von Microsoft installiert.

Nun wird Python 2.7.11 installiert. Dazu werden einfach sämtliche Standardeinstellungen übernommen.
Wichtig: Anschließend muss eine Pfadvariable in den Systemvariablen von Windows angepasst werden. Dazu geht man folgendermaßen vor: Über Start => Systemsteuerung => System
=> Erweiterte Systemeinstellungen
=> Umgebungsvariablen…
… gelangt man zu den Systemvariablen.

Hier die Variable „Path“ durch Anklicken auswählen und „Bearbeiten“ gehen. Nun am Ende der Variable den Pfad zu Python (Standardmäßig „C:\Python27“) anhängen. Dazu zunächst ein Semikolon und anschließend den Pfad (z.B. C:\Python27) eingeben.

Und alles mit ok bestätigen.

Unter Windows 10

Hier klickt man auf Neu und gibt dann z.B. C:\Python27 ein.

Als nächstes wird der Seafile Server mit dem ZIP-Programm entpackt. Und den Inhalt der Entpackten Datei noch ein zweites Mal.
Dieses zweite entpackte Verzeichnis kopiere ich nun direkt nach C: (oder eine andere gewünschte Stelle.

Nun wird das Verzeichnis geöffnet und die Batchdatei „run“ wird als Administrator (rechte Maustaste => als Administrator ausführen) ausgeführt.

Es wird anschließend nach dem gewünschten Laufwerk für das Seafile-Server Verzeichnis gefragt. Hier kann die Vorgabe übernommen oder wenn gewünscht ein anderes Laufwerk gewählt werden.

Anschließend wird über den Knopf „Next“ der Seafile-Server installiert. Die erfolgreiche Installation erkennt man an einem Symbol unten rechts in der Taskleiste.

Hat das Symbol einen kleinen Haken war die Installation erfolgreich.

Als erstes muss nun ein Admin Accout angelegt werden. Dazu rechter Mausklick auf das Symbol und „Add an Admin Accout“ auswählen.

Nun den Admin-Accout anlegen und mit ok bestätigen.

Jetzt kann der Server getestet werden. Hierzu einen Browser öffnen und https://localhost:8000 in die Adresszeile eingeben. Das Ergebnis sollte so aussehen und eine Anmeldung mit dem Admin Accout sollte möglich sein.

Damit ist die Grundeinrichtung von Seafile beendet. Nachdem der Server bisher nur über http und den Port 8000 erreichbar ist, was mir persönlich zu unsicher ist erfolgt nun die Umstellung auf https (hier am Beispiel der internen Adresse 192.168.234.19, dies muss entsprechend angepasst werden!)über den Port 443 (oder einen anderen beliebig wählbaren Port). Hierzu wird ein sog. https-Proxy benötigt, den ich im nächsten Schritt einrichte.

Im ersten Schritt müssen Windows-Dienste nachinstallier werden. Das geschieht über Systemsteuerung => Programme und Funktionen => Windows Funktionen aktivieren und Deaktivieren. Hier bei „Internetinformationsdienste“ einen Haken setzen und mit ok bestätigen.

Unter Windows 7 und Windows 8

Wenn diese Installation abgeschlossen ist muss noch der „Microsoft Web Plattform Installer 5.0“ installiert werden. Hier suchen wir nun nach „Application request routing“, wählen das entsprechende Paket aus und installieren es.

Danach kann das Programm beendet werden.

Für Windows 10

 Installation des „Microsoft Web Plattform Installer 5.0“ (siehe oben)

Achtung: Unter Windows 10 lässt sich „URL ReWrite 2.0“ und damit auch „Microsoft Aplication Request Routing 3“ nicht installieren. Es erfolgt eine Fehlermeldung. Um das zu umgehen muss man vor der Installation folgendermaßen vorgehen:

  1. Mit dem Regediter zu „HKEY_LOAL_MACHINE\SOFTWARE?Microsoft\InetStp“ wechseln
  2. Den Wert von „MajorVersion“ auf 9 abändern (dezimal)
  3. F5 innerhalb des Regeditors öffnen
  4. „Microsoft Aplication Request Routing 3“ über den „Microsoft Web Plattform Installer 5.0“ installieren. (siehe oben)
  5. Den Wert von „MajorVersion“ wieder zurück auf 10 (dezimal) stellen
  6. Noch einmal F5 innerhalb des Regeditors drücken

Regeditor schließen.

 

Für Windows 7 / 8 / 10

Nun wird über Systemsteuerung => Verwaltung der „Internetinformationsdienste (IIS)-Manager“ geöffnet

Und hier als erstes das „Application Request Routing“ aktiviert. Dazu machen wir einen Doppelklick auf „Application Request Routing“ und klicken dann auf der rechten Seite auf „Server Proxy Settings…“

Nun muss im mittleren Fenster nur „Enable Proxy“ angeklickt und das Ganze mit „Übernehmen“ bestätigt werden.

Jetzt muss eine Umleitungsseite eigerichtet werden (nicht die Default Web Site). Die „Default Web Site“ wird jetzt deaktiviert bzw. beendet (falls sie nicht für andrer Web-Dienste verwendet wird).

Um https einrichten zu können muss zunächst ein Serverzetifikat eingerichtet werden. Der Einfachheit halber nehmen wir ein selbst signiertes.
Dazu klicken wir im Mittleren Teil des Fensters auf „Serverzertifikate“ doppelt

Und erstellen ein „Selbstsigniertes Zertifikat“

Als Anzeigename wählen wir die IP-Adresse des Servers aus, da bisher keine öffentliche IP-Adresse besteht und bestätigen mit ok.

Im nächsten Schritt wird unter „Sites“ auf der linken Seite eine Webseite hinzugefügt werden.

Als Sitename wähle ich wieder die IP-Adresse und Physikalischen Pfad lege ich einen Ordner Namens „filecloud“ an. Der Name und Ort ist frei wählbar. Als Bindungstyp wähle ich „https“, Bindungs-IP-Adresse ist die eigene IP-Adresse und als SSL-Zertifikat wähle ich das vorhin erstelle Zertifikat aus. Der Port kann auf 443 bleiben. Nun alles mit ok bestätigen.

Jetzt müssen in der neuen Website noch Umleitungsregeln angelegt werden, damit die https-Verbindung funktioniert.

Dazu einen Doppelklick auf „URL Rewrite“ und anschließend auf „Regel(n) hinzufügen…“

Folgende zwei Leere-Regeln müssen hier angelegt werden:

Seafileclient mit folgenden Werten:
Name: seafileclient
Muster: seafhttp/(.*)
URL umschreibung: {R:1}

„Abfragezeichenfolge anhängen“, „Umschreibung URL protokolieren“ und „Verarbeitung von nachfolgenden Regeln beenden“ anhaken. Anschließend auf „Übernehmen“ klicken.

seafilewebinterface mit folgenden Werten:
Name: seafilewebinterface
Muster: (.*)
URL umschreibung: {R:1}

„Abfragezeichenfolge anhängen“, „Umschreibung URL protokolieren“ und „Verarbeitung von nachfolgenden Regeln beenden“ anhaken. Anschließend auf „Übernehmen“ klicken.

Da der IIS beim Upload von Haus aus ein Limit von 30 MB eingestellt hat muss das noch angepasst werden.
Das erfolgt indem man im IIS die entsprechende Web-Site auswählt und im mittleren Bereich dann „Anforderungsfilterung“ auswählt.

Die Filterung mit einem Doppelklick öffnen und rechts „Feature Einstellungen bearbeiten…“ auswählen.

Nun unter „Maximal zulässige Inhaltslänge (Bytes):“ den gewünschten Wert eintragen (der maximal zulässige Wert beträgt 4294967295, was etwa 4 GB entspricht; der Standardwert beträgt 30000000 was etwa 30 MB entspricht)

Anschließend müssen noch zwei Config-Dateien von Seafile angepasst werden.
Dazu klickt man auf das Seafile-Symbol in der Taskleiste mit der rechten Maustaste und wählt „Open seafile-server folder“ aus.

Im sich öffnenden Ordner gibt es einen Unterordner „conf“ und hier die Datei „ccnet.conf“.

Diese über die rechte Maustaste mit Notepad++ öffnen

Und folgendes ändern:
NAME = filecloud (optional)

SERVICE_URL = (ist die Adresse unter der man sich am Server anmeldet. Wenn ein anderer Port als 443 verwendet werden soll muss er angehängt werden. Z.B. :450).

Nun die Änderungen speichern.

Als zweites muss im seafile-server Ordner noch die Datei „seahub_settings.py“ mit Notepad++ angepasst werden.

Dazu die Datei wieder über einen rechten Mausklick mit Notepad++ öffnen.

Und folgende Zeile unter der bestehenden einfügen:
FILE_SERVER_ROOT = ‘https://192.168.234.19/seafhttp’ (bei einer öffentlichen Adresse müsste diese wie auch an den anderen Stellen eingetragen werden. Das gilt auch für einen anderen Port als 443).

Anschließend die Datei in Notepad++ speichern.

Nachdem alles wieder geschlossen ist den Server über das Symbol in der Taskleiste neu starten

Und sehen ob der Zugriff über https im Browser funktioniert )
Die nun folgende Sicherheitszertifikatswarnung ist normal und kann mit „Laden der Website fortsetzen (nicht empfohlen)“ ignoriert werden.

In der Firewall muss noch der Port 443 TCP (oder der genutzte) freigegeben werden!

Um die Emailfunktion nutzen zu können muss in der Datei „seahub_settings.py“ noch folgendes angehängt werden (exemplarisch, funktioniert mit der Einstellung nur wenn der Provider keine SSL bzw. TLS-Verschlüsselung zwingend voraussetzt! Ansonsten muss „EMAIL_USE_TLS=True“ und bei „EMAIL_PORT=“ der entsprechende Port gesetzt werden). Die eigenen Angaben entsprechen den Daten die der Provider zur Verfügung gestellt hat.

EMAIL_USE_TLS = False
EMAIL_HOST = ‘smtp-Server des Providers’        # smpt server
EMAIL_HOST_USER = ’email@domain’    # username and domain
EMAIL_HOST_PASSWORD = ‘Passwort’    # password
EMAIL_PORT = ’25’
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER

Wichtig!!!

Damit es beim Synchronisieren und Öffnen mit der Android-App keine Probleme mit Umlauten und Sonderzeichen (ä,ü,ö,ß,Ä,Ö,Ü) sowie Leerzeichen kommt muss in der „web.config“ (Pfad in dem Beispiel: C:\filecloud) von IIS noch folgendes eigetragen werden:
<security>

<requestFiltering allowDoubleEscaping=”true”>

</security>

Das Ganze sieht dann z.B. so aus:

Nun müsste alles funktionieren!

Die Lorbeeren für dieses HowTo gehen an meinen Freund und IT-Kollegen Matthias Netsch. Sämtliche Texte und Grafiken sind von ihm gemacht worden. Mit seiner freundlichen Erlaubnis darf ich den hervorragend gestalteten und mit sehr viel Mühe und Liebe zum Detail erstellten Artikel bei mir bloggen. Vielen Dank Matthias!

Leave a Comment.