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

So installieren Sie Syncthing auf Ubuntu 20.04 und Ubuntu 21.04

Syncthing ist eine kostenlose Open-Source-Anwendung zur Peer-to-Peer-Dateisynchronisierung. Syncthing kann Dateien zwischen Geräten in einem lokalen Netzwerk oder zwischen entfernten Geräten über das Internet synchronisieren, wobei alle zwischen mehreren Geräten übertragenen Daten mit TLS verschlüsselt werden. Wann immer Sie Daten auf einem Peering-Knoten erstellen, ändern oder löschen, repliziert die Anwendung die Änderungen automatisch auf andere Server. Ein weiteres beliebtes Feature ist, dass Syncthing plattformübergreifend für Windows, macOS, Linux, Android, Solaris, Darwin und BSD verfügbar ist und die Synchronisierung über mehrere Geräte hinweg ermöglicht.

Für Benutzer, die diese großartige Synchronisierungssoftware ausprobieren möchten, erfahren Sie am Ende dieser Anleitung, wie man Syncthing unter Ubuntu 20.04 LTS installiert . Das gleiche Prinzip funktioniert für die neuere Version Ubuntu 21.04 (Hirsute Hippo).

Voraussetzungen

  • Empfohlenes Betriebssystem: (2x) Ubuntu 20.04 – optional (Ubuntu 21.04 und Linux Mint 20)
  • Benutzerkonto: Ein Benutzerkonto mit Sudo- oder Root-Zugriff.
  • Erforderliche Pakete: apt-transport-https, curl

Überprüfen und aktualisieren Sie Ihr Betriebssystem Ubuntu 20.04.

sudo apt update && sudo apt upgrade -y

Standardmäßig sollten Server mit (curl) geliefert werden installiert, aber Sie werden dies zusammen mit der Installation von (apt-transport-https) überprüfen Paket, das erforderlich ist, damit der APT-Paketmanager eine HTTPS-Verbindung mit diesem Repository herstellen kann.

sudo apt install apt-transport-https curl -y

Installieren Sie Syncthing mit dem offiziellen .Deb-Repository

Syncthing befindet sich in den Standard-Ubuntu-Repositories, ist aber nicht so aktuell, wie viele es gerne hätten. Stattdessen installieren Sie das offizielle Quell-Deb-Repository:

Fügen Sie zuerst den GPG-Schlüssel hinzu, indem Sie den folgenden Befehl ausführen:

curl -s https://syncthing.net/release-key.txt | sudo apt-key add -

Sie sollten (Ok) erhalten Ausgabe wie oben in Ihrem Ubuntu-Terminal, und dies bedeutet, dass der GPG-Schlüssel erfolgreich importiert wurde. Als nächstes müssen Sie das Syncthing-Repository hinzufügen, indem Sie Folgendes in Ihrem Terminal ausführen:

echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

Jetzt können Sie Ihre Repositories aktualisieren und Syncthing installieren:

sudo apt update && sudo apt install syncthing -y

Bestätigen Sie die Installation, indem Sie den Versions-Build überprüfen:

syncthing --version

Syncthing als Systemdienst konfigurieren

Syncthing (.deb) Paket kommt mit dem erforderlichen (systemd) service-Datei unter dem Speicherort (/lib/systemd/system) . Unter diesem Verzeichnis finden Sie ([email protected]) Datei. Syncthing funktioniert so, dass Sie den Benutzernamen des Kontos zwischen (@) eingeben müssen und der (.service), zum Beispiel ([email protected]) .

Um Syncthing zu starten und zu aktivieren, müssen Sie den folgenden Befehl ausführen.

sudo systemctl enable [email protected]

Um zu wissen, ob es erfolgreich war, sollten Sie das Beispiel unten sehen, das mit (Created symlink) ausgegeben wird :

Da der Dienst nun beim Start aktiviert ist, müssen Sie ihn dieses eine Mal manuell starten, indem Sie Folgendes ausführen:

sudo systemctl start [email protected]

Jetzt sollten Sie den Status überprüfen, indem Sie den folgenden Befehl eingeben:

sudo systemctl status [email protected]

Um den Statusbildschirm zu verlassen, drücken Sie (Q) oder (STRG+C) .

