このチュートリアルでは、 Resilio Syncをインストールする方法を紹介します。 (以前の BitTorrent Sync )Ubuntu20.04および18.04。 Resilio Syncは、Resilio、Incがリリースした無料の高速なピアツーピアファイル共有および同期ツールで、Linux、FreeBSD、Mac、Windows、Android、iOS、Amazon Kindle Fire、NASデバイスで利用できます。
DropboxやNextCloudとは異なり、ResilioSyncはファイルを保存するために中央サーバーを必要としません。代わりに、エンドデバイスにResilio Syncをインストールするだけで、BitTorrentプロトコルを介してファイルを同期できるため、サーバーのストレージ制限に縛られることはありません。
公式リポジトリからUbuntu20.04およびUbuntu18.04にResilioSyncをインストールする
ResilioSyncにはUbuntuのリポジトリがあります。まず、パッケージマネージャーがResilio Syncパッケージを検証できるように、ResilioSyncの公開鍵をインポートする必要があります。ターミナルウィンドウを開き、次のコマンドを実行して公開鍵をダウンロードします。
wget http://linux-packages.resilio.com/resilio-sync/key.asc
次に、apt-key
を使用して公開鍵をインポートします 。
sudo apt-key add key.asc
次に、次のコマンドを実行してResilioSyncリポジトリを追加します。 (add-apt-repository
コマンドはsoftware-properties-common
によって提供されます パッケージ。)
sudo apt install software-properties-common sudo add-apt-repository "deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free"
Ubuntu 20.04および18.04はパッケージインデックスを自動的に更新するため、sudoaptupdateを手動で実行する必要はありません。次に、次のコマンドを使用してResilioSyncパッケージをインストールします。
sudo apt install resilio-sync
インストールすると、ResilioSyncが自動的に開始されます。次のコマンドでステータスを確認できます:
systemctl status resilio-sync
ヒント :上記のコマンドを実行した後、Qを押して端末の制御を取り戻します。
実行されていない場合は、次のコマンドで開始できます:
sudo systemctl start resilio-sync
デフォルトでは、ResilioSyncは起動時に開始されません。自動起動を有効にするには、次のコマンドを使用します:
sudo systemctl enable resilio-sync
ResilioSyncはrslsync
として実行されます ユーザーとWebUIは127.0.0.1:8888
でリッスンします /etc/resilio-sync/config.json
で指定されているとおり 構成ファイル。
Resilio SyncWebUIのセットアップ
LinuxバージョンのResilioSyncは、デスクトップクライアントを提供していません。代わりに、Webインターフェイスを介して設定する必要があります。 Webブラウザのアドレスバーに次のように入力して、Resilio SyncWebUIにアクセスします。
127.0.0.1:8888
リモートLinuxサーバーにResilioSyncをインストールする場合、Web UIにアクセスするには、NginxまたはApacheでリバースプロキシを設定する必要があります。この記事の後半を参照してください。
WebUIを保護するためにユーザー名とパスワードを設定するように求められます。
次に、デバイスの名前を選択し、Get started
をクリックします 。
作成したユーザー名とパスワードを入力します。
ログインすると、コンピュータ上のフォルダを他のデバイスと共有したり、別のデバイスからフォルダを受信したりできます。
他のデバイスとのフォルダの共有
コンピューター上のフォルダーを共有するには、左上隅にある[+]ボタンをクリックして、標準フォルダーを選択します。
次に、コンピューター上のフォルダーを選択します。
次のエラーメッセージが表示される場合があります。
Can't open the destination folder.
または
Don't have permissions to write to selected folder.
これは、ResilioSyncがrslsync
として実行されているためです。 そのフォルダにアクセスする権限を持たないユーザー。
ホームフォルダ/home/your-username/
を選択したとします。 共有フォルダとして。上記のエラーを修正するには、ホームフォルダのアクセス許可をrslsync
に付与するだけです。 次のコマンドを使用するユーザー。
sudo setfacl -R -m "u:rslsync:rwx" /home/your-username
上記のコマンドは、共有フォルダーの所有者を変更しません。所有者は通常と同じ権限を持っています。これは、もう1人のユーザー、つまりrslsync
に読み取り、書き込み、および実行のアクセス許可を付与することです。 。 -R
に注意してください (再帰的)フラグは-m
の前に置く必要があります (変更)フラグ。直後にアクセス制御リストエントリ(u:rslsync:rwx
)が続きます。 。
このエラーが表示された場合:
sudo: setfacl: command not found
次に、acl
をインストールします 上記のsetfacl
をパッケージ化して再実行します コマンド。
sudo apt install acl
これで、ホームフォルダを共有フォルダとして追加できるようになります。
フォルダを追加したら、リンク、秘密鍵、またはQRコードを介してこのフォルダを共有できます。
共有フォルダが大きい場合、ResilioSyncがコンテンツのインデックスを作成するのに時間がかかります。
他のデバイスからフォルダを受信する
別のデバイスからフォルダを受信するには、左上隅にある[+]ボタンをクリックして、[キーまたはリンクを入力してください]を選択します。
次に、キーまたはリンクを入力します。
Ubuntu 20.04、18.04サーバーでのResilioSyncの使用
上記のリポジトリからUbuntu20.04および18.04サーバーにResilioSyncをインストールできます。サーバーがクラウドにある場合、Web UIはローカルホストでのみリッスンするため、WebUIにアクセスするにはリバースプロキシを設定する必要があります。リバースプロキシを構成すると、ドメイン名を介してWebUIにアクセスできます。
Nginxを使用したResilioSyncリバースプロキシの設定
Nginxは、最近Webサーバーおよびリバースプロキシとしてますます人気が高まっています。次のコマンドを使用して、Ubuntu 20.04、18.04サーバーにNginxをインストールします。
sudo apt install nginx
Nginxを起動し、自動起動を有効にします。
sudo systemctl start nginx sudo systemctl enable nginx
次に、ResilioSyncの仮想ホストファイルを作成します。
sudo nano /etc/nginx/conf.d/resilio-sync.conf
次の行をコピーしてファイルに貼り付けます。 resilio.example.com
を置き換えます あなたの本当のドメイン名で。このサブドメインのDNSAレコードも追加する必要があります。
server { listen 80; server_name resilio.example.com; access_log /var/log/nginx/resilio_access.log; error_log /var/log/nginx/resilio_error.log; location / { proxy_pass http://127.0.0.1:8888; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
このファイルを保存して閉じます。次に、Nginxの構成をテストします。
sudo nginx -t
テストが成功した場合は、Nginxをリロードします。
sudo systemctl reload nginx
次に、ブラウザのアドレスバーにresilio.example.com
と入力します。 WebGUIにアクセスできるはずです。
Apacheを使用したResilioSyncリバースプロキシの設定
Apacheは、リバースプロキシとしても使用できる有名なWebサーバーです。 NginxよりもApacheを使用する場合は、Ubuntu 20.04、18.04サーバーに次のコマンドを使用してインストールします。
sudo apt install apache2
Apacheを起動し、自動起動を有効にします。
sudo systemctl start apache2 sudo systemctl enable apache2
Apacheをリバースプロキシとして使用するには、proxy
を有効にする必要があります モジュールとヘッダーモジュール。
sudo a2enmod proxy proxy_http headers proxy_wstunnel
次に、ResilioSyncの仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/resilio-sync.conf
次の行をコピーしてファイルに貼り付けます。 resilio.example.com
を置き換えます あなたの本当のドメイン名で。このサブドメインのDNSAレコードも追加する必要があります。
<VirtualHost *:80> ServerName resilio.example.com ErrorDocument 404 /404.html ProxyPass / http://localhost:8888/ ProxyPassReverse / http://localhost:8888/ ErrorLog ${APACHE_LOG_DIR}/resilio_error.log CustomLog ${APACHE_LOG_DIR}/resilio_access.log combined </VirtualHost>
ファイルを保存して閉じます。次に、この仮想ホストを有効にします。
sudo a2ensite resilio-sync.conf
Apacheを再起動します
sudo systemctl restart apache2
これで、resilio.example.com
を介してWebUIにアクセスできます。 。
HTTPSでResilioSyncWebGUIを保護する
ドメイン名を介してResilioSyncWeb UIにアクセスしたときにHTTPトラフィックを暗号化するには、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にします。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をUbuntu 20.04、18.04サーバーにインストールします。
sudo apt install certbot
Nginxを使用する場合は、CertbotNginxプラグインもインストールする必要があります。
sudo apt install python3-certbot-nginx
次に、次のコマンドを実行してTLS証明書を取得してインストールします。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d resilio.example.com
Apacheを使用する場合は、CertbotApacheプラグインをインストールしてください。
sudo apt install python3-certbot-apache
そして、このコマンドを実行してTLS証明書を取得してインストールします。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d resilio.example.com
どこ
-
--nginx
:nginxプラグインを使用してください。 -
--apache
:Apacheプラグインを使用してください。 -
--agree-tos
:利用規約に同意します。 --redirect
:301リダイレクトでHTTPSを強制します。-
--hsts
:すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。 -
--staple-ocsp
:OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。
これで、証明書が取得され、自動的にインストールされます。
また、HTTPS(https://resilio.example.com
)を介してResilio SyncWebUIにアクセスできます。 。
ファイアウォールでResilio同期ポートを開く
Resilio Syncは、Web UIポートに加えて、ピアに接続するためにパブリックインターフェイスでリッスンする必要もあります。リスニングポートはデバイスごとに異なります。 環境設定に移動すると、Resilio SyncWebUIで見つけることができます。 ->詳細strong> 。
UbuntuサーバーでUFWファイアウォールを有効にした場合は、このポートを開く必要があります。たとえば、私のポートは22251なので、次のコマンドを実行して開きます。
sudo ufw allow 22251
ResilioSynciOSアプリ
Resilio Syncを使用して、Ubuntuデスクトップ、Ubuntuサーバー、iPhone間でファイルを同期しています。 iOSアプリは完全な災害だと言う人もいますが、私はそれが非常にうまく機能していることに気づきました。デフォルトでは、iOSアプリで選択的同期が有効になっています。つまり、個々のファイルは、選択した場合にのみ同期されます。選択的同期を無効にすると、すべてのファイルがすぐに同期されます。
選択的同期を構成する方法
Web UIで、ResilioSyncは選択的同期を通知します はLinuxユーザー向けのプロ機能ですが、実際にはコマンドラインから選択的同期を構成できます。すべての同期フォルダには、非表示の.sync
があります ResilioSyncによって作成されたフォルダー。この隠しフォルダには、IgnoreList
という名前のファイルがあります 、これはUTF-8でエンコードされた.txtファイルであり、同期ジョブ中に無視する単一のファイル、パス、およびルールを指定するのに役立ちます。 「?」に対応および「*」ワイルドカード記号。
たとえば、読み取りモードと書き込みモードでコンピューターAとコンピューターBの間でフォルダーを同期する必要があります。コンピューターBには、コンピューターAと同期したくないファイルが含まれています。そのファイルを無視するために行った手順は次のとおりです。
- コンピューターAのResilioSyncWebUIにフォルダーを追加します。
- これで、コンピューターAには
.sync
があります。 隠しフォルダ。 - そのファイルの名前を
IgnoreList
に追加します コンピュータAであるため、コンピュータBからそのファイルを受信することを拒否します。 - 読み取りおよび書き込みモードでコンピューターBとフォルダーを共有します。
- 同期が完了したら、そのファイルの名前をコンピューターBの
IgnoreList
に追加できます。 そのため、新しいコンピューターが同期に参加した場合、コンピューターBはそのファイルを他のコンピューターと共有しません。
結論
このチュートリアルが、Ubuntu20.04およびUbuntu18.04にResilioSyncをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて🙂