Installation der Seafile 6.3.2 in ISPConfig 3.1
Seafile ist ein Open-Source-Cloud-basiertes Dateispeichersystem ähnlich wie Dropbox & Box. Der Unterschied besteht darin, dass Seafile auf dem eigenen System eines Kunden bereitgestellt werden kann. Dies bietet einen höheren Sicherheitsgrad, da die Passwörter nur zwischen dem Kunden, der das System einrichtet, und seinen eigenen Benutzern ausgetauscht werden und nicht zwischen einem Unternehmens-Hostingunternehmen.
Es gibt ein paar Tutorials zur Einrichtung des Seafile-Servers für ISPConfig, aber keine, die keine große Mehrheit der Bearbeitung der Dateien erforderten, die gemäß den Empfehlungen des ISPConfig-Entwicklers wirklich allein gelassen werden sollten. Während dieses Setup für Ubuntu 18.04 LTS und ISPConfig 3 geschrieben wurde, kann es für andere Distributionen verwendet werden. Diese Lösung funktioniert für mich, aber es wird keine Garantie oder Garantie ausgedrückt oder impliziert.
Es wird davon ausgegangen, dass der Leser die Seafile mit MySQL und Apache (auch https) einsetzen möchte. Es wird auch davon ausgegangen, dass Sie ISPConfig funktional nutzen können, da es sich hierbei nicht um ein ISPConfig-Tutorial handelt.
1 Einrichtung der Website
Öffnen Sie Ihr ISPConfig Hosting-Control Panel, 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 eine bestehende Website technisch nutzen können, funktioniert die Erstellung einer neuen besser, da wir so alle Cloud-Dateien von anderen Websites getrennt halten können. Dies ist auch notwendig, um das ISPConfig-Panel für Konfigurationsänderungen zu nutzen.
Klicken Sie im Konfigurationspanel der Website auf die Registerkarte Optionen und fügen Sie Folgendes in den Abschnitt Apache Direktiven ein:
Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media RewriteEngine On <Location /media> Require all granted </Location> # 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/
Du solltest auch einen Shell-Benutzer für diese Seite anlegen, da es in Kürze notwendig sein wird.
2 Datenbanken erstellen
Wählen Sie im Bereich Standorte in ISPConfig den Eintrag Datenbankbenutzer und Neuen Benutzer hinzufügen. Erstellen Sie einen einzelnen Benutzer pro Client, der die Seafile-Datenbanken dieses Clients verwaltet.
Nachdem der Datenbankbenutzer erstellt wurde, klicken Sie auf Datenbanken und dann auf Neue Datenbank hinzufügen. Sie müssen drei separate Datenbanken hinzufügen: ccnetdb, seafiledb, seafiledb, seahubdb.
3 Herunterladen und Installieren der Seafile-Software
Es gibt einige erforderliche Pakete, die wir installieren müssen. SSH in Ihren Server mit einem Benutzer, der über ausreichende Berechtigungen zur Installation von Software verfügt.
apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup
Ich ziehe es vor, dass alle meine Server im privaten Verzeichnis laufen, anstatt im Webverzeichnis, also richten wir uns als solche 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 or for 32bit 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 dieser Stelle müssen Sie die Fragen beantworten, die sich auf Ihr System und Ihre Installation beziehen. Wenn Sie zu dem Abschnitt Please Choose a way to initialize seafile databases gelangen, müssen Sie 2 auswählen und die Datenbankinformationen aus Ihrem ISPConfig-Setup eingeben.
4 Start
Es ist an der Zeit, die Seafile zu starten und sicherzustellen, dass die Erstinstallation funktioniert.
./seafile.sh start ./seahub.sh start
Nachdem Sie die Dienste gestartet haben, öffnen Sie Ihren Webbrowser und navigieren Sie zu der oben von Ihnen erstellten Website-Adresse mit Port 8000
. http://192.168.1.111:8000/
5 Apache-Einrichtung
Ändern Sie nun die SERVICE_URL in /path/to/seafile-server/ccnet/ccnet/ccnet.conf.
SERVICE_URL = https://www.myseafile.com
Wir müssen auch den FILE_SERVER_ROOT in /path/to/seafile-server/seahub_settings.py ändern.
FILE_SERVER_ROOT = 'https://www.myseafile.com/seafhttp'
Starten Sie den 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 ist, alles in ISPConfig enthalten zu halten, anstatt einen Startup-Service zu erstellen, werden wir das Seafile-Skript zu den Cron-Jobs der Benutzer hinzufügen. Natürlich müssen Sie sicherstellen, dass der Client 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 die DateistartSeafile.sh Skript:
#!/bin/bash # Change the value of "seafile_dir" to your path of 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 command is necessary to prevent MYSQL errors if ## this script runs before MYSQL is fully operational 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 "Usage: /etc/init.d/seafile {start|stop|restart}" exit 1 ;; esac
Um sicherzustellen, dass Cron-Dateien richtig geschrieben werden, gibt es ein paar Dinge, die überprüft werden sollten. Klicken Sie auf Client -> [Ihr Kunde] -> Limits. Stellen Sie sicher, dass die Cron Job Limits auf Full Cron mit 0 Verzögerung zwischen den Ausführungen eingestellt sind. Danach müssen Sie nur noch den einzelnen Job startServer.sh cron in den Abschnitt Commands to Run von ISPConfig einfügen.
/var/www/clients/client1/web42/private/seafile/startSeafile.sh start
Das ist alles!