GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie ISPConfig und Seafile ohne manuelle Dateiänderungen

Seafile ISPConfig-Tutorial Seafile ist ein Cloud-basiertes Open-Source-Dateispeichersystem ähnlich Dropbox &Box. Der Unterschied besteht darin, dass Seafile auf dem eigenen System des Kunden bereitgestellt werden kann. Dies bietet einen größeren Sicherheitsfaktor, da die Passwörter nur zwischen dem Kunden, der das System einrichtet, und seinen/ihren eigenen Benutzern und nicht zwischen einem Cloud-Hosting-Unternehmen eines Unternehmens ausgetauscht werden.

Es gibt ein paar Tutorials zur Einrichtung von Seafile-Servern ISPConfig, aber keines, das nicht eine gute Mehrheit der Bearbeitung der Dateien erforderte, die gemäß den ISPConfig-Entwicklerempfehlungen wirklich in Ruhe gelassen werden sollten. Während dieses Setup für Ubuntu 14.04 LTS und ISPConfig 3 geschrieben wurde, kann es für andere Distributionen befolgt werden. Diese Lösung funktioniert für mich, aber es wird keine ausdrückliche oder stillschweigende 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 verwenden können, da dies kein ISPConfig-Tutorial ist.

1 Setup-Website

Öffnen Sie Ihr ISPConfig-Hosting-Steuerungsfeld, klicken Sie auf die Registerkarte "Sites" und erstellen Sie eine neue Website. Während Sie technisch gesehen eine vorhandene Website verwenden können, funktioniert das Erstellen einer neuen besser, da wir alle Cloud-Dateien von anderen Websites getrennt halten können. Dies ist auch erforderlich, um das ISPConfig-Bedienfeld für Konfigurationsänderungen zu verwenden.

