Praxis-Workshop

Mit Seafile eine Private Cloud installieren

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

Apache Webserver für Seafile einrichten

Weiter oben haben wir bereits die benötigten Pakete python-flup und libapache2-mod-fastcgi installiert. Nun müssen wir diverse Module aktivieren. Erledigen Sie das als root.

a2enmod rewrite

a2enmod fastcgi

a2enmod proxy_http

Möglicherweise sind einige Module bereits aktiviert. Haben Sie die obigen Befehle ausgeführt, starten Sie Apache 2 neu:

service apache2 restart

Nun editieren Sie die Datei /etc/apache2/apache2.conf und fügen am Ende der Datei diese Zeile ein:

FastCGIExternalServer /var/www/seahub.fcgi -host 127.0.0.1:8000

Im Anschluss editieren Sie die Datei /etc/apache2/sites-enabled/000-default.conf. In unserem Fall ist dieser Inhalt notwendig:

<VirtualHost *:80>

ServerName 192.168.100.80

DocumentRoot /var/www

Alias /media/home/seafile/tecchannel/seafile-server-latest/seahub/media

RewriteEngine On

<Location /media>

Require all granted

</Location>

#

# seafile fileserver

#

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}]

</VirtualHost>

Sollten Sie bei ServerName eine Domäne angeben, müssen Sie auch die Datei ccnet.conf im Ordner ccnet ändern. Würden wir an dieser Stelle als ServerName zum Beispiel seafile.tecchannel.de verwenden, müssten wir in der Datei ccnet.conf den Parameter SERVICE_URL anpassen. In unserem Fall müsste er dann so lauten:

SERVICE_URL = http://seafile.tecchannel.de

An dieser Stelle modifizieren Sie die Datei seahub_settings.py, die wir in unserem Fall im erstellten Verzeichnis tecchannel finden. Wir fügen für unseren Fall ein:

FILE_SERVER_ROOT = 'http://192.168.100.80/seafhttp'

Modifikation: Sie müssen für unsere Konfiguration die Datei seahub_settings-py anpassen.
Modifikation: Sie müssen für unsere Konfiguration die Datei seahub_settings-py anpassen.
Foto: Jürgen Donauer

Sollten Sie eine andere Domäne verwenden, wäre das auch hier entsprechend anzupassen.

Starten Sie nun Apache zur Sicherheit noch einmal durch (als root) und im Anschluss Seafile (als Anwender seafile). Sie finden die Skript im Unterordner seafile-server-latest.

sudo service apache2 restart

./seafile.sh start

./seahub.sh start-fastcgi

Beim ersten Start von seahub.sh werden Sie aufgefordert, ein Administrator-Konto einzurichten. Damit können Sie sich später am WebGUI anmelden und weitere Anwender hinzufügen.

Nun ist Seafile eingerichtet und Sie können sich via Browser am WebGUI anmelden. In unserem Fall ist das die interne URL http://192.168.100.80. Als Login verwenden Sie die E-Mail-Adresse und das Passwort, das Sie gerade eben hinterlegt haben.