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

So installieren Sie Seafile zum Synchronisieren und Freigeben von Dateien unter CentOS 8

Seafile ist eine kostenlose, selbst gehostete Open-Source-Dateifreigabelösung für Linux. Es handelt sich um eine plattformübergreifende Datei-Hosting-Software, mit der Dateien auf einem zentralen Server gespeichert und mit Ihrem PC oder Mobilgerät synchronisiert werden können. Seafile wurde mit dem Python-Django-Framework geschrieben und ist funktional Dropbox und Google Drive sehr ähnlich. Es hat viele Funktionen, darunter Dateiverschlüsselung, Versionskontrolle, Zwei-Faktor-Authentifizierung, Online-Bearbeitung, Dateisperre und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie Sie Seafile mit Nginx als Reverse-Proxy unter CentOS 8 installieren.

Voraussetzungen

  • Ein frischer CentOS 8 VPS auf der Atlantic.Net Cloud Platform
  • Ein gültiger Domainname, der auf Ihre Server-IP verweist
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

yum update -y

Schritt 2 – Erforderliche Abhängigkeiten installieren

Zuerst müssen Sie das EPEL-Repository in Ihrem System installieren. Sie können es mit dem folgenden Befehl installieren:

yum installiere epel-release -y

Sobald das EPEL-Repository installiert ist, installieren Sie andere Abhängigkeiten mit dem folgenden Befehl:

yum install python3 python3-devel python3-setuptools gcc gcc-c++ freetype-devel python3-pip python3-ldap memcached java-1.8.0-openjdk libmemcached libreoffice-headless libreoffice-pyuno libffi-devel pwgen curl tar -y 

Sobald alle Abhängigkeiten installiert sind, verwenden Sie den pip-Befehl, um andere Abhängigkeiten zu installieren:

pip3 install Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha

Sobald alle Pakete installiert sind, aktivieren Sie den Memcached-Dienst so, dass er beim Systemneustart gestartet wird:

systemctl enable --now memcached

Schritt 3 – Nginx und MariaDB installieren

Als nächstes müssen Sie Nginx und MariaDB-Server auf Ihrem System installieren. Sie können beide Pakete mit dem folgenden Befehl installieren:

yum install nginx mariadb-server -y

Starten Sie nach der Installation die Nginx- und MariaDB-Dienste und ermöglichen Sie ihnen, beim Systemneustart zu starten:

systemctl start nginxsystemctl start mariadbsystemctl enable nginxsystemctl enable mariadb

Schritt 4 – Erstellen Sie eine Datenbank für Seafile

Zuerst müssen Sie das MariaDB-Root-Passwort festlegen und die MariaDB-Installation sichern. Sie können dies mit dem folgenden Skript tun:

mysql_secure_installation

Beantworten Sie alle Fragen wie unten gezeigt:

Aktuelles Passwort für Root eingeben (Eingabe für keins):Root-Passwort setzen? [J/n] JNeues Passwort:Neues Passwort erneut eingeben:Anonyme Benutzer entfernen? [J/n] YRoot-Anmeldung aus der Ferne verbieten? [J/n] YTestdatenbank und Zugriff darauf entfernen? [J/n] YBerechtigungstabellen jetzt neu laden? [J/n] Ja

Melden Sie sich als Nächstes mit dem folgenden Befehl bei der MariaDB-Shell an:

mysql -u root -p

Erstellen Sie nach der Anmeldung eine Datenbank für Seafile mit dem folgenden Befehl:

Datenbank „ccnetdb“ erstellen Zeichensatz =„utf8“;Datenbank „seafiledb“ erstellen Zeichensatz =„utf8“;Datenbank „seahubdb“ erstellen Zeichensatz =„utf8“;

Als nächstes erstellen Sie einen Benutzer für Seafile mit dem folgenden Befehl:

erstellen Sie den Benutzer 'seafile'@'localhost', identifiziert durch 'yourpassword';

Als nächstes gewähren Sie ccnetdb, seafiledb und seahubdb alle Privilegien mit dem folgenden Befehl:

GEWÄHREN SIE ALLE PRIVILEGIEN AUF `ccnetdb`.* an `seafile`@localhost;GEWÄHREN SIE ALLE PRIVILEGIEN AUF `seafiledb`.* an `seafile`@localhost;GEBEN SIE ALLE PRIVILEGIEN AUF `seahubdb`.* an `seafile`@localhost;

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:

FLUSH PRIVILEGES;EXIT;

Schritt 5 – Seafile installieren

Laden Sie zunächst die neueste Version von Seafile mit dem folgenden Befehl herunter:

wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_7.1.5_x86-64.tar.gz

Extrahieren Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:

tar -xvzf seafile-server_7.1.5_x86-64.tar.gz

Als nächstes verschieben Sie das extrahierte Verzeichnis mit dem folgenden Befehl nach /opt:

mv seafile-server-* /opt/seafilecd /opt/seafile

