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:
- ccnet server
- Seafile-Server
- 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 [email protected] identified by ‚yourpassword‘;
#Grant user to the databases
grant all privileges on ccnet_db.* to [email protected] identified by ‚yourpassword‘;
grant all privileges on seafile_db.* to [email protected] identified by ‚yourpassword‘;
grant all privileges on seahub_db.* to [email protected] 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.
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.
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
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 Admin Dashboard:
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.