ウェブサイト検索

Debian 11にSyncthingリモートファイル同期ソフトウェアをインストールする方法


Debian 11にSyncthingリモートファイル同期ソフトウェアをインストールする方法

このページで

  1. 前提条件
  2. Syncthingリポジトリを追加する
  3. Debian 11 に Syncthing をインストールする
  4. SyncthingのSystemdサービスファイルを作成する
  5. Syncthingの管理者パスワードを設定する
  6. 別のサーバーに各サーバーを追加する
  7. フォルダーを作成して共有する
  8. 結論

Syncthingは、インターネット上で複数のリモートデバイス間でファイルを同期するために使用される、無料でオープンソースのファイル同期アプリケーションです。ピアツーピアアーキテクチャで動作し、2台のデバイス間でデータを自動的に交換します。ファイルやディレクトリをリアルタイムで同期させる手助けをします。複数のデバイス間のすべてのデータ送信は安全で、TLSで暗号化されています。Linux、Windows、およびmacOS用のクライアントがあります。また、スマートフォンとの同期を行うためのAndroidアプリもあります!

この記事では、Debian 11 サーバーに Syncthing ファイル同期ソフトウェアをインストールする方法を説明します。

前提条件

  • Debian 11を実行している2台のサーバー。
  • 各サーバーにルートパスワードが設定されています。

Syncthingリポジトリを追加する

デフォルトでは、SyncthingはDebian 11のデフォルトリポジトリには含まれていません。したがって、両方のサーバーにSyncthingリポジトリを追加する必要があります。

まず、次のコマンドを使用して必要な依存関係をインストールします:

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

次に、次のコマンドを使ってGPGキーをダウンロードして追加します:

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

次に、次のコマンドを使用してAPTにSyncthingリポジトリを追加します:

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

次に、次のコマンドでリポジトリを更新します:

apt-get update -y

Debian 11 に Syncthing をインストールする

この時点で、両方のサーバーにSyncthingリポジトリが追加されました。次に、両方のサーバーで以下のコマンドを実行してSyncthingをインストールします。

apt-get install syncthing -y

Syncthingがインストールされたら、次のコマンドを使用してSyncthingのバージョンを確認してください。

syncthing --version

次の出力が得られます:

syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) [email  2021-12-30 12:07:01 UTC [noupgrade]

SyncthingのSystemdサービスファイルを作成する

次に、Syncthingを管理するために両方のサーバーにsystemdサービスファイルを作成する必要があります。以下のコマンドで作成できます:

nano /etc/systemd/system/[email 

次の行を追加してください:

[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 syncthing@root

次に、以下のコマンドを使用してSyncthingのステータスを確認します:

systemctl status syncthing@root

次の出力が得られます:

? [email  - Syncthing - Open Source Continuous File Synchronization for root
     Loaded: loaded (/etc/systemd/system/[email ; 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 
             ??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のウェブUIにアクセスし、管理者パスワードを設定する必要があります。

最初のサーバーの管理者パスワードを設定するには、ウェブブラウザを開き、URL http://first-server-ip:8384 を使用してアクセスします。次の画面が表示されるはずです:

設定ボタンをクリックしてください。次の画面が表示されるはずです:

GUI タブで、管理者のユーザー名とパスワードを定義し、保存 ボタンをクリックして変更を適用します。あなたは Syncthing のログインページにリダイレクトされます:

管理者のユーザー名、パスワードを提供し、サインインボタンをクリックしてください。その後の画面にSyncthingのダッシュボードが表示されるはずです:

第二のサーバーの管理者パスワードを設定するには、ウェブブラウザを開き、URLhttp://second-server-ip:8384を使用してアクセスしてください。次の画面が表示されるはずです:

設定ボタンをクリックしてください。次の画面が表示されるはずです:

GUI タブで、管理者のユーザー名とパスワードを定義し、保存 ボタンをクリックして変更を適用します。あなたは Syncthing のログインページにリダイレクトされます:

管理者のユーザー名、パスワードを入力し、サインインボタンをクリックしてください。次の画面にSyncthingのダッシュボードが表示されるはずです:

別のサーバーに各サーバーを追加する

次に、各サーバーのデバイスIDを特定し、それを別のサーバーに追加して、両方のサーバー間でファイルを同期する必要があります。

最初のサーバーダッシュボードで、アクション > IDを表示をクリックしてデバイスIDを見つけてください。次の画面が表示されるはずです:

第二のサーバーダッシュボードで、アクション > IDを表示をクリックして、デバイスIDを見つけてください。次の画面が表示されるはずです:

最初のサーバーで、閉じるボタンをクリックしてください。次の画面が表示されるはずです:

次に、リモートデバイスの追加をクリックします。次の画面が表示されるはずです:

第二のサーバーのデバイスIDと名前を入力し、保存ボタンをクリックしてください。デバイスが追加されると、次の画面が表示されるはずです:

二台目のサーバーで、リモートデバイスの追加をクリックしてください。次の画面が表示されるはずです:

最初のサーバーのデバイスIDと名前を入力し、保存ボタンをクリックしてください。次の画面が表示されるはずです:

フォルダーを作成して共有する

次に、二番目のサーバーと同期させたい最初のサーバー上にフォルダーを追加して共有する必要があります。

最初のサーバーで、フォルダーを追加ボタンをクリックしてください。次の画面が表示されるはずです:

フォルダラベル、フォルダーパスを入力し、共有タブをクリックしてください。次の画面が表示されるはずです:

第二のサーバーを選択し、保存ボタンをクリックしてください。次の画面が表示されるはずです:

次に、2番目のサーバーに移動し、すべて再スキャン ボタンをクリックします。次の画面が表示されるはずです:

追加をクリックして、最初のサーバーで共有されたフォルダーを追加します。以下の画面が表示されるはずです:

保存ボタンをクリックして変更を適用します。次の画面が表示されるはずです。

この時点で、両方のサーバーは互いのファイルを同期するように構成されています。最初のサーバーの共有フォルダーでファイルを作成または変更するたびに、それらは自動的に第二のサーバーに同期されます。

結論

おめでとうございます!あなたは2つのDebian 11サーバーにSyncthingを正常にインストールして構成し、両方のサーバー間での同期を設定しました。このチュートリアルがサーバーのバックアップに役立つことを願っています。質問があれば遠慮なく聞いてください。

関連記事: