このチュートリアルでは、 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をインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて🙂