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/
Sie sollten auch einen Shell-Benutzer für diese Site erstellen, da dies in Kürze erforderlich sein wird.

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.
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


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-flupIch 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.shAn 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 startNachdem Sie die Dienste gestartet haben, öffnen Sie Ihren Webbrowser und navigieren Sie zur oben erstellten Website-Adresse mit Port 8000.
5 Apache-Einrichtung
Jetzt ändern Sie die SERVICE_URL in /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = https://www.myseafile.comWir 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 restartStarten Sie die Seafile-Dienste neu.
./seafile.sh start
./seahub.sh start6 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.shFü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
;;
esacUm 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
Das war’s!
Links
- ISPConfig
- Seafile
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.