So installierst du Syncthing unter Ubuntu 22.04

Syncthing ist ein sicheres und quelloffenes Dateisynchronisationsprogramm für mehrere Plattformen wie Windows, macOS, Linux, Android, Solaris, Darwin und BSD. Es ist ein dezentralisiertes und Peer-to-Peer (P2P) Dateisynchronisierungstool, mit dem du Dateien zwischen Geräten in einem lokalen Netzwerk oder zwischen entfernten Geräten über das Internet synchronisieren kannst.

In diesem Lernprogramm zeige ich dir, wie du Syncthing auf einem Ubuntu 22.04 Server installierst. Anschließend lernst du, wie du eine Verbindung zwischen Syncthing-Instanzen herstellst, die Synchronisierung von Verzeichnissen einrichtest und die Synchronisierung überprüfst.

Voraussetzungen

Um mit diesem Tutorial zu beginnen, musst du Folgendes haben

  • Zwei Ubuntu 22.04 Rechner – In diesem Beispiel verwenden wir zwei Ubuntu Server server1 und server2.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.

Hinzufügen des Syncthing-Repositorys

Syncthing kann auf verschiedene Arten installiert werden: Du kannst es manuell per Binärdatei oder über APT für Ubuntu installieren. In diesem Beispiel installierst du Syncthing über APT, indem du das offizielle Repository auf beiden Ubuntu-Rechnern hinzufügst.

Um zu beginnen, führe den folgenden Befehl aus, um einige grundlegende Pakete auf deinem Ubuntu-System zu installieren.

sudo apt install gnupg2 curl apt-transport-https -y

Basispakete installieren

Füge nun den syncthing GPG-Schlüssel und das Repository zu deinen beiden Ubuntu-Systemen hinzu. In diesem Fall wirst du die neueste Version von Syncthing über das APT-Repository installieren.

curl -fsSL https://syncthing.net/release-key.txt | \
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/syncthing.gpg

echo „deb https://apt.syncthing.net/ syncthing release“ | \
sudo tee /etc/apt/sources.list.d/syncthing.list

Repo hinzufügen

Dann aktualisierst du dein Ubuntu-Repository mit dem folgenden Befehl.

sudo apt update

Wenn du siehst, dass das Syncthing-Repository verfügbar ist, kannst du loslegen.

Repo aktualisieren

Syncthing installieren

Nachdem du das Syncthing-Repository auf beiden Ubuntu-Rechnern hinzugefügt hast, installierst du es im nächsten Schritt auf beiden Rechnern und konfigurierst es als systemd-Dienst. Stelle außerdem sicher, dass du auf beiden Rechnern einen Nicht-Root-Benutzer hast, um syncthing auszuführen.

Um syncthing zu installieren, führe den folgenden apt-Befehl aus. Gib y ein und drücke ENTER, um mit der Installation fortzufahren.

sudo apt install syncthing

syncthing installieren

Nachdem die Installation abgeschlossen ist, überprüfe die syncthing-Version wie folgt:

syncthing --version
syncthing -h

In der folgenden Ausgabe solltest du sehen, dass syncthing 1.26 installiert ist.

Syncthing-Version prüfen

Jetzt, wo du syncthing installiert hast, solltest du es als Einzelbenutzer starten. In diesem Beispiel verwenden wir den Benutzer alice auf dem Server1 und den Benutzer bob auf dem Server2.

Melde dich mit dem unten stehenden Befehl bei deinem Benutzer an.

su - alice

Starte und aktiviere dann den Syncthing-Dienst für den Benutzer alice mit dem folgenden Befehl:

sudo systemctl start syncthing@alice.service
sudo systemctl enable syncthing@alice.service

Achte darauf, dass du dein Passwort eingibst, um die Root-Rechte zu erhalten, wenn du gefragt wirst:

start enable syncthing

Überprüfe nun den syncthing-Dienst mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status syncthing@alice.service

Du solltest sehen, dass der syncthing-Dienst für den Benutzer alice läuft. Vergewissere dich auch, dass der syncthing-Dienst auf allen deinen Servern läuft.

Synchronisierung prüfen

Einrichten der Firewall

In dieser Anleitung wirst du die Firewall auf beiden Ubuntu-Rechnern aktivieren. Unter Ubuntu kannst du die UFW (Uncomplicated Firewall) verwenden, und syncthing bietet standardmäßig auch ein UFW-Anwendungsprofil, so dass du es leicht aktivieren kannst.

