Syncthingは、インターネットを介して複数のリモートデバイス間でファイルを同期するために使用される無料のオープンソースファイル同期アプリケーションです。ピアツーピアアーキテクチャで動作し、2つのデバイス間でデータを自動的に交換します。これは、ファイルとディレクトリをリアルタイムで同期させるのに役立ちます。複数のデバイス間のすべてのデータ送信は安全であり、TLSで暗号化されています。 Linux、Windows、macOS用のクライアントがあります。スマートフォンとの間で同期するAndroidアプリもあります!
この投稿では、Syncthingファイル同期ソフトウェアをDebian11サーバーにインストールする方法を紹介します。
- Debian11を実行している2台のサーバー。
- ルートパスワードは各サーバーで構成されます。
デフォルトでは、SyncthingはDebian11のデフォルトリポジトリに含まれていません。したがって、両方のサーバーにSyncthingリポジトリを追加する必要があります。
まず、次のコマンドを使用して必要な依存関係をインストールします。
apt-get install gnupg2 curl apt-transport-https -y
次に、次のコマンドを使用してGPGキーをダウンロードして追加します。
curl -s https://syncthing.net/release-key.txt | apt-key add -
次に、次のコマンドを使用してSyncthingリポジトリをAPTに追加します。
echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list
次に、次のコマンドでリポジトリを更新します。
apt-get update -y
Debian11にSyncthingをインストールする
この時点で、Syncthingリポジトリが両方のサーバーに追加されます。次に、両方のサーバーで次のコマンドを実行してSyncthingをインストールします。
apt-get install syncthing -y
Syncthingをインストールしたら、次のコマンドを使用してSyncthingのバージョンを確認します。
syncthing --version
次の出力が得られます:
syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) [email protected] 2021-12-30 12:07:01 UTC [noupgrade]
次に、Syncthingを管理するために、両方のサーバーにsystemdサービスファイルを作成する必要があります。次のコマンドで作成できます:
nano /etc/systemd/system/[email protected]
次の行を追加します:
[Unit] Description=Syncthing - Open Source Continuous File Synchronization for %I Documentation=man:syncthing(1) After=network.target [Service] User=%i ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0 Restart=on-failure SuccessExitStatus=3 4 RestartForceExitStatus=3 4 [Install] WantedBy=multi-user.target
終了したら、ファイルを保存して閉じます。次に、systemdデーモンをリロードして変更を適用します。
systemctl daemon-reload
次に、次のコマンドを使用してSyncthingサービスを開始します。
systemctl start [email protected]
次に、次のコマンドを使用してSyncthingのステータスを確認します。
systemctl status [email protected]
次の出力が得られます:
? [email protected] - Syncthing - Open Source Continuous File Synchronization for root Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled) Active: active (running) since Mon 2022-01-31 02:28:35 UTC; 11s ago Docs: man:syncthing(1) Main PID: 2746 (syncthing) Tasks: 14 (limit: 2341) Memory: 56.3M CPU: 1.661s CGroup: /system.slice/system-syncthing.slice/[email protected] ??2746 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0 ??2752 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0 Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: QUIC listener ([::]:22000) starting Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file o> Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Creating new HTTPS certificate Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Completed initial scan of sendreceive folder "Default Folder" (default) Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: GUI and API listening on [::]:8384 Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/ Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: My name is "server1" Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] WARNING: Syncthing should not run as a privileged or system user. Please consider using a no> Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 resolved external address quic://69.87.219.167:22000 (via stun.sy>経由)
デフォルトでは、Syncthingはポート8384でリッスンします。次のコマンドで確認できます:
ss -antpl | grep 8384
次の出力が得られます:
LISTEN 0 4096 *:8384 *:* users:(("syncthing",pid=2752,fd=28))
Syncthing管理者パスワードを設定
この時点で、Syncthingがインストールされ、両方のサーバーで実行されています。次に、Syncthing Web UIにアクセスし、管理者パスワードを設定する必要があります。
最初のサーバーの管理者パスワードを設定するには、Webブラウザーを開き、URL http:// first-server-ip:8384を使用してアクセスします。 。次の画面が表示されます。
設定をクリックします ボタン。次の画面が表示されます。
GUI タブで管理者のユーザー名とパスワードを定義し、保存をクリックします ボタンをクリックして変更を適用します。 Syncthingログインページにリダイレクトされます:
管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次の画面にSyncthingダッシュボードが表示されます。
2番目のサーバーの管理者パスワードを設定するには、Webブラウザーを開き、URL http:// second-server-ip:8384を使用してアクセスします。 。次の画面が表示されます。
設定をクリックします ボタン。次の画面が表示されます。
GUI タブで管理者のユーザー名とパスワードを定義し、保存をクリックします ボタンをクリックして変更を適用します。 Syncthingログインページにリダイレクトされます:
管理者のユーザー名とパスワードを入力し、ログインをクリックします ボタン。次の画面にSyncthingダッシュボードが表示されます。
次に、両方のサーバー間でファイルを同期するために、各サーバーのデバイスIDを見つけて、それを別のサーバーに追加する必要があります。
最初のサーバーダッシュボードで、アクションをクリックします>IDを表示 デバイスIDを検索します。次の画面が表示されます。
2番目のサーバーダッシュボードで、アクションをクリックします>IDを表示 デバイスIDを検索します。次の画面が表示されます。
最初のサーバーで、閉じるをクリックします ボタン。次の画面が表示されます。
次に、リモートデバイスの追加をクリックします 。次の画面が表示されます。
2番目のサーバーのデバイスIDと名前を入力し、[保存]をクリックします ボタン。デバイスが追加されると、次の画面が表示されます。
2番目のサーバーで、[リモートデバイスの追加]をクリックします 。次の画面が表示されます。
最初のサーバーのデバイスIDと名前を入力し、保存をクリックします ボタン。次の画面が表示されます。
次に、2番目のサーバーと同期する最初のサーバー上のフォルダーを追加して共有する必要があります。
最初のサーバーで、フォルダの追加をクリックします ボタン。次の画面が表示されます。
フォルダラベルとフォルダパスを入力し、共有をクリックします タブ。次の画面が表示されます。
2番目のサーバーにチェックマークを付け、保存をクリックします ボタン。次の画面が表示されます。
次に、2番目のサーバーに移動し、再スキャンをクリックします。 すべて ボタン。次の画面が表示されます。
追加をクリックします 最初のサーバーで共有されているフォルダーを追加します。次の画面が表示されます。
保存をクリックします ボタンをクリックして変更を適用します。次の画面が表示されます。
この時点で、両方のサーバーは互いにファイルを同期するように構成されています。最初のサーバーの共有フォルダーでファイルを作成または変更すると、それらは自動的に2番目のサーバーに同期されます。
おめでとう!これで、2台のDebian 11サーバーにSyncthingが正常にインストールおよび構成され、両方のサーバー間の同期がセットアップされました。このチュートリアルがサーバーのバックアップに役立つことを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。