Wechseln Sie als Nächstes in das Verzeichnis /opt/seafile und richten Sie den Seafile-Server ein, indem Sie das folgende Skript ausführen:

./setup-seafile-mysql.sh

Sie werden aufgefordert, den Servernamen, den gültigen Domänennamen und die Datenbankdetails wie unten gezeigt anzugeben.

Python auf dieser Maschine prüfen ...--------------------------------------------------- --------------------------Dieses Skript führt Sie durch die Einrichtung Ihres Seafile-Servers mit MySQL. Stellen Sie sicher, dass Sie das Seafile-Server-Handbuch unter https:/ gelesen haben. /download.seafile.com/published/seafile-manual/home.mdPress ENTER um fortzufahren ------------------------------- ----------------------------------Wie lautet der Name des Servers? Sie wird auf dem Client angezeigt.3 - 15 Buchstaben oder Ziffern[ Servername ] seafileWie lautet die IP oder Domäne des Servers?Zum Beispiel:www.mycompany.com, 192.168.1.101[ IP oder Domäne dieses Servers ] seafile.example .comWelchen Port möchten Sie für den Seafile-Dateiserver verwenden?[ default "8082" ]------------------------------- ------------------------Bitte wählen Sie eine Methode zum Initialisieren von Seafile-Datenbanken aus:---------------- --------------------------------------[1] Neue ccnet/seafile/seahub-Datenbanken erstellen[ 2] Bestehende ccnet/seafile/seahub-Datenbanken verwenden[ 1 oder 2 ] 2Was ist der Host des MySQL-Servers?[ default "localhost" ]Was ist der Port des mysql-Servers?[ default "3306" ]Welcher MySQL-Benutzer soll für seafile verwendet werden ?[ mysql user for seafile ] seafileWas ist das Passwort für mysql user "seafile"?[ password for seafile ]verifying password of user seafile ... doneGeben Sie den vorhandenen Datenbanknamen für ccnet ein:[ ccnet database ] ccnetdbverifying user "seafile" access to database ccnetdb ... doneGeben Sie die vorhandene Datenbankb ein ase name for seafile:[ seafile database ] seafiledbverifying user "seafile" access to database seafiledb ... doneGeben Sie den bestehenden Datenbanknamen für seahub ein:[ seahub database ] seahubdbverifying user "seafile" access to database seahubdb ... done

Geben Sie jedes Detail sorgfältig an. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe sehen:

----------------------------------------------Dies ist Ihre Konfiguration---------- -----------------------Servername:seafileserver ip/domain:seafile.example.comseafile data dir:/opt/seafile-datafileserver port:8082database:use vorhandene ccnet-Datenbank:ccnetdbseafile-Datenbank:seafiledbseahub-Datenbank:seahubdbdatabase-Benutzer:seafile--------------------------------Drücken Sie die EINGABETASTE, um fortzufahren , oder Strg-C zum Abbrechen ------------------------------------------- ----------------------Ihre Konfiguration des Seafile-Servers wurde erfolgreich abgeschlossen.------------------- ----------------------------------------------Seafile-Server ausführen:./seafile.sh { Anfang | halt | Neustart } Führen Sie den Seahub-Server aus:./seahub.sh { start  | halt |  neu starten }--------------------------------------------- -------------------- Wenn Sie sich hinter einer Firewall befinden, denken Sie daran, die Eingabe/Ausgabe dieser TCP-Ports zuzulassen:------------ -------------------------------------------------- ---Port des Seafile-Dateiservers:8082Port des Seahub:8000Wenn Probleme auftreten, finden Sie weitere Informationen unter https://download.seafile.com/published/seafile-manual/home.md.

Schritt 6 – Administratorkonto einrichten

Als nächstes müssen Sie ein Administratorkonto einrichten, um auf Seafile zuzugreifen. Starten Sie zuerst den Seafile-Dienst mit dem folgenden Befehl:

/opt/seafile/seafile.sh starten

Starten Sie als Nächstes den Seahub-Dienst, um ein Administratorkennwort festzulegen:

/opt/seafile/seahub.sh starten

Sie werden aufgefordert, einen Admin-Benutzernamen und ein Passwort festzulegen, wie unten gezeigt.

LC_ALL ist nicht in ENV gesetzt, gesetzt auf en_US.UTF-8Seahub wird an Port 8000 gestartet ...--------------------- --------------Es ist das erste Mal, dass Sie den Seafile-Server starten. Lassen Sie uns nun das Administratorkonto erstellen.----------------------------------------Was ist die E-Mail für das Admin-Konto?[ Admin-E-Mail ] [email protected] lautet das Passwort für das Admin-Konto?[ Admin-Passwort ]Geben Sie das Passwort erneut ein:[ Nochmals Admin-Passwort ]-------------- ---------------------Seafile-Administrator erfolgreich erstellt-------------------- --------------------