Beachten Sie, dass sich Ihre Konfigurationsdateien unter (/home/username/.config/syncthing/) befinden und Ihr standardmäßiger Home-Ordner ist (/home/username/syncthing/) . Sie können den Home-Ordner später ändern, wenn Sie möchten.

Die Hauptkonfigurationsdatei befindet sich unter (/home/username/.config/syncthing/config.xml) wenn Sie Einstellungen ändern oder korrigieren müssen, wie z. B. das Ändern der Standardeinstellung 127.0.0.1 in eine interne oder externe IP-Adresse.

UFW-Firewall konfigurieren

Syncthing muss erlaubt werden, Port(22000) zu verwenden mit Gleichaltrigen zu kommunizieren. Wenn Sie UFW verwenden, führen Sie den folgenden Befehl aus, um den Port zuzulassen:

sudo ufw allow 22000/tcp

Installieren Sie Syncthing-Peers

Um Syncthing zu verwenden, müssen Sie bis zu diesem Zeitpunkt eine zweite Kopie auf einem anderen Server oder Desktop installieren. Das Fantastischste an Syncthing ist, dass Sie es nicht nur unter Linux, sondern auf mehreren Betriebssystemen installieren können.

Beachten Sie, wenn Sie Syncthing verwenden, um auf einer anderen Plattform als Linux zu sichern, stellen Sie sicher, dass (receive) eingestellt ist nur da die Dateiberechtigungen zu und von Problemen führen.

Erste Verwendung und Konfiguration Syncthing WebUI

Syncthing hört auf (127.0.0.1:8384) standardmäßig, auf die Sie in Ihrem Webbrowser zugreifen können. Geben Sie Folgendes in die Adressleiste Ihres Internet Explorers ein:

http://127.0.0.1:8384

Wenn Sie die WebUI zum ersten Mal aufrufen, werden Sie ein Pop-up mit der Frage (Anonyme Nutzungsberichte zulassen?) bemerken . Wählen Sie eine Option aus, um fortzufahren.

Nachdem Sie die Nutzungsberichte sortiert haben, werden Sie mit einer Benachrichtigung (GUI-Authentifizierung:Benutzer und Kennwort festlegen) aufgefordert. Es ist ziemlich wichtig, Ihren Syncthing-Dienst zu sichern, also sollten Sie sofort auf (Einstellungen) klicken um zur Konfigurationsseite zu gelangen.

Wählen Sie im nächsten Bildschirm (GUI) aus wie unten gezeigt:

Richten Sie jetzt einen (Nutzernamen) ein und (Passwort) . Außerdem können Sie in diesem Teil (HTTPS) einstellen für die GUI-Nutzung, wenn Sie dies vorziehen. Wenn Sie fertig sind, drücken Sie (Speichern) Schaltfläche in der unteren rechten Ecke wie gezeigt:

Jetzt ist es an der Zeit, den gesamten obigen Leitfaden auf einem zweiten Peering-Betriebssystem zu wiederholen, um zum nächsten Teil des Leitfadens zu gelangen, der (zwei) erfordert Clients synchronisieren.

Synchronisieren von Dateien und Ordnern zwischen Geräten

Jetzt haben Sie 2 oder mehr Syncthing-Clients auf verschiedenen Geräten und Betriebssystemen installiert, und jetzt können Sie die Synchronisierung von Dateien oder Ordnern zwischen den Geräten einrichten.

Zunächst einmal in der WebUI auf (Peering-Knoten 1) , können Sie auf (Aktionen> ID anzeigen) klicken in der oberen rechten Ecke, und Sie finden die Geräte-ID, die eine lange Folge von Buchstaben und Zahlen ist.

Sie können auch den QT-Code und die Geräte-ID sehen und er wird für Syncthing auf Smartphones und Tablets verwendet.

Der nächste Schritt ist das Kopieren der (Geräteidentifikation) Dies ist im Anleitungsbeispiel (CAL3FN4-R72LBTK-Q3ZFAEC-OUOAIEM-ZOJIMQ3-JHG5OCK-ZSJORVA-64552A3) von der WebUI-Schnittstelle des Knotens, von dem Sie die Dateien zuerst synchronisieren möchten, was wir (Peering-Knoten 1) genannt haben für diese Anleitung.