Klicken Sie im Website-Konfigurationsfeld 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
#
RewriteRule ^/(media.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /seahub.fcgi$1 [QSA,L,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

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 Bereich „Sites“ in ISPConfig „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 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. Stellen Sie eine SSH-Verbindung zu Ihrer Website her und führen Sie die folgenden Befehle aus:

apt-get install python2.7 python-setuptoolspython-simplejson python-imaging python-mysqldb python-flup

Ich ziehe es vor, dass alle meine Server im privaten Verzeichnis statt im Webverzeichnis laufen, also richten wir es so ein.

cd private
mkdir seafile
cd seafile

wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_x86-64.tar.gz
    oder für 32-Bit
wgethttps://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.1.6_i386.tar.gz

tar zxvf seafile-server_3.1.6_x86- 64.tar.gz
mkdir installiert
mv seafile-server_* installiert

cd seafile-server-*
./setup_seafile_mysql.sh

An dieser Stelle müssen Sie die angezeigten Fragen beantworten, da sie sich auf Ihr System und Ihre Installation beziehen. Wenn Sie zu dem Abschnitt mit dem Titel "Bitte wählen Sie eine Methode zum Initialisieren von Seafile-Datenbanken" gelangen, müssen Sie 2 auswählen und die Datenbankinformationen aus Ihrem ISPConfig-Setup eingeben.

4 Erster Lauf

Es ist an der Zeit, Seafile zu starten und sicherzustellen, dass die Ersteinrichtung funktioniert.

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

Öffnen Sie nach dem Starten der Dienste Ihren Webbrowser und navigieren Sie zu der oben erstellten Website-Adresse mit Port 8000.

http://192.168.1.111:8000/

5 Apache-Setup

Der größte Teil unseres Setups für Apache wird tatsächlich innerhalb des Website-Setups oben durchgeführt. Allerdings müssen wir der apache.conf eine Zeile hinzufügen, damit alles reibungslos funktioniert. Leider habe ich keine Möglichkeit gefunden, dies hinzuzufügen, ohne diese einzelne Datei zu bearbeiten.

sudo echo "## Seafile External Server">>/etc/apache2/apache.conf
sudo echo "FastCGIExternalServer/var/www/seafile.myDomainHere.com/web/seahub.fcgi -host127.0.0.1:8000“>> /etc/apache2/apache.conf

Ändern Sie nun die SERVICE_URL in /path/to/seafile-server/ccnet/ccnet.conf
SERVICE_URL = http://www.myseafile.com
Wir müssen auch FILE_SERVER_ROOT in /path/to/seafile-server/seahub_settings.py
ändern

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

Starten Sie Apache neu.
sudo service apache2 restart
Starten Sie die Seafile-Dienste neu.

./seafile.sh start
./seahub.sh start-fastcgi

6 HTTPS aktivieren

Das Einzige, was getan werden muss, ist das Generieren eines SSL-Schlüssels innerhalb der Sites-Registerkarte von ISPConfig. Aufgrund der Art und Weise, wie ISPConfig installiert ist und funktioniert, sollte alles andere bereits eingerichtet sein. Möglicherweise müssen Sie jedoch sicherstellen, dass Apache neu gestartet wird.

7 Dienste automatisch starten 

Da das Ziel hier darin besteht, alles in ISPConfig enthalten zu halten, anstatt einen Startdienst zu erstellen, werden wir das seafilescript zu den Cron-Jobs der Benutzer hinzufügen. Natürlich müssen Sie sicherstellen, dass der Client vollständige Cron-Jobs hinzufügen kann. Stellen Sie sicher, dass Sie zwei verschiedene Cron-Jobs hinzufügen; eine für Seafile und eine für Seahub. Fügen Sie Folgendes in den Abschnitt Command to Run ein:

/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seahub. shstart-fastcgi
und
/var/www/clients/client1/web42/private/seafile/seafile-server-3.1.6/seafile_start


UPDATE (23. November 2014):Da es eine Weile dauert, bis die Seafile- und Seahub-Server starten, gab es Fälle, in denen das zweite Skript ausgeführt wurde, bevor das vorherige Skript fertig war. Somit würde der Server nicht starten. Ich habe das ursprüngliche Seafile-Startskript aktualisiert, damit es ordnungsgemäß mit ISPConfig funktioniert. Ich habe es wahrscheinlich mit den Wait-Befehlen übertrieben, aber das Skript funktioniert gut mit ihnen. Stellen Sie sicher, dass Sie als dieser Dateibenutzer angemeldet sind, bevor Sie die folgenden Befehle ausführen.

Erstellen Sie eine Startdatei:

cd ~/private/seafile
startSeafile.sh berühren
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/web42/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

# Ändern Sie den Wert von fastcgi auf true, wenn fastcgi verwendet werden soll
fastcgi=true
# Stellen Sie den Port von fastcgi ein, Standard ist 8000. Ändern Sie ihn, wenn Sie einen anderen benötigen.
fastcgi_port=8000

## Der Sleep-Befehl ist notwendig, um MYSQL-Fehler zu vermeiden, wenn
## dieses Skript ausgeführt wird, bevor MYSQL vollständig betriebsbereit ist
sleep 60 &
warte %1

Fall "$1" in
        start)
               ${script_path}/seafile.sh starte>> ${seafile_init_log} &
               warte %1
               if [  $fastcgi =true ];
               dann
                       ${script_path}/seahub.sh start-fastcgi ${fastcgi_port}>>${seahub_init_ log} &
wait %1
else
$ {script_path} /Seahub.sh start>> $ {seahub_init_log} &
wait %1
fi
       ;;
        Neustart)
               ${script_path}/seafile.sh Neustart>> ${seafile_init_log} &
               warte auf %1
               if [  $fastcgi =true ];
Dann
$ {script_path} /seahub.sh restart-fastcgi $ {fastcgi_port}>> $ {seahub_init_log} &
Wait %1
else
{script_path} / seahub.sh neu starten>> ${seahub_init_log} &
                       $1 warten
               fi
       ;;
       ;;
        stop)
               ${script_path}/seafile {seafile_init_log}
               ${script_path}/seahub.sh $1>> ${seahub_init_log}
       ;;
        *)
               echo "Verwendung:/etc/init.d/seafile{start|stop|restart}"
               exit 1
       ;;
esac


Jetzt müssen Sie nur noch den einzelnen Job "startServer.shcron" in den Abschnitt "Commands to Run" von ISPConfig einfügen:

/var/www/clients/client1/web42/private/seafile/startSeafile. shstart




Das war's!


Linux
  1. So verwenden Sie Awk und reguläre Ausdrücke zum Filtern von Text oder Zeichenfolgen in Dateien

  2. Wie installiere und verwende ich Pycharm, ohne ein Terminal verwenden zu müssen?

  3. UNIX / Linux:So verwenden Sie Sticky Bit für Verzeichnis und Datei

  4. So prüfen Sie Änderungen an Dateien und Ausführungen von Dateien in Linux

  5. Wie entferne ich eine Datei ohne rm?

Was ist EFS (Elastic File System) in AWS und wie wird es verwendet?

Linux-Hostdatei:Wie wird sie bearbeitet und verwendet?

So installieren und verwenden Sie BleachBit 1.12 unter Ubuntu 16.04

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

Wie verwende ich gzip unter Linux?

So verwenden Sie Sed zum Suchen und Ersetzen einer Zeichenfolge in einer Datei