Installer BitTorrent Sync proprement

Article soumis et rédigé par PYM.

BitTorrent Sync logo

Quand le monde est décentralisé…

Bonjour,

BitTorrent Sync, la dernière petite trouvaille des Labs de BitTorrent, a débarqué il y a quelques jours. Bon, je sais ce n’est pas libre, ni même open source, mais par contre j’ai tout de suite pensé que ça pourrait permettre de se passer de l’architecture ultra centralisée (et souvent limitée en taille et payante) de Dropbox, UbuntuOne, GoogleDrive et consors… mais pour cela, encore faut-il pouvoir installer proprement l’animal sous linux…

En effet, sous MacOS et sous Windows, l’installation est simple et permet d’avoir un joli logiciel qui tourne en tâche de fond et que vous pouvez appeler depuis votre barre de tâche. Pour nous, amis libristes, c’est un peu plus technique : on nous fournit un exécutable et une doc. Alors ça marche, on peut bidouiller avec mais ce n’est clairement pas optimal.

Pourquoi ? Tout simplement parce qu’un programme de partage de fichiers qui ne tourne que quand on le lance explicitement… C’est très peu utile car il doit pouvoir partager tant que notre machine est allumée. Et puis, en plus, comment gérer le fait que nos ordis modernes sont souvent utilisés par plusieurs personnes ? On ne partage que quand on est connecté ? Non, non, non, on va profiter de tout le temps d’allumage de la bête ! Et ça sans problème de droit ni rien, une fois l’installation terminée ! Notre objectif va être d’obtenir un système aussi simple de fonctionnement qu’une Dropbox !

Pour cela, il va nous falloir 3 fichiers :

  • btsync : l’exécutable de BitTorrent Sync
  • btsync : le script de lancement du service (qui porte le même nom que l’exécutable et c’est normal)
  • config.json : le fichier de configuration de l’exécutable

Comme il y a 2 fichiers de même nom, pour ne pas s’emmêler les pinceaux, on va faire un fichier après l’autre. Commençons donc par l’éxécutable…

Il faut aller le chercher sur le site de Bittorrent Sync. Moi, j’ai pris la version i386 toute simple que j’ai enregistrée dans /tmp. On va ensuite l’extraire, le placer à sa juste place dans /usr/bin/ puis on va lui donner un propriétaire et des droits conformes à son emplacement :


cd /tmp
tar -xvf btsync_i386.tar.gz
sudo mv btsync /usr/bin
sudo chown root:root /usr/bin/btsync
sudo chmod 755 /usr/bin/btsync

Occupons-nous maintenant du script qui permettra de lancer le service. J’ai choisi d’utiliser un script System-V plutôt qu’Upstart pour rendre ce service moins ubuntu spécifique… Amis debianiens, amusez-vous aussi avec ! En fait, j’ai repris et à peine modifié un script de MendelGusmao. Son avantage est qu’il permet de lancer le service avec votre utilisateur et donc il évite plein de problèmes de droits… Chaque utilisateur lancera son propre service et aura son propre fichier de configuration et ses propres partages et encore mieux que pour Dropbox : même si vous n’êtes pas loggé, votre ordi pourra continuer à « sourcer ».

Commençons par récupérer le script, le placer à l’emplacement des script System-V à savoir /etc/init.d/ et une fois de plus, lui donner un propriétaire et des droits conformes à cet emplacement :


wget https://www.dropbox.com/s/rzs6sv3a2f8llx8/btsync
sudo mv btsync /etc/init.d
sudo chown root:root /etc/init.d/btsync
sudo chmod 755 /etc/init.d/btsync

Maintenant, il va falloir adapter ce script pour VOTRE configuration.


gksudo gedit /etc/init.d/btsync

Il faut juste au début, dans la variable BTSYNC_USERS à la 4ème ligne, mettre tous les noms d’utilisateurs pour qui on veut lancer le service… séparés par des espaces (c’est important !Ne mettez pas de virgules !). Bon, le cas le plus fréquent c’est qu’il n’y en a qu’un seul, par exemple MON_UTILISATEUR je mettrais donc :


BTSYNC_USERS="MON_UTILISATEUR"

Mais si je partage mon ordi avec ma sœur et ma copine, qui ont respectivement un compte sous le nom FRANGINE et LA_PLUS_BELLE, et qu’elles veulent aussi utiliser BitTorrent Sync alors je mettrais :


BTSYNC_USERS="MON_UTILISATEUR FRANGINE LA_PLUS_BELLE"

Dans tous les cas, ne touchez pas au reste (mais vous pouvez le lire MendelGusmao a fait du bon boulot !) et sauvegardez.

Occupons-nous enfin du fichier de configuration. Celui-là, il va falloir le copier chez chaque utilisateur que vous avez mis dans le script précédent et l’adapter pour chacun d’eux… Moi, je vais le faire pour l’utilisateur MON_UTILISATEUR, vous, vous remplacerez ça par le nom de l’utilisateur concerné. Nous allons donc le récupérer, créer un répertoire de configuration standard pour BitTorrent Sync dans le répertoire de l’utilisateur /home/MON_UTILISATEUR/.config/btsync/, y déplacer notre script et bien sûr, une fois encore nous occuper du propriétaire et des droits (pour une fois pas root mais bien l’utilisateur lui-même) pour notre nouveau répertoire :


