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
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
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.
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
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.
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:
Ü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.
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.
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.
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.
Auf der Registerkarte GUI änderst du deinen Benutzer und dein Passwort und klickst dann auf Speichern.
Nachdem das neue Passwort konfiguriert ist, wirst du zur Syncthing-Authentifizierung aufgefordert.
Gib deinen Benutzernamen und dein Passwort ein und klicke dann auf Anmelden.
Wenn du den richtigen Benutzer und das richtige Passwort hast, solltest du das Syncthing-Dashboard wie das folgende sehen:
Unten siehst du das Syncthing-Dashboard von Server2, nachdem du den Benutzer und das Passwort konfiguriert hast.
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.
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.
Gehe zu Server2 und klicke auf Remote-Gerät hinzufügen, um eine neue Syncthing-Instanz hinzuzufügen.
Füge die Geräte-ID von Server1 ein, gib den Namen als Server1 ein und bestätige dann mit Speichern.
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.
Nun erscheint ein neues Pop-up-Fenster, in dem du die Geräte-ID von Server2 überprüfst und dann auf Speichern klickst.
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.
Wenn du hingegen den Server2 überprüfst, solltest du sehen, dass Server1 verbunden ist.
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.
- 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.
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.
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.
Auf Server2 solltest du den Abschnitt Standardordner und Freigegeben für Server1 sehen.
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
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.
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.