インストールガイド · 1 min read · Sep 21, 2025

AlmaLinux 9にSyncthingをインストールする方法

Syncthingは、複数のデバイス間でファイルを安全に同期するために設計されたオープンソースのピアツーピアファイル同期ツールです。クラウドベースのサービスとは異なり、Syncthingは外部サーバーにデータを保存することなく、デバイス間で直接動作し、ユーザーにファイルとプライバシーの完全な制御を提供します。デバイス間で暗号化された通信を使用して動作し、データが安全に転送されることを保証します。Syncthingは、コンピュータ、モバイルデバイス、さらにはサーバー間でファイルを同期するために使用でき、信頼性が高く、プライベートでリアルタイムのファイル同期が必要なユーザーにとって多用途なソリューションです。設定が簡単で、クロスプラットフォームであり、バックグラウンドで実行され、変更が検出されるたびに自動的にファイルを同期します。

このガイドでは、AlmaLinux 9サーバーにSyncthingソフトウェアをインストールする方法を学びます。また、2つのSyncthingインスタンス間の接続方法と、Syncthingでの共有フォルダーの設定方法も学びます。

前提条件

始める前に、以下のものを用意してください:

  • 2台のAlmaLinux 9マシン。
  • 管理者権限を持つ非ルートユーザー。
  • 許可モードのSELinux。

Syncthingバイナリファイルのダウンロード

RHELベースのディストリビューションでは、バイナリファイルを介して手動でSyncthingをインストールする必要があります。最新のSyncthingのバージョンを取得するために、公式のGitHubページを確認してください。

まず、以下のコマンドを実行して、システムにcurl、wget、およびnanoエディタパッケージをインストールします。

sudo dnf install curl wget nano -y

install packages

次に、以下のコマンドを使用してGitHubリポジトリからSyncthingバイナリファイルをダウンロードします。

curl -s https://api.github.com/repos/syncthing/syncthing/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -

ダウンロードが完了したら、以下のコマンドを使用してSyncthing tar.gzファイルを抽出します。その後、Syncthingバイナリファイルを/usr/bin/ディレクトリに移動します。

tar xvf syncthing-linux-amd64*.tar.gz  
sudo mv syncthing-linux-amd64-*/syncthing /usr/bin/

最後に、以下のコマンドを使用してSyncthingバイナリファイルの場所とバージョンを確認します。

which syncthing  
syncthing --version

以下の出力に基づいて、Syncthing xxxが/usr/bin/syncthingにインストールされていることがわかります。

download verify syncthing

SyncthingをSystemdサービスとして実行する

Syncthingは手動で実行できますが、Systemdサービスとして実行する方が簡単です。systemctlユーティリティを使用してSyncthingサービスを制御できます。

以下のnanoエディタコマンドを実行して、新しいsystemdサービスファイル/etc/systemd/system/[email protected]を作成します。

sudo 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  
  
# Hardening  
ProtectSystem=full  
PrivateTmp=true  
SystemCallArchitectures=native  
MemoryDenyWriteExecute=true  
NoNewPrivileges=true  
  
[Install]  
WantedBy=multi-user.target

ファイルを保存し、編集が完了したらエディタを終了します。

最後に、最も重要なこととして、以下のコマンドを使用してsystemdマネージャをリロードし、システムに変更を適用します。

sudo systemctl daemon-reload

Firewalldの設定

SyncthingをSystemdサービスとして設定したので、firewalldを介してSyncthingのポートを開く必要があります。デフォルトでは、firewalldにはSyncthingアプリケーションが含まれており、簡単に有効にできます。

以下のコマンドを実行して、firewalldでSyncthingおよびsyncthing-guiサービスを追加して有効にします。

sudo firewall-cmd --zone=public --add-service=syncthing --permanent  
sudo firewall-cmd --zone=public --add-service=syncthing-gui --permanent

次に、firewalldをリロードして変更を適用し、firewalldで有効なサービスのリストを確認します。

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

以下の出力に示されているように、Syncthingプロファイルが有効になっています。

setup firewalld

Syncthingノードの初期化

同期インスタンスの接続を開始する前に、システム上でユーザーごとにSyncthingを初期化する必要があります。この例では、以下の異なるユーザーを持つ2台のAlmaLinuxサーバーを使用します:

  • node1 ユーザー tom
  • node2 サーバー ユーザー jerry

次に、以下のコマンドを実行してSyncthingサービスを開始し、Syncthingインストールを初期化します。ユーザーtomを自分のユーザー名に変更してください。

sudo systemctl start [email protected]

initialize syncthing

Syncthingサービスが開始されると、新しい設定ディレクトリ~/.local/state/syncthingとSyncディレクトリが作成されます。以下のコマンドを使用して確認します。

ls -ah ~/Sync  
ls -ah ~/.local/state/syncthing/

その後、以下のnanoエディタコマンドを使用してSyncthing設定~/.local/state/syncthing/config.xmlを開きます。