wget https://www.dropbox.com/s/swva5i79q6tk6tc/config.json
mkdir /home/MON_UTILISATEUR/.config/btsync
sudo mv config.json /home/MON_UTILISATEUR/.config/btsync/
sudo chown -R MON_UTILISATEUR:MON_UTILISATEUR /home/MON_UTILISATEUR/.config/btsync
sudo chown -R 700 /home/MON_UTILISATEUR/.config/btsync

Occupons-nous enfin de la configuration de ce fichier de configuration :


gksudo gedit /home/MON_UTILISATEUR/.config/btsync/config.json

Là, il y a plusieurs ligne à modifier, voyons-les une par une. Tout d’abord, mettez le nom de votre machine ici (pour pouvoir s’y retrouver plus tard… histoire de savoir qui partage quoi) :

« device_name »: « LE_NOM_DE_MA_MACHINE »,

…puis remplacez MON_UTILISATEUR ici :

« storage_path » : « /home/MON_UTILISATEUR/.config/btsync »,

…ensuite si vous avez plusieurs utilisateurs, mettez un numéro de port différent pour chaque utilisateur ici (si vous n’en avez qu’un seul, laisser 8888) :

« listen » : « 0.0.0.0:8888″,

…fixez un login et un mot de passe qui permettra d’accéder à l’interface web :

« login » : « MON_UTILISATEUR »,
« password » : « LE_MOT_DE_PASSE_QUE_VOUS_VOULEZ »

C’est tout vous pouvez sauvegarder le fichier… et répétez l’opération pour chaque utilisateur (juste la partie du fichier de configuration !!!).

Il ne reste plus qu’à installer le service :


sudo update-rc.d btsync defaults

Là, il va vous répondre quelque chose comme ça :

update-rc.d: warning: /etc/init.d/btsync missing LSB information
update-rc.d: see
Adding system startup for /etc/init.d/btsync …
/etc/rc0.d/K20btsync -> ../init.d/btsync
/etc/rc1.d/K20btsync -> ../init.d/btsync
/etc/rc6.d/K20btsync -> ../init.d/btsync
/etc/rc2.d/S20btsync -> ../init.d/btsync
/etc/rc3.d/S20btsync -> ../init.d/btsync
/etc/rc4.d/S20btsync -> ../init.d/btsync
/etc/rc5.d/S20btsync -> ../init.d/btsync

…c’est pas des insultes, ça veut dire que tout se passe bien. Maintenant, on lance le service (ça le lance pour tous les utilisateurs) :


sudo /etc/init.d/btsync start

…et si tout se passe bien, il va vous répondre « Starting BTSync for MON_UTILISATEUR » éventuellement plusieurs fois si vous avez configuré plus d’utilisateurs. Et maintenant, on vérifie que ça fonctionne bien en allant dans notre navigateur préféré et en y entrant l’adresse qui va bien : http://ADRESSE_ORDI:PORT/gui/

L’adresse de l’ordi est évidemment localhost si vous avez installé tout ça sur la machine où vous naviguez. Et le port est celui que vous avez mis pour l’utilisateur auquel vous voulez vous connecter (8888 si vous n’avez qu’un seul utilisateur). On va vous demander un loggin et un mot de passe… c’est ceux que vous avez mis dans le fichier de config de l’utilisateur concerné ! Et si tout se passe bien vous aurez une belle page (hum hum monsieur BitTorrent faite un effort pour les prochaines versions pliiiiiz de ce côté-là !) comme celle-là :

Si tout s’est bien passé, vous devriez voir cette jolie page :

À partir de là, c’est à vous de vous amuser avec ce logiciel génial… Comment ? Pour ça, je vous renvoie vers la doc officielle de BitTorrent Sync.

Comme vous le voyez, cette installation est un peu longue mais je fais confiance aux petits gars de BitTorrent Lab pour bientôt nous fournir une vraie installation officielle pour linux (un .deb, un PPA, un .rpm même…). Mais, j’ai essayé d’écrire tout ça pour que tout le monde comprenne bien comment ça marche point par point. L’étape suivante, c’est d’installer tout ça sur ses différentes machines de manière à avoir toutes les fonctionnalités d’un service centralisé… mais ça c’est pour un prochain article !

Et si au final, cela ne marche pas ou que cela ne vous plaît pas, voilà comment tout remettre comme avant :


sudo /etc/init.d/btsync stop

Puis, pour chaque utilisateur que vous avez modifié :


sudo rm -r /home/MON_UTILISATEUR/.config/btsync

Et enfin, pour supprimer le service puis l’exécutable (j’ai mis des rm -i car quand on nettoie dans ces répertoires-là, c’est mieux de demander une confirmation ! Donc si vous êtes sûr, répondez o comme oui sinon n comme non):


sudo rm -i /etc/init.d/btsync
sudo update-rc.d btsync remove
sudo rm -i /usr/bin/btsync

Quelques sources qui m’ont été utiles :

Amusez-vous bien.

PYM.

flattr this!

Vus : 4043
Publié par La vache libre : 587