Führe den folgenden Befehl aus, um die Profile syncthing und syncthing-gui zur UFW hinzuzufügen.

sudo ufw allow syncthing
sudo ufw allow syncthing-gui

Füge nun das OpenSSH-Profil hinzu, starte dann UFW und aktiviere es mit dem unten stehenden Befehl. Gib y ein, um den Vorgang zu bestätigen.

sudo ufw allow OpenSSH
sudo ufw enable

Sobald der Vorgang abgeschlossen ist, siehst du die folgende Ausgabe.

ufw-Einrichtung

Als Nächstes überprüfst du die aktivierten Regeln und Profile in der UFW mit dem unten stehenden Befehl.

sudo ufw status verbose

Stelle sicher, dass sowohl syncthing als auch syncthing-gui zu UFW hinzugefügt wurden.

ufw verifizieren

Syncthing-Instanzen initialisieren

Nachdem du nun Syncthing installiert und UFW konfiguriert hast, kannst du mit der Initialisierung deiner Installation beginnen. In diesem Schritt richtest du Syncthing so ein, dass es auf einer lokalen IP-Adresse mit aktiviertem HTTPS läuft, und du richtest die Benutzerauthentifizierung für Syncthing ein.

Standardmäßig wird syncthing auf localhost ausgeführt. Wenn du syncthing auf einer lokalen IP-Adresse laufen lassen willst, musst du die syncthing-Konfigurationsdatei ~/.config/syncthing/conf.xml ändern.

Öffne die Datei ~/. config/syncthing/conf.xml mit dem unten stehenden nano-Editor-Befehl.

nano ~/.config/syncthing/conf.xml file

Ändere im Abschnitt „<gui ..>“ den Wert„tls“ auf„true“ und ändere den Standardwert „localhost“ in deine lokale IP-Adresse.

    <gui enabled="true" tls="true" debugging="false" sendBasicAuthPrompt="false">
        <address>192.168.5.30:8384</address>
        <apikey>GENERATED-API-KEY</apikey>
        <theme>default</theme>
    </gui>

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um den syncthing-Dienst neu zu starten.

sudo systemctl restart syncthing@alice.service