Stoppen Sie als Nächstes die Seafile- und Seahub-Dienste mit dem folgenden Befehl:

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

Schritt 7 – Erstellen Sie eine Systemd-Dienstdatei für Seafile

Als nächstes müssen Sie systemd-Dienstdateien für Seafile und Seahub erstellen, um die Dienste zu verwalten. Erstellen Sie zunächst mit dem folgenden Befehl eine Servicedatei für Seafile:

nano /etc/systemd/system/seafile.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=SeafileAfter=mysql.serviceAfter=network.target[Service]Type=forkingExecStart=/opt/seafile-server-latest/seafile.sh startExecStop=/opt/seafile-server-latest/seafile.sh stop[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei und erstellen Sie dann eine Dienstdatei für Seahub mit dem folgenden Befehl:

nano /etc/systemd/system/seahub.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=SeafileAfter=mysql.serviceAfter=network.target[Service]Type=forkingExecStart=/opt/seafile-server-latest/seahub.sh startExecStop=/opt/seafile-server-latest/seahub.sh stop[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den Seafile- und Seahub-Dienst und ermöglichen Sie ihnen, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl seahub startenfilesystemctl seahub aktivierensystemctl seahub startensystemctl seahub aktivieren

An diesem Punkt wird der Seafile-Server gestartet und lauscht auf Port 8000. Sie können dies mit dem folgenden Befehl überprüfen:

ss -tunelp | grep 8000

Sie sollten die folgende Ausgabe erhalten:

tcp LISTEN 0 128 127.0.0.1:8000 0.0.0.0:* Benutzer:(("python3",pid=44925,fd=8),("python3",pid=44924,fd=8),(" python3",pid=44923,fd=8),("python3",pid=44922,fd=8),("python3",pid=44921,fd=8),("python3",pid=44916,fd =8)) ino:77620 sk:9 <->

Schritt 8 – Nginx für Seafile konfigurieren

Als Nächstes müssen Sie Nginx als Reverse-Proxy konfigurieren, um über Port 80 auf Seafile zuzugreifen. Sie können es mit dem folgenden Befehl konfigurieren:

nano /etc/nginx/conf.d/seafile.conf

Fügen Sie die folgenden Zeilen hinzu:

server {listen 80;listen [::]:80;server_name seafile.example.com;autoindex off;client_max_body_size 100M;access_log /var/log/nginx/seafile.com.access.log;error_log /var/log /nginx/seafile.com.error.log;location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X -Forwarded-Host $server_name;proxy_read_timeout 1200s;}location /seafhttp {rewrite ^/seafhttp(.*)$ $1 break;proxy_pass http://127.0.0.1:8082;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 36000s; Proxy_read_timeout 36000s;proxy_send_timeout 36000s;send_timeout 36000s;}location /media {root /opt/seafile-server-latest/seahub;}}

Speichern und schließen Sie die Datei und starten Sie dann den Nginx-Dienst mit dem folgenden Befehl neu:

systemctl startet nginx neu

Wenn Sie Fehler erhalten, bearbeiten Sie die Datei Nginx.conf:

nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile unter http {:

hinzu
server_names_hash_bucket_size 64;

Speichern und schließen Sie die Datei und starten Sie dann den Nginx-Dienst neu:

systemctl startet nginx neu

Schritt 9 – Greifen Sie auf die Seafile-Weboberfläche zu

An diesem Punkt ist Nginx so konfiguriert, dass es Seafile bedient. Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://seafile.example.com auf die Seafile-Weboberfläche zu . Sie werden zur Anmeldeseite von Seafile weitergeleitet:

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten das Seafile-Dashboard auf der folgenden Seite sehen:

Schlussfolgerung

Im obigen Tutorial haben Sie gelernt, wie Sie den Seafile-Server mit Nginx als Reverse-Proxy auf CentOS 8 installieren. Sie können jetzt Ihre Dateien und persönlichen Fotos auf den Seafile-Server hochladen, sie mit Ihren Freunden teilen und von Ihrem Computer aus darauf zugreifen oder Mobilgerät. Testen Sie Seafile auf VPS-Hosting von Atlantic.Net mit dem obigen Tutorial!


Linux
  1. Wie installiere und konfiguriere ich Fail2ban unter CentOS 8?

  2. So installieren Sie MongoDB unter Ubuntu 20.04 und CentOS 8

  3. So installieren Sie DenyHost unter CentOS 6.7

  4. So installieren Sie PostgreSQL-Server auf CentOS 8

  5. So installieren und sichern Sie MongoDB 4 in CentOS 8

So installieren und verwenden Sie Docker unter CentOS 8

So installieren Sie Java unter CentOS 8

So installieren Sie Yarn unter CentOS 8

So installieren Sie Metabase auf CentOS 8

So installieren Sie Jenkins unter CentOS 8

So installieren Sie Seafile zum Synchronisieren und Freigeben von Dateien unter CentOS 8