Wie man Seafile unter Ubuntu 16.04 (Xenial Xerus) installiert

Seafile ist eine private Cloud wie Dropbox, mega.co.nz und andere. Seafile basiert auf Python und ist Open Source, so dass Sie eine private Cloud zum speichern von Dateien  auf Ihrem eigenen Server erstellen können.

Seafile unterstützt Verschlüsselungsbibliotheken, die dafür sorgen, dass Ihre Daten sicher gespeichert werden. Um Dateien in einer Bibliothek zu verschlüsseln, müssen Sie beim Erstellen der Bibliothek ein Passwort festlegen. Das Passwort wird nicht in der Seafile Cloud gespeichert. So kann auch der Administrator der Server Ihre verschlüsselten Daten nicht ohne Passwort einsehen.

Dieses Tutorial zeigt die Installation von Seafile auf Ubuntu 16.04.

Voraussetzungen

  • Ein Server mit 2GB RAM
  • Ubuntu 16.04 64-Bit 64-Bit

Installation von Seafile

Schritt 1 – Installieren der notwendigen Abhängigkeiten

Um die Installation durchzuführen, benötigt die Seafile einige Abhängigkeiten:

  • openjdk-8jre
  • LibreOffice
  • Popler-utils
  • mysql-server
  • Python-Rohr und andere.
apt-get install openjdk-8-jre poppler-utils libreoffice libreoffice-script-provider-python libpython2.7 python-pip mysql-server python-setuptools python-imaging python-mysqldb python-memcache ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy python-pip

Boto mit Pip installieren:

pip install boto

Wenn Sie einen Fehler bei der Einstellung des Gebietsschemas haben, führen Sie alle folgenden Befehle aus:

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales

Schritt 2 – Erstellen Sie einen neuen Benutzer „seafile“.

In diesem Schritt erstellen wir einen neuen Benutzer für die Installation der Seafile. Wir werden den Seafile-Server als diesen Benutzer betreiben.

Erstellen Sie einen neuen Benutzer‘seafile‘ für die Installation.

useradd -m -s /bin/bash seafile
passwd seafile

Schritt 3 – Herunterladen und Entpacken des Seafile-Archivs

Seafile kann von der offiziellen Website heruntergeladen werden, bitte laden Sie es entsprechend Ihren Bedürfnissen herunter. Hier verwende ich Ubuntu 15.04 64-Bit.

Laden Sie das Seafile-Archiv mit wget herunter:

su - seafile
wget wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.4_x86-64.tar.gz

Entpacken Sie den `seafile-server_5.1.4_x86-64.tar.gz und benennen Sie das Verzeichnis um in `seafile-server‚.

tar -xzf seafile-server_5.1.4_x86-64.tar.gz
mv seafile-server-5.1.4/ seafile-server/

Das Verzeichnis für die Installation der Seafile befindet sich also auf dem Heimatverzeichnis des Seafile-Benutzers.

Schritt 4 – Erstellen der Datenbank

Seafile benötigt 3 Datenbanken:

  1. ccnet server
  2. Seafile-Server
  3. Seekneipe

Kehren Sie nun mit „exit“ zum Root-Benutzer zurück und melden Sie sich dann bei Ihrem Mysql-Server an.

Erstellen Sie 3 Datenbanken mit einem Benutzer und gewähren Sie dem Benutzer Zugriff auf alle Datenbanken.

#Login to mysql
mysql -u root -p
    
#Create database
create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';

#Create user
create user seacloud@localhost identified by ‚yourpassword‘;

#Grant user to the databases
grant all privileges on ccnet_db.* to seacloud@localhost identified by ‚yourpassword‘;
grant all privileges on seafile_db.* to seacloud@localhost identified by ‚yourpassword‘;
grant all privileges on seahub_db.* to seacloud@localhost identified by ‚yourpassword‘;
flush privileges;

Schritt 5 – Seafile installieren

Melden Sie sich beim Benutzer‘seafile‘ an und gehen Sie in das Installationsverzeichnis’seafile-server/‚, dort führen Sie die Datei setup-seafile-mysql.sh aus.

su - seafile
cd seafile-server/
./setup-seafile-mysql.sh

Drücken Sie einfach die Eingabetaste und Sie werden nach etwas gefragt:

  • Servername – wir werden einen Seafile-Server verwenden.
  • Domain/IP – cloud.mydomain.co.
  • Seafile Datenverzeichnis – Standard Datenverzeichnis
  • Konfiguration des Seafile-Server-Ports.

Seafile installieren auf Ubuntu

Anschließend werden Sie nach der Einrichtung der Datenbank gefragt. Sie können die Nummer 2 wählen, da alle Datenbanken in Schritt 4 erstellt wurden.

Einrichtung der Seafile-Datenbank

Seafile ist installiert. Starten Sie die Seafile und den Seahub-Server:

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

Sie werden nach der Admin-E-Mail und dem Passwort für die Seafile-Admin-E-Mail und das Passwort gefragt.

Wenn der Admin-Benutzer angelegt wurde. Stoppen Sie die Seafile jetzt, als nächstes erstellen wir eine Servicedatei für den Seafile-Server:

./seafile.sh stop
./seahub.sh stop