Als nächstes öffnen Sie die WebUI des zweiten Peering-Geräts (Peering-Knoten 2) und klicken Sie auf (Remote-Gerät hinzufügen) in der unteren rechten Ecke. Geben Sie nach der Geräte-ID dem neuen Gerät einen Namen und klicken Sie dann auf (Speichern) Schaltfläche, um fortzufahren.

Jetzt zurück auf (Peering-Knoten 1 ), sehen Sie (Peering-Knoten 2), dass er versucht, eine Verbindung herzustellen. Wenn Sie es nicht sehen, aktualisieren Sie Ihre Seite und stellen Sie sicher, dass UFW oder eine ähnliche Firewall sie nicht blockiert. Klicken Sie auf (Gerät hinzufügen) um fortzufahren:

Sobald Sie klicken, um das Gerät hinzuzufügen, wird ein neuer Bildschirm auf (Peering-Knoten 1) angezeigt. Hier können Sie den Standardnamen des Geräts ändern, Dateien und Verzeichnisse automatisch im Freigabebereich freigeben und vieles mehr. Klicken Sie auf (Speichern) um fortzufahren:

Jetzt sind beide Knoten verbunden. Sie können jetzt ein Verzeichnis zwischen den Geräten teilen. Beispiel:(Peering-Knoten 1) hat einen Ordner, den Sie zwischen sich selbst und (Peering-Knoten 2) synchronisieren möchten . Der erste Klick fügt einen Ordner auf (Peering-Knoten 1) hinzu :

Für die Anleitung verwendete das Beispiel (Downloads) Verzeichnis, das zwischen den Geräten synchronisiert werden soll, und Sie können den Ordner, den Sie synchronisieren möchten, mit (Peering-Knoten 2) angeben eine eindeutige ID (name) . Für den Leitfaden haben wir die ID (downloads-backup) genannt und den Pfad festlegen. Klicken Sie nicht auf Speichern. Klicken Sie auf (Freigabe) in der oberen Reihe, um fortzufahren:

Jetzt im (Teilen) Klicken Sie im Panel auf das Remote-Gerät, mit dem Sie teilen möchten. In unserem Beispiel unten ist es (Peering-Knoten 2). Klicken Sie dann auf Speichern, um fortzufahren.

Jetzt in (Peering-Knoten 1) , Sie werden feststellen, dass der Ordner selbst gescannt wird, was in Ordnung ist. Wechseln Sie jetzt wieder zu (Peering-Knoten 2), und Sie sehen ein neues Popup mit (Peering-Knoten 1) die (Downloads) senden möchten Verzeichnis. Klicken Sie auf Hinzufügen:

Jetzt wird ein neues Popup auf (Peering-Knoten 2) angezeigt , hier können Sie bei Bedarf Ihren Pfad ändern und alle anderen Optionen im oberen Bereich anpassen. Klicken Sie zunächst auf Speichern, um zu sehen, wie der Synchronisierungsvorgang beginnt:

Jetzt kann es etwa eine Minute dauern, aber die Geräte sollten mit der Synchronisierung beginnen, Beispiel unten:

Herzlichen Glückwunsch, Sie haben Syncthing erfolgreich verwendet, um zwei Geräte zu synchronisieren! Beachten Sie, wenn Sie den folgenden Fehler sehen (Failed to create folder marker:mkdir .stfolder:read-only file system) , siehe den nächsten Schritt zum Korrigieren von Berechtigungen. Starten Sie nach der Korrektur den Syncthing-Dienst neu und er sollte den Prozess starten.

Syncthing-Berechtigungen konfigurieren

Syncthing kann manchmal beim Senden und Empfangen zwischen entfernten Knoten auf Probleme stoßen. Bei Linux-Systemen können Sie das Paket (setfacl) installieren durch Eingabe des folgenden Befehls:

sudo apt install acl

Führen Sie dann den folgenden Befehl mit Ihrem Benutzernamen aus:

sudo setfacl -R -m u:username:rwx /folder/path/

Wenn Sie ständig Probleme damit haben, da sich Dateien ständig ändern, können Sie einen Cron-Job wie folgt einrichten:

sudo crontab -e

Fügen Sie dann alle 5 Minuten Synchronisierungsberechtigungen hinzu:

