Praxis-Workshop

Mit Seafile eine Private Cloud installieren

Jürgen Donauer war als Systemadministrator zunächst für Informix und später IBM tätig. Dann verschlug es ihn in das Rechenzentrum von Media-Saturn. Dort kümmerte er sich mitunter um die Webserver, Datenbankanbindungen und den Online-Shop. Anschließend war er als Redakteur im Bereich Linux für TecChannel tätig. Derzeit arbeitet Jürgen Donauer als freier Autor für TECCHANNEL und COMPUTERWOCHE sowie als Privatdozent.
Seafile ist eine Alternative zur populären ownCloud für die Konfiguration einer Private Cloud. Lesen Sie, wie sich Seafile unter Ubuntu installieren und verwenden lässt.

In Sachen Private Cloud ist die ownCloud derzeit sehr populär. Selbst das BSI hat vor kurzer Zeit ein Dokument zur Verfügung gestellt, das sich mit dem sicheren Betrieb einer ownCloud beschäftigt. Eine Alternative zur ownCloud ist seafile. Ursprünglich wurde die Private Cloud von chinesischen Programmierern entwickelt. Mittlerweile ist die Software komplett Open Source. Seafile setzt auf Python und nicht auf PHP. Weiterhin bringt Seafile eigene Daemons mit sich und Benchmarks haben gezeigt, dass Seafile vor allen Dingen bei vielen kleinen Dateien deutlich schneller als ownCloud ist.

Die Server-Komponente von Seafile können Sie für Linux, Raspberry Pi und Windows herunterladen. In diesem Artikel zeigen wir Ihnen, wie Sie Seafile unter Ubuntu 14.04 LTS installieren und konfigurieren. Ubuntu 14.04 ist eine Server-Version mit Langzeitunterstützung. Sie bekommen dafür Updates bis 2019.

Ubuntu Server 14.04 installieren und einrichten

Ubuntu 14.04 Server installieren und konfigurieren Sie für Seafile im Prinzip genau wie für die ownCloud. Wir verwenden in diesem Artikel ebenfalls Apache Webserver und MySQL für Seafile.

Eigentlich bringt Seafile einen eigenen Webserver mit sich und Sie bräuchten Apache oder NGINX nicht. Allerdings können Sie in diesem Fall keine verschlüsselten Verbindungen benutzen. Eine Verbindung via https ist nur mittels Apache oder NGINX und einem entsprechendem Zertifikat möglich.

Sie könnten Seafile auch mittels SQLite anstatt MySQL betreiben. Die Entwickler raten dazu aber nur, wenn Sie ein bisschen mit der Software experimentieren möchten. Für größere und produktive Umgebungen sollten Sie MySQL einsetzen.

Haben Sie Sie den Webserver entsprechend vorbereitet, legen Sie am besten einen separaten Anwender für Seafile an. Das ist kein Muss, wird allerdings empfohlen. Wir haben ihn seafile genannt:

sudo adduser seafile

Melden Sie sich im Anschluss mit diesem Anwender am System an.

Hinweis: Wir springen häufig zwischen den Anwendern root und seafile. Stellen Sie sicher, immer den richtigen Anwender zu verwenden. Es könnte sonst zu Fehlern kommen.

Seafile herunterladen und auspacken

Da unser Ubuntu Server headless läuft, müssen wir Seafile über die Konsole herunterladen. Wir haben die Version 4.2.3 64-Bit verwendet und Seafile mithilfe dieses Befehls auf der Kommandozeile heruntergeladen:

wget -c https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_4.2.3_x86-64.tar.gz

Bevor wir das Archiv auspacken, widmen wir uns der Verzeichnisstruktur. Die Entwickler empfehlen, ein eigenes Verzeichnis anzulegen. Wir legen dafür den Ordner tecchannel an, verschieben das Archiv dorthin und packen es aus:

mkdir tecchannel

mv seafile-server_4.2.3_x86-64.tar.gz tecchannel

cd tecchannel

tar xzvf seafile-server_4.2.3_x86-64.tar.gz

Diese Verzeichnisstruktur dient der Übersichtlichkeit. Nun können Sie alle Konfigurations-Dateien im Ordner tecchannel ablegen.

MySQL und Seafile

Wir wollen MySQL für Seafile verwenden. Die drei Komponenten ccnet, seafile und seahub benötigen jeweils eine eigene Datenbank.

Umfrage zu CRM in der Cloud

Am einfachsten ist es, das von Seafile zur Verfügung gestellte Skript zu verwenden. Es nennt sich setup-seafile-mysql.sh und Sie finden es im Ordner, der durch das Auspacken entstanden ist. Rufen Sie das Skript auf, verlangt es das administrative Passwort für MySQL. In unserem Fall hat das Skript darauf hingewiesen, dass die Pakete python-imaging und python-mysqldb fehlen. Deswegen haben wir diese und noch einige weitere empfohlene zunächst als root installiert:

apt-get install python-setuptools python-simplejson python-imaging python-mysqldb python-flup libapache2-mod-fastcgi

Als Anwender seafile haben wir dann das Skript augeführt:

./setup-seafile-mysql.sh

Das Skript richtet nicht nur die Datenbank ein, sondern auch den Server an sich. Deswegen folgen Sie einfach den Anweisungen. Installieren Sie Seafile auf einer neuen Server-Instanz, dann können Sie die Port-Nummern auf den vorgeschlagenen Standards belassen. Wir wählen aus, neue Datenbanken einzurichten.

Konfiguration: Sind Sie fertig, bekommen Sie eine Übersicht präsentiert.
Konfiguration: Sind Sie fertig, bekommen Sie eine Übersicht präsentiert.
Foto: Jürgen Donauer

Bei der Datenbank können Sie sich entscheiden, ob Sie einen speziellen Anwender oder eben root verwenden wollen. Aus Bequemlichkeit haben wir keinen zusätzlichen Datenbank-Anwender angelegt und den Standard root verwendet.

Ist der Server eingerichtet, können wir uns dem Webserver widmen. Zuvor erhöhen wir aber das Limit der offenen Dateien, da Seafile eine ständige Verbindung zwischen Client und Server aufbaut.

ulimit -n 30000