Schritt 6 – Seafile und Seahub Servicedateien konfigurieren

Als nächstes werden wir die Dienste Seafile und Seahub konfigurieren. Wir werden neue Servicedateien für die Seafile und den Seahub-Server erstellen.

Als Root-Benutzer gehen Sie in das Verzeichnis‘/lib/systemd/system/system/‘ und erstellen Sie eine neue Seafile-Servicedatei‘seafile-server.service‘ mit vim editor:

cd /lib/systemd/system/
vim seafile.service

Fügen Sie die Konfiguration des Seafile-Dienstes unten ein:

[Unit]
Description=Seafile Server
After=network.target mariadb.service

[Service]
Type=oneshot
ExecStart=/home/seafile/seafile-server/seafile.sh start
ExecStop=/home/seafile/seafile-server/seafile.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Erstellen Sie nun eine neue seahub-Servicedatei seahub.service:

vim seahub.service

Füge die Konfiguration unten ein:

[Unit]
Description=Seafile Hub
After=network.target seafile.target

[Service]
Type=oneshot
ExecStart=/home/seafile/seafile-server/seahub.sh start-fastcgi
ExecStop=/home/seafile/seafile-server/seahub.sh stop
RemainAfterExit=yes
User=seafile
Group=seafile

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie den Systemdienst neu und starten Sie die Seafile und den Seehafen:

systemctl daemon-reload
systemctl start seafile
systemctl start seahub

Vergewissern Sie sich, dass kein Fehler vorliegt und überprüfen Sie, ob die Seafile und der Seahub-Server laufen, indem Sie die Serviceports überprüfen.

netstat -plntu

Überprüfen Sie, ob die Seafile gestartet wurde.

Sie sehen den Seafile Port 8082 und den Seahub Port 8000.

Schritt 7 – Nginx als Reverse Proxy installieren und konfigurieren

In diesem Schritt werden wir nginx aus dem Ubuntu-Repository installieren und dann als Reverse-Proxy-Server für Seafile-Server auf Port 8000 und 8002 konfigurieren.

Installiere nginx mit diesem apt-get Befehl:

apt-get install nginx -y

Wenn die Installation abgeschlossen ist, gehen Sie in das virtuelle Hostverzeichnis von nginx und erstellen Sie eine neue virtuelle Hostdatei cloud.mydomain.conf mit vim:

cd /etc/nginx/sites-available/
vim cloud.mydomain.conf

Fügen Sie die Konfiguration des virtuellen Hosts unten ein:

server {
    listen 80;
    server_name cloud.mydomain.co;

proxy_set_header X-Forwarded-For $remote_addr;

    # Reverse proxy for seafile
    location / {
        fastcgi_pass    127.0.0.1:8000;
        fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
        fastcgi_param   PATH_INFO           $fastcgi_script_name;

fastcgi_param    SERVER_PROTOCOL        $server_protocol;
fastcgi_param   QUERY_STRING        $query_string;
fastcgi_param   REQUEST_METHOD      $request_method;
fastcgi_param   CONTENT_TYPE        $content_type;
fastcgi_param   CONTENT_LENGTH      $content_length;
fastcgi_param    SERVER_ADDR         $server_addr;
fastcgi_param    SERVER_PORT         $server_port;
fastcgi_param    SERVER_NAME         $server_name;
fastcgi_param   REMOTE_ADDR         $remote_addr;

access_log      /var/log/nginx/seahub.access.log;
error_log       /var/log/nginx/seahub.error.log;
fastcgi_read_timeout 36000;
}

    # Reverse Proxy for seahub
    location /seafhttp {
        rewrite ^/seafhttp(.*)$ $1 break;
        proxy_pass http://127.0.0.1:8082;
        client_max_body_size 0;
        proxy_connect_timeout  36000s;
        proxy_read_timeout  36000s;
        proxy_send_timeout  36000s;
        send_timeout  36000s;
    }
    #CHANGE THIS PATH WITH YOUR OWN DIRECTORY
    location /media {
        root /home/seafile/seafile-server/seahub;
    }
}

Speichern und beenden.

Ich werde ‚cloud.mydomain.co‘ als Domain-Namen verwenden.

Aktivieren Sie anschließend den neuen virtuellen Host, indem Sie einen Link zum Verzeichnis „sites-enabled“ erstellen und nginx neu starten.

Neuen virtuellen Host aktivieren:

ln -s /etc/nginx/sites-available/cloud.mydomain.co

Testen und starten Sie den nginx-Webserver neu.

nginx -t
systemctl restart nginx

Schritt 8 – Testen mit dem Webbrowser

Öffnen Sie Ihren Browser cloud.mydomain.co und versuchen Sie, sich mit Ihrem Admin-Konto anzumelden.

Seafile Login

Seafile Admin Dashboard:

Seafile wurde gestartet

Fazit

Mit der großen Vielfalt an Cloud-Anwendungen ist Seafile heute eine private Cloud-Lösung, die an diesem Tag gut einsetzbar ist. Mit der Verschlüsselungsfunktion in der Bibliothek/Ordner können Sie die Daten sicherer machen. Und auch die Konfiguration ist einfach, so dass es einfach in Ihrem Server zu implementieren ist.

Links

Das könnte Dich auch interessieren …