*/5 * * * * sudo setfacl -R -m u:username:rwx /folder/path/ -n

Die zweite Funktion besteht darin, (Berechtigungen ignorieren) festzulegen im (Erweitert) Optionen in Syncthing WebUI. Dies kann ebenfalls Probleme beheben, aber beachten Sie den obigen Schritt mit (setfacl) wird höchstwahrscheinlich in Verbindung mit dieser Funktion durchgeführt werden müssen.

Nur-Senden- und Nur-Empfangen-Ordner konfigurieren

Eine großartige Funktion von Syncthing ist, dass Sie die Peering-Knoten zum Senden und Empfangen angeben können. Sie können jedoch auch nur senden und nur empfangen, was Ihnen ultimative Flexibilität bietet. Öffnen Sie dazu (Erweitert) im oberen Bereich des gerade synchronisierten Ordners und siehe (Ordnertyp) um zu Empfangen, Senden oder beidem zu wechseln.

Denken Sie daran, auf Speichern zu klicken.

Syncthing konfigurieren Scanintervalle anpassen

Wenn Sie nicht möchten, dass syncthing ständig nach Änderungen sucht und die CPU freigibt, können Sie (Auf Änderungen achten) im Abschnitt (Erweitert) beim Bearbeiten des Synchronisierungsordners zwischen Geräten deaktivieren.

Außerdem ist standardmäßig für jede Stunde ein vollständiger erneuter Scan geplant, um Änderungen stündlich zu synchronisieren und länger oder kürzer anzupassen.

Nginx als Reverse-Proxy für Syncthing konfigurieren

Angenommen, Sie möchten Syncthing to Nginx als Reverse-Proxy für den Zugriff auf Ihren Server einrichten. Die Anleitung zeigt, wie die Einrichtung über Port 80 erfolgt. Folgen Sie dem Beispiel unten:

Installieren Sie zuerst das benutzerdefinierte Nginx PPA von Ondřej Surý, das mit besseren Funktionen aktualisiert wurde:

Stabil:

sudo add-apt-repository ppa:ondrej/nginx && sudo apt update -y

Hauptlinie:

sudo add-apt-repository ppa:ondrej/nginx-mainline && sudo apt update -y

Als nächstes installieren Sie Nginx:

sudo apt install nginx-core nginx-common nginx nginx-full -y

Als nächstes müssen Sie eine virtuelle Hostdatei erstellen. Führen Sie dazu den folgenden Befehl aus:

sudo nano /etc/nginx/sites-available/syncthing.conf

Fügen Sie den folgenden Code in (syncthing.conf) hinzu Datei:

server {
  listen 80;
  server_name syncthing.example.com;

  access_log /var/log/nginx/syncthing.access.log;
  error_log /var/log/nginx/syncthing.error.log;
  location / {
    proxy_pass http://127.0.0.1:8384;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

Um die Datei zu speichern (STRG+O) dann (STRG+X) beenden. Testen Sie als Nächstes Ihre Nginx-Konfiguration, indem Sie den folgenden Befehl ausführen:

sudo nginx -t

Wenn alles fehlerfrei ist, erhalten Sie die folgende Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Um den Vorgang abzuschließen, laden Sie Ihren Nginx-Dienst neu oder starten Sie ihn neu:

sudo systemctl restart nginx

Ab diesem Punkt können Sie über die URL http://syncthing.example.com.

auf den Syncthing-Server zugreifen
Ubuntu
  1. So installieren Sie Docker unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 18.04

  3. So installieren Sie PHP 7.4 und 8.0 auf Ubuntu 18.04 oder 20.04

  4. So installieren Sie MariaDB 10.4 auf Ubuntu 18.04

  5. Wie installiere und konfiguriere ich Varnish unter Ubuntu 20.04?

So installieren und konfigurieren Sie MRTG unter Ubuntu 18.04

So installieren und verwenden Sie Syncthing unter Ubuntu 20.04

So installieren und konfigurieren Sie DNS unter Ubuntu

So installieren und konfigurieren Sie Kubernetes unter Ubuntu

So installieren Sie Syncthing auf Ubuntu 20.04 LTS

So installieren und konfigurieren Sie Memcached unter Ubuntu