Öffne deinen Webbrowser und rufe syncthing über die IP-Adresse des Servers und den Port 8384 auf (d.h.: https://192.168.5.30:8384/).

Wenn deine Installation erfolgreich war, solltest du die folgende Seite erhalten:

Klicke auf Einstellungen, um syncthing einzurichten.

Synchronsynchronisation einrichten

Auf der Registerkarte GUI änderst du deinen Benutzer und dein Passwort und klickst dann auf Speichern.

Admin-Benutzer einrichten

Nachdem das neue Passwort konfiguriert ist, wirst du zur Syncthing-Authentifizierung aufgefordert.

Gib deinen Benutzernamen und dein Passwort ein und klicke dann auf Anmelden.

Login Syncthing

Wenn du den richtigen Benutzer und das richtige Passwort hast, solltest du das Syncthing-Dashboard wie das folgende sehen:

Syncthing Dashboard

Unten siehst du das Syncthing-Dashboard von Server2, nachdem du den Benutzer und das Passwort konfiguriert hast.

syncthing dashboard server2

Verbinden von zwei Syncthing-Instanzen

Nachdem du Synthing auf beiden Ubuntu-Rechnern konfiguriert hast, musst du eine Verbindung herstellen, damit du Dateien zwischen diesen Rechnern synchronisieren kannst. Dazu musst du beide Rechner über die GUI verifizieren.

Auf Server1 klickst du oben rechts auf die Schaltfläche Aktion und wählst dann ID anzeigen.

ID anzeigen

Kopiere die Geräte-ID von Server1. Die Syncthing-Geräte-ID wird während des Status automatisch generiert. Außerdem kannst du den QRcode verwenden, um eine Verbindung zwischen Syncthing-Instanzen herzustellen, zum Beispiel zwischen Computern und Android-Telefonen.

Geräte-ID Server1

Gehe zu Server2 und klicke auf Remote-Gerät hinzufügen, um eine neue Syncthing-Instanz hinzuzufügen.

Remote-Gerät hinzufügen

Füge die Geräte-ID von Server1 ein, gib den Namen als Server1 ein und bestätige dann mit Speichern.

Server1 hinzufügen

Gehe zurück zum Dashboard von Server1 und gib die Informationen zu Server2 ein, mit dem du dich verbinden möchtest. Klicke auf Gerät hinzufügen, um den Server1 hinzuzufügen.

Server2 bestätigen

Nun erscheint ein neues Pop-up-Fenster, in dem du die Geräte-ID von Server2 überprüfst und dann auf Speichern klickst.

Server2 bestätigen

Gehe schließlich zum Syncthing Dashboard und wechsle zum Abschnitt Remote Devices. Wenn der Vorgang erfolgreich war, solltest du den Server2 mit dem Status “ Verbunden“ sehen.

Server1 verbunden mit Server2

Wenn du hingegen den Server2 überprüfst, solltest du sehen, dass Server1 verbunden ist.

Server2 ist mit Server1 verbunden

Verzeichnis mit Syncthing synchronisieren

Jetzt sind sowohl Server1 als auch Server2 über Syncthing verbunden. Jetzt lernst du, wie du ein Verzeichnis/Ordner freigeben und Dateien zwischen Syncthing-Instanzen synchronisieren kannst.

Auf dem Dashboard von Server1 findest du im Bereich Ordner den Standardordner mit dem Pfadverzeichnis /home/alice/Sync und dem Status Unshared.

Klicke auf Bearbeiten, um den Standardordner freizugeben.

Ordner bearbeiten

  • Wechsle zur Registerkarte Freigabe und du siehst die Liste der verbundenen Syncthing-Instanzen. Wähle Server2, um den Standardordner mit der Syncthing-Instanz Server2 zu teilen.
  • Gehe zur Registerkarte Dateiversionierung, wähle die gewünschte Dateiversionierungsmethode aus und gib dann ein, wie viel Versionierung du beibehalten möchtest.

Klicke auf Speichern, um deine Änderung zu übernehmen.

mit Server2 teilen

Wechsle schließlich zum Dashboard von Server2 und du erhältst die Meldung, dass Server1 den Standardordner freigeben möchte. Klicke zur Bestätigung auf Freigeben.

Aktie bestätigen

Sobald der Vorgang abgeschlossen ist, solltest du sehen, dass der Standardordner freigegeben ist.

Im Abschnitt Standardordner von Server1 sollte der Abschnitt Freigegeben mit dem Wert Server2 angezeigt werden.

gemeinsames Verzeichnis

Auf Server2 solltest du den Abschnitt Standardordner und Freigegeben für Server1 sehen.

gemeinsames Verzeichnis

Dateisynchronisierung zwischen Synchthing-Instanzen

Jetzt, wo du das gemeinsame Verzeichnis über Syncthing konfiguriert hast, kannst du es überprüfen, indem du neue Dateien auf Server1 erstellst und die Listendateien auf Server2 überprüfst, um sicherzustellen, dass die Synchronisierung funktioniert.

Gehe auf Server1 in das Sync-Verzeichnis und erstelle neue Dateien mit dem folgenden Befehl.

cd ~/Sync/
touch {1..20}.txt

Dateien erstellen server1

Wechsle zu Server2, gehe in das Sync-Verzeichnis und überprüfe die Liste der Dateien in diesem Verzeichnis.

cd ~/Sync/
ls -ah

Wenn du im Sync-Verzeichnis mehrere .txt-Dateien siehst, hast du die Sync-Installation ohne Probleme durchgeführt.

Dateien prüfen server2

Von hier aus kannst du ein neues Verzeichnis erstellen und für die Syncthing-Instanzen freigeben. Du kannst auch neue Instanzen hinzufügen.

Fazit

Herzlichen Glückwunsch! Du hast die Installation von Syncthing auf Ubuntu 22.04 Servern abgeschlossen. Du hast auch gelernt, wie du Syncthing mit der UFW (Uncomplicated Firewall) absicherst, Verbindungen zwischen Syncthing-Instanzen herstellst, gemeinsame Ordner einrichtest und die Synchronisierung zwischen gemeinsamen Verzeichnissen überprüfst.

Außerdem kannst du neue Geräte zu deiner aktuellen Syncthing-Installation hinzufügen und gemeinsame Ordner einrichten, sodass du von mehreren Geräten aus auf Dateien zugreifen kannst.

Das könnte dich auch interessieren …