sudo nano ~/.local/state/syncthing/config.xml

gui‘セクション内で、オプション’tls=false‘を’tls=true‘に変更して、Syncthingへの安全なアクセスを有効にします。

   
 
192.168.10.41:8384
GENERATED-API-KEY default

ファイルを保存し、編集が完了したらエディタを終了します。

次に、以下のコマンドを実行してSyncthingを再起動し、変更を適用します。

sudo systemctl restart [email protected]

次に、以下のコマンドを使用してSyncthingサービスを有効にし、確認します。出力にenabledおよびactive(running)が表示されることを確認し、Syncthingサービスのステータスが実行中であることを確認します。

sudo systemctl enable [email protected]  
sudo systemctl status [email protected]

verify syncthing

Syncthingのユーザーとパスワードの設定

Syncthingを開始し初期化したので、次のステップはSyncthingインスタンスのユーザー認証を設定することです。

始める前に、以下のssコマンドを実行してポート8384LISTEN状態であることを確認します。

ss -tulpn | grep 8384

以下の出力に、ポート8384がSyncthingによって使用されていることが示されています。

ウェブブラウザを開き、サーバーのIPアドレスの後にポート8384を追加してアクセスします(例: https://192.168.5.15:8384/)。インストールが成功していれば、以下のようなウェルカムページが表示されるはずです。

設定メニューをクリックして、ユーザー認証を設定します。

setting

GUIタブをクリックし、管理者ユーザー名とパスワードを入力します。GUIにHTTPSを使用するオプションをチェックしてください。保存を押して変更を確認します。

setup auth

これで、Syncthingのログインページにリダイレクトされます。そこから、ユーザー名とパスワードを入力し、ログインをクリックします。

login

設定が成功していれば、以下のようなSyncthingダッシュボードが表示されます。

syncthing dashboard

以下は、node2のSyncthingダッシュボードです。

node2 dashboard

Syncthingインスタンスの接続

これで、両方のAlmaLinuxサーバーにSyncthingのインストールが完了しました。次は、Web管理ダッシュボードを介して両方のSyncthingインスタンスを接続する時です。

node1ダッシュボードで、アクションをクリックし、IDを表示を選択してノードIDの詳細を取得します。

show id

node1インスタンスのIDとQRコードが表示されます。node1 IDをコピーします。これは、node2インスタンスに接続するために必要です。

copy node1

次に、node2ダッシュボードに移動し、リモートデバイスセクションでリモートデバイスを追加をクリックします。

add remote device

node1のIDを貼り付け、名前をnode1として入力します。

add device

次に、共有タブに移動します。未共有フォルダーセクションで、デフォルトフォルダーオプションをチェックして、ターゲットフォルダーをnode1に共有します。

また、自動受け入れオプションをチェックして、node1がデフォルトパスで広告するフォルダーを自動的に作成または共有するようにしてください。

保存をクリックして確認します。

share folder

node1ダッシュボードに戻ると、node2からのリクエストメッセージが表示されるはずです。デバイスを追加をクリックして確認します。

accept device

プロンプトが表示されたら、保存をクリックして確認します。また、node2のデバイスIDを確認してください。

confirm device node2

次に、node2インスタンスがデフォルトフォルダーを共有するという通知が表示されます。共有をクリックして確認します。

share folder

プロセスが完了すると、node1には以下の情報が表示されます:

  • デフォルトフォルダーのパス/home/tom/Syncnode2共有されています。
  • リモートデバイスセクションで、node2最新の状態であることがわかります。

remote device shared folder

次に、node2ダッシュボードを確認すると、デフォルトフォルダーnode1と共有されていることがわかります。また、リモートデバイスセクションで、node1最新の状態であることがわかります。

success shared

ファイル同期のテスト

これで、2つのSyncthingインスタンス間の共有フォルダーの設定が完了しました。次に、共有ディレクトリに新しいファイルを作成して、2つのSyncthingインスタンス間の同期を確認してみましょう。

node1サーバーで、~/Syncディレクトリに移動し、以下のコマンドを実行して新しいファイルを作成します。

cd ~/Sync/  
touch file{1..50}.txt
ls -ah

node1 create files

次に、node2サーバーに移動し、~/Syncディレクトリに行きます。そして、~/Syncディレクトリ内のファイルリストを確認します。

cd ~/Sync  
ls -ah

同期が成功していれば、node1サーバーで作成したファイルが表示されるはずです。

これで、Syncthingのインストールが成功しました。

結論

おめでとうございます!AlmaLinux 9サーバーにSyncthingを正常にインストールしました。また、Syncthingインスタンス間の接続方法、共有フォルダーの設定方法、およびSyncthingインスタンスの同期を確認する方法も学びました。

ここから、さらに多くのデバイスを追加し、現在のインスタンスに接続して、複数のデバイス間でファイル共有と同期を有効にできます。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。