Ce tutoriel vous montrera comment installer Resilio Sync (anciennement BitTorrent Sync ) sur Ubuntu 20.04 et 18.04. Resilio Sync est un outil de partage et de synchronisation de fichiers peer-to-peer gratuit et rapide publié par Resilio, Inc, disponible pour les appareils Linux, FreeBSD, Mac, Windows, Android, iOS, Amazon Kindle Fire et NAS.
Contrairement à Dropbox ou NextCloud, Resilio Sync ne nécessite pas de serveur central pour stocker les fichiers. Au lieu de cela, il vous suffit d'installer Resilio Sync sur les appareils finaux pour synchroniser les fichiers via le protocole BitTorrent, de sorte que vous ne serez pas lié par la limite de stockage d'un serveur.
Installation de Resilio Sync sur Ubuntu 20.04 et Ubuntu 18.04 à partir du référentiel officiel
Resilio Sync a un référentiel pour Ubuntu. Tout d'abord, nous devons importer la clé publique de Resilio Sync afin que le gestionnaire de packages puisse vérifier le package Resilio Sync. Ouvrez une fenêtre de terminal et exécutez la commande suivante pour télécharger la clé publique.
wget http://linux-packages.resilio.com/resilio-sync/key.asc
Importez ensuite la clé publique avec apt-key
.
sudo apt-key add key.asc
Ensuite, exécutez les commandes suivantes pour ajouter le référentiel Resilio Sync. (Le add-apt-repository
La commande est fournie par le software-properties-common
paquet.)
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 et 18.04 mettront automatiquement à jour l'index des packages, vous n'avez donc pas à exécuter manuellement sudo apt update. Installez maintenant le package Resilio Sync avec la commande suivante.
sudo apt install resilio-sync
Une fois installé, Resilio Sync sera automatiquement lancé. Vous pouvez vérifier son statut avec :
systemctl status resilio-sync
Astuce :Appuyez sur Q pour reprendre le contrôle du terminal après avoir exécuté la commande ci-dessus.
S'il ne fonctionne pas, vous pouvez le démarrer avec :
sudo systemctl start resilio-sync
Par défaut, Resilio Sync ne démarre pas au démarrage. Vous pouvez activer le démarrage automatique avec :
sudo systemctl enable resilio-sync
Resilio Sync s'exécute en tant que rslsync
l'utilisateur et l'interface utilisateur Web écoute sur 127.0.0.1:8888
comme spécifié dans /etc/resilio-sync/config.json
fichier de configuration.
Configuration de l'interface utilisateur Web Resilio Sync
La version Linux de Resilio Sync ne fournit pas de client de bureau. Au lieu de cela, vous devez configurer les choses via une interface Web. Tapez ce qui suit dans la barre d'adresse de votre navigateur Web pour accéder à l'interface utilisateur Web Resilio Sync.
127.0.0.1:8888
Si vous installez Resilio Sync sur un serveur Linux distant, vous devez configurer un proxy inverse avec Nginx ou Apache afin d'accéder à l'interface utilisateur Web. Voir la dernière partie de cet article.
Il vous sera demandé de définir un nom d'utilisateur et un mot de passe pour sécuriser l'interface utilisateur Web.
Choisissez ensuite un nom pour votre appareil et cliquez sur Get started
.
Et entrez le nom d'utilisateur et le mot de passe que vous venez de créer.
Une fois connecté, vous pouvez partager un dossier sur votre ordinateur avec d'autres appareils ou recevoir un dossier d'un autre appareil.
Partager des dossiers avec d'autres appareils
Pour partager un dossier sur votre ordinateur, cliquez sur le bouton + dans le coin supérieur gauche et sélectionnez le dossier standard.
Sélectionnez ensuite un dossier sur votre ordinateur.
Vous pouvez rencontrer le message d'erreur suivant.
Can't open the destination folder.
Ou
Don't have permissions to write to selected folder.
C'est parce que Resilio Sync s'exécute en tant que rslsync
utilisateur, qui n'a pas l'autorisation d'accéder à ce dossier.
Disons que vous avez sélectionné votre dossier personnel /home/your-username/
comme dossier partagé. Pour corriger l'erreur ci-dessus, tout ce que vous avez à faire est d'accorder des autorisations sur votre dossier personnel au rslsync
utilisateur avec la commande suivante.
sudo setfacl -R -m "u:rslsync:rwx" /home/your-username
La commande ci-dessus ne changera pas le propriétaire du dossier partagé. Le propriétaire a les mêmes autorisations que d'habitude. Ce qu'il fait est d'accorder des autorisations de lecture, d'écriture et d'exécution à un autre utilisateur, à savoir rslsync
. Notez que -R
le drapeau (récursif) doit venir avant -m
(modifier) drapeau, qui est immédiatement suivi de l'entrée de la liste de contrôle d'accès (u:rslsync:rwx
).
Si vous voyez cette erreur :
sudo: setfacl: command not found
Installez ensuite l'acl
package et relancez le setfacl
ci-dessus commande.
sudo apt install acl
Vous devriez maintenant pouvoir ajouter votre dossier personnel en tant que dossier partagé.
Une fois le dossier ajouté, vous pouvez partager ce dossier via un lien, une clé secrète ou un code QR.
Si le dossier de partage est énorme, il faudra un certain temps à Resilio Sync pour indexer le contenu.
Réception de dossiers depuis d'autres appareils
Pour recevoir un dossier d'un autre appareil, cliquez sur le bouton + dans le coin supérieur gauche et sélectionnez "Entrez une clé ou un lien".
Entrez ensuite la clé ou le lien.
Utilisation de Resilio Sync sur le serveur Ubuntu 20.04, 18.04
Vous pouvez installer Resilio Sync sur les serveurs Ubuntu 20.04 et 18.04 à partir du référentiel mentionné ci-dessus. Si votre serveur se trouve dans le cloud, vous devez configurer un proxy inverse pour accéder à l'interface utilisateur Web, car l'interface utilisateur Web écoute uniquement sur l'hôte local. Une fois le proxy inverse configuré, vous pouvez accéder à l'interface Web via un nom de domaine.
Configuration du proxy inverse Resilio Sync avec Nginx
Nginx devient de plus en plus populaire ces jours-ci en tant que serveur Web et proxy inverse. Installez Nginx sur le serveur Ubuntu 20.04, 18.04 avec la commande suivante.
sudo apt install nginx
Démarrez Nginx et activez le démarrage automatique.
sudo systemctl start nginx sudo systemctl enable nginx
Créez maintenant un fichier d'hôte virtuel pour Resilio Sync.
sudo nano /etc/nginx/conf.d/resilio-sync.conf
Copiez et collez les lignes suivantes dans le fichier. Remplacez resilio.example.com
avec votre vrai nom de domaine. Vous devez également ajouter un enregistrement DNS A pour ce sous-domaine.
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; } }
Enregistrez et fermez ce fichier. Testez ensuite les configurations Nginx.
sudo nginx -t
Si le test réussit, rechargez Nginx.
sudo systemctl reload nginx
Maintenant, dans la barre d'adresse de votre navigateur, saisissez resilio.example.com
et vous devriez pouvoir accéder à l'interface graphique Web.
Configuration du proxy inverse Resilio Sync avec Apache
Apache est un serveur Web bien connu qui peut également être utilisé comme proxy inverse. Si vous préférez Apache à Nginx, installez-le sur le serveur Ubuntu 20.04, 18.04 avec :
sudo apt install apache2
Démarrez Apache et activez le démarrage automatique.
sudo systemctl start apache2 sudo systemctl enable apache2
Pour utiliser Apache comme proxy inverse, nous devons activer le proxy
modules et le module d'en-tête.
sudo a2enmod proxy proxy_http headers proxy_wstunnel
Créez maintenant un fichier d'hôte virtuel pour Resilio Sync.
sudo nano /etc/apache2/sites-available/resilio-sync.conf
Copiez et collez les lignes suivantes dans le fichier. Remplacez resilio.example.com
avec votre vrai nom de domaine. Vous devez également ajouter un enregistrement DNS A pour ce sous-domaine.
<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>
Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.
sudo a2ensite resilio-sync.conf
Redémarrez Apache
sudo systemctl restart apache2
Vous pouvez maintenant accéder à l'interface utilisateur Web via resilio.example.com
.
Sécuriser l'interface graphique Web Resilio Sync avec HTTPS
Pour chiffrer le trafic HTTP lorsque vous visitez l'interface utilisateur Web Resilio Sync via un nom de domaine, nous pouvons activer HTTPS en installant un certificat TLS gratuit émis par Let's Encrypt. Exécutez la commande suivante pour installer le client Let's Encrypt (certbot) sur le serveur Ubuntu 20.04, 18.04.
sudo apt install certbot
Si vous utilisez Nginx, vous devez également installer le plugin Certbot Nginx.
sudo apt install python3-certbot-nginx
Ensuite, exécutez la commande suivante pour obtenir et installer le certificat TLS.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d resilio.example.com
Si vous utilisez Apache, installez le plugin Certbot Apache.
sudo apt install python3-certbot-apache
Et exécutez cette commande pour obtenir et installer le certificat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d resilio.example.com
Où
--nginx
:Utilisez le plug-in nginx.--apache
:Utilisez le plug-in Apache.--agree-tos
:acceptez les conditions d'utilisation.--redirect
:Forcer HTTPS par redirection 301.--hsts
: ajoutez l'en-tête Strict-Transport-Security à chaque réponse HTTP. Forcer le navigateur à toujours utiliser TLS pour le domaine. Protège contre le SSL/TLS Stripping.--staple-ocsp
: Active l'agrafage OCSP. Une réponse OCSP valide est agrafée au certificat que le serveur propose pendant TLS.
Le certificat devrait maintenant être obtenu et installé automatiquement.
Et vous pouvez accéder à l'interface utilisateur Web Resilio Sync via HTTPS (https://resilio.example.com
).
Ouvrir le port de synchronisation Resilio dans le pare-feu
En plus du port Web UI, Resilio Sync doit également écouter sur l'interface publique pour se connecter à des pairs. Le port d'écoute est différent pour chaque appareil. Vous pouvez le trouver dans Resilio Sync Web UI en allant dans Préférences -> Avancé .
Si vous avez activé le pare-feu UFW sur votre serveur Ubuntu, vous devez ouvrir ce port. Par exemple, mon port est 22251, j'exécute donc la commande suivante pour l'ouvrir.
sudo ufw allow 22251
Application iOS Resilio Sync
J'utilise Resilio Sync pour synchroniser des fichiers entre mon bureau Ubuntu, mon serveur Ubuntu et mon iPhone. Certains disent que l'application iOS est un désastre complet, mais j'ai trouvé qu'elle fonctionnait très bien. Par défaut, la synchronisation sélective est activée dans l'application iOS. Cela signifie que les fichiers individuels ne seront synchronisés que lorsque vous le souhaitez. Si vous désactivez la synchronisation sélective, tous les fichiers seront synchronisés immédiatement.
Comment configurer la synchronisation sélective
Dans l'interface utilisateur Web, Resilio Sync vous indique que la synchronisation sélective est une fonctionnalité professionnelle pour les utilisateurs de Linux, mais en fait, nous pouvons configurer la synchronisation sélective à partir de la ligne de commande. Chaque dossier de synchronisation a un .sync
caché dossier créé par Resilio Sync. Dans ce dossier caché, il y a un fichier nommé IgnoreList
, qui est un fichier .txt encodé en UTF-8 qui vous aide à spécifier des fichiers uniques, des chemins et des règles à ignorer lors de la tâche de synchronisation. Elle supporte "?" et "*" symboles génériques.
Par exemple, j'ai besoin de synchroniser un dossier entre les ordinateurs A et B en mode lecture et écriture. L'ordinateur B contient un fichier que je ne souhaite pas synchroniser avec l'ordinateur A. Voici les étapes que j'ai suivies pour ignorer ce fichier.
- J'ajoute le dossier dans l'interface utilisateur Web Resilio Sync de l'ordinateur A.
- Maintenant, l'ordinateur A a un
.sync
dossier caché. - J'ajoute le nom de ce fichier dans
IgnoreList
sur l'ordinateur A, il refusera donc de recevoir ce fichier de l'ordinateur B. - Partagez le dossier avec l'ordinateur B en mode lecture et écriture.
- Une fois la synchronisation terminée, je peux ajouter le nom de ce fichier dans la
IgnoreList
de l'ordinateur B , ainsi l'ordinateur B ne partagera pas ce fichier avec d'autres ordinateurs si un nouvel ordinateur rejoint la synchronisation.
Conclusion
J'espère que ce tutoriel vous a aidé à installer Resilio Sync sur Ubuntu 20.04 et Ubuntu 18.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite pour obtenir plus de conseils et astuces. Prenez soin de vous 🙂