Installation · 4 min read · Nov 10, 2025

Installation von Seafile 6.3.2 in ISPConfig 3.1

Seafile ist ein Open-Source, cloudbasiertes Dateispeichersystem, das ähnlich wie Dropbox und Box funktioniert. Der Unterschied besteht darin, dass Seafile auf dem eigenen System des Kunden bereitgestellt werden kann. Dies bietet einen höheren Sicherheitsfaktor, da die Passwörter nur zwischen dem Kunden, der das System eingerichtet hat, und seinen / ihren eigenen Benutzern ausgetauscht werden, anstatt mit einem Unternehmens-Cloud-Hosting-Anbieter.

Es gibt einige Tutorials zur Einrichtung des Seafile-Servers für ISPConfig, aber keines, das nicht eine gute Mehrheit der Dateien erfordert, die wirklich gemäß den Empfehlungen der ISPConfig-Entwickler unangetastet bleiben sollten. Während dieses Setup für Ubuntu 18.04 LTS und ISPConfig 3 geschrieben ist, kann es auch für andere Distributionen befolgt werden. Diese Lösung funktioniert für mich, aber es wird keine Garantie oder Gewährleistung gegeben.

Es wird davon ausgegangen, dass der Leser Seafile mit MySQL und Apache (auch https) bereitstellen möchte. Es wird auch davon ausgegangen, dass Sie ISPConfig funktional nutzen können, da dies kein ISPConfig-Tutorial ist.

1 Website einrichten

Öffnen Sie Ihr ISPConfig-Hosting-Kontrollpanel, klicken Sie auf die Registerkarte „Sites“ und erstellen Sie eine neue Website. Sie sollten sicherstellen, dass Sie „None“ für Auto-Subdomain, SSL, Let’s Encrypt SSL und Fast-CGI für PHP auswählen. Während Sie technisch gesehen eine vorhandene Website verwenden können, funktioniert die Erstellung einer neuen besser, da sie es uns ermöglicht, alle Cloud-Dateien von anderen Sites getrennt zu halten. Dies ist auch notwendig, um das ISPConfig-Panel für Konfigurationsänderungen zu verwenden.

Im Konfigurationspanel der Website klicken Sie auf die Registerkarte „Optionen“ und fügen Sie Folgendes im Abschnitt „Apache-Direktiven“ ein:

Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media  

RewriteEngine On  

  
Require all granted  
  

# seafile httpserver  
#  
ProxyPass /seafhttp http://127.0.0.1:8082  
ProxyPassReverse /seafhttp http://127.0.0.1:8082  
RewriteRule ^/seafhttp - [QSA,L]  
#  
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

Nginx-Direktiven
Sie sollten auch einen Shell-Benutzer für diese Site erstellen, da dies in Kürze erforderlich sein wird.

SSH-Benutzer

2 Datenbanken erstellen

Wählen Sie im ISPConfig-Sites-Panel „Datenbankbenutzer“ und „Neuen Benutzer hinzufügen“. Erstellen Sie einen einzelnen Benutzer pro Kunde, der die Seafile-Datenbanken dieses Kunden verwaltet.

Datenbankbenutzer

Nach der Erstellung des Datenbankbenutzers klicken Sie auf „Datenbanken“ und „Neue Datenbank hinzufügen“. Sie müssen drei separate Datenbanken hinzufügen: ccnetdb, seafiledb, seahubdb

Erste Datenbank

Datenbank

Dritte Datenbank

3 Seafile-Software herunterladen und installieren

Es gibt einige erforderliche Pakete, die wir installieren müssen. SSH in Ihren Server mit einem Benutzer, der über ausreichende Berechtigungen zum Installieren von Software verfügt.

apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup

Ich bevorzuge es, dass alle meine Server im privaten Verzeichnis und nicht im Webverzeichnis laufen, also richten wir es so ein. SSH in den Server mit dem oben erstellten Benutzernamen.

cd private  
mkdir seafile  
cd seafile  
   
wget https://download.seadrive.org/seafile-server_6.3.2_x86-64.tar.gz  
    oder für 32-Bit  
wget https://download.seadrive.org/seafile-server_6.2.5_i386.tar.gz  
   
tar zxvf seafile-server_6.3.2_x86-64.tar.gz  
mkdir installed  
mv seafile-server_* installed  
   
cd seafile-server-*  
./setup-seafile-mysql.sh

An diesem Punkt müssen Sie die angeforderten Fragen beantworten, die sich auf Ihr System und Ihre Installation beziehen. Wenn Sie zum Abschnitt mit dem Titel „Bitte wählen Sie eine Möglichkeit zur Initialisierung der Seafile-Datenbanken“ gelangen, müssen Sie 2 auswählen und die Datenbankinformationen aus Ihrer ISPConfig-Einrichtung eingeben.

4 Erste Ausführung

Es ist Zeit, Seafile zu starten und sicherzustellen, dass die erste Einrichtung funktioniert.

./seafile.sh start  
./seahub.sh start

Nachdem Sie die Dienste gestartet haben, öffnen Sie Ihren Webbrowser und navigieren Sie zur oben erstellten Website-Adresse mit Port 8000.

http://192.168.1.111:8000/

5 Apache-Einrichtung

Jetzt ändern Sie die SERVICE_URL in /path/to/seafile-server/ccnet/ccnet.conf

SERVICE_URL = https://www.myseafile.com

Wir müssen auch die FILE_SERVER_ROOT in /path/to/seafile-server/seahub_settings.py ändern

FILE_SERVER_ROOT = 'https://www.myseafile.com/seafhttp'

Starten Sie Apache neu.

sudo service apache2 restart

Starten Sie die Seafile-Dienste neu.

./seafile.sh start  
./seahub.sh start

6 Dienste automatisch starten

Da das Ziel hier darin besteht, alles innerhalb von ISPConfig zu halten, anstatt einen Startdienst zu erstellen, werden wir das Seafile-Skript zu den Cron-Jobs des Benutzers hinzufügen. Natürlich müssen Sie sicherstellen, dass der Kunde die Möglichkeit hat, vollständige Cron-Jobs hinzuzufügen.

Erstellen Sie eine Startdatei:

cd ~/private/seafile  
touch startSeafile.sh  
chmod +x startSeafile.sh

Fügen Sie den folgenden Code in das Skript startSeafile.sh ein:

#!/bin/bash  
   
# Ändern Sie den Wert von "seafile_dir" in Ihren Pfad der Seafile-Installation  
seafile_dir=/var/www/clients/client1/web2/private/seafile  
script_path=${seafile_dir}/seafile-server-latest  
seafile_init_log=${seafile_dir}/logs/seafile.init.log  
seahub_init_log=${seafile_dir}/logs/seahub.init.log  
   
## Sleep-Befehl ist notwendig, um MYSQL-Fehler zu verhindern, wenn  
## dieses Skript ausgeführt wird, bevor MYSQL vollständig betriebsbereit ist  
sleep 60 &   
wait %1  
   
case "$1" in  
start)  
${script_path}/seafile.sh start >> ${seafile_init_log} &   
wait %1   
${script_path}/seahub.sh start >> ${seahub_init_log} &   
wait %1   
;;  
restart)  
${script_path}/seafile.sh restart >> ${seafile_init_log} &   
wait %1   
${script_path}/seahub.sh restart >> ${seahub_init_log} &   
wait %1   
;;  
stop)  
${script_path}/seafile.sh $1 >> ${seafile_init_log} &   
${script_path}/seahub.sh $1 >> ${seahub_init_log}   
;;  
*)  
echo "Verwendung: /etc/init.d/seafile {start|stop|restart}"  
exit 1  
;;  
esac

Um sicherzustellen, dass Cron-Dateien ordnungsgemäß geschrieben werden, sollten einige Dinge überprüft werden. Klicken Sie auf Client -> [Ihr Kunde] -> Limits. Stellen Sie sicher, dass die Cron-Job-Limits auf „Vollständiger Cron“ mit 0 Verzögerung zwischen den Ausführungen eingestellt sind. Danach müssen Sie nur noch den einzelnen startServer.sh-Cron-Job in den Abschnitt „Befehle ausführen“ von ISPConfig hinzufügen.

/var/www/clients/client1/web42/private/seafile/startSeafile.sh start

Cronjob

Das war’s!

Links

  • ISPConfig
  • Seafile
Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.