Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Matthieu Napoli

blog technique

[NSLU2] Installer un client pour Torrents (TorrentFlux)

Bonjour à tous,

Toujours dans la série NSLU2 (machine embarquée tournant sous Linux, et pouvant faire office de serveur pour 50 euros), voici un petit How-To pour installer un client pour torrents. Il s'agit d'un condensé de différentes sources, au fil des difficultés que j'ai rencontré.

TorrentFlux est un client torrent dont l'interface est une page web utilisant PHP. Les avantages de cette installation sont multiples : le serveur tourne 24/24, donc pas besoin d'avoir son ordinateur allumé pour télécharger, l'interface est accessible depuis internet (pour peu que vous ayez configuré votre routeur) et les fichiers téléchargés sont disponibles à travers le réseau (car téléchargés sur le serveur).

Le principe : l'interface PHP et SQL (sqlite) permet de lancer et voir l'état des torrents (très détaillé et ergonomique), et le script qui réalise le téléchargement proprement dit est en python.

Voici les étapes de l'installation de torrentflux sur un NSLU2 tournant sous Debian.

Installer les packages nécessaires

$ apt-get install lighttpd php5-cgi sqlite php5-sqlite

Récupérer TorrentFlux

$ cd /tmp
$ wget http://www.torrentflux.com/torrentflux_2.3.tar.gz
$ tar -xvzf torrentflux_2.3.tar.gz

Créer la base de données

$ cd /tmp/torrentflux_2.3/sql
$ wget http://homepage.ntlworld.com/cyborgsystems/CS_Main/NSLU2/torrentflux/sqlite_torrentflux.sql
$ mkdir /www-database
$ chown www-data /www-database
$ sqlite /www-database/torrentflux.db < sqlite_torrentflux.sql
$ chown www-data /www-database/torrentflux.db
$ chmod 777 /www-database/torrentflux.db

La base de données doit être accessible en écriture pour sqlite (qui s'exécutera sous l'utilisateur www-data). Elle doit également se trouver dans un répertoire possédé par www-data, c'est pourquoi ici nous créons /www-database/ (sinon on obtiens des erreurs à l'exécution du script PHP).

Configurer Lighttpd

$ nano /etc/lighttpd.conf
        modifier la ligne :
        fastcgi.server = ( ".php" => ((
                    "bin-path" => "/usr/bin/php5-cgi",
                    "socket" => "/tmp/php.socket" )))

Configurer TorrentFlux

$ mkdir /var/www/torrentflux
$ cp -R /tmp/torrentflux_2.3/html/. /var/www/torrentflux/.
$ nano /var/www/torrentflux/config.php
        Modifier db_type : $cfg["db_type"] = "sqlite";
        Modifier db_host : $cfg["db_host"] = "/www-database/torrentflux.db";

Correction d'erreurs

D'après un post du forum de TorrentFlux, voici quelques corrections à apporter au code :
Fichier functions.php : fonction startQManager : ligne 2212
remplacer :
  $btphp = "'" . $cmd1. "; HOME=".$cfg["path"]."; export HOME; nohup " . $pyCmd . " " .$cfg["btphpbin"] . " '";
par :
  $btphp = "\"'" . $cmd1. "; HOME=".$cfg["path"]."; export HOME; nohup " . $pyCmd . " " .$cfg["btphpbin"] . " '\"";
Fichier index.php : ligne 254
remplacer :
  $command .= " ".escapeshellarg($cfg["cmd_options"])." > /dev/null &";
par :
  $x = explode(" ",$cfg["cmd_options"]);
  foreach ($x as $y)
      $command .= " ".escapeshellarg($y);
  $command .= " > /dev/null &";

Première utilisation

Ouvrez la page http://adresse-ip/torrentflux/. À la première connexion, l'utilisateur sera créé. Pensez bien à modifier la configuration (lien "edit settings") et à controler que tous les icones soient verts (les scripts python se trouvent dans le dossier /var/www/torrentflux/).

Pensez également à supprimer les fichiers temporaires (dans /tmp).

Après une première utilisation, cela a l'air de bien fonctionner. L'interface est vraiment sympa, et si vous configurez votre routeur, vous pourrez y accéder depuis internet (à condition de connaitre l'adresse IP internet de votre NSLU2).

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: dimanche 17 mai 2009 23:05 par MadMatt

Commentaires

ROMELARD Fabrice a dit :

Intéressant, mais vraiment pas conseillé pour les résidents sur le territoire français avec la nouvelle loi qui est en cours de mise en place :)

Fabrice

# mai 18, 2009 10:27

MadMatt a dit :

Ah oui bien entendu j'ai oublié de préciser que cela me sert uniquement pour télécharger des iso d'installation de linux ;)

Les torrents en soit ne sont pas illégaux (heureusement ^^)

# mai 18, 2009 11:34
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Technofolies, votre évènement numérique de l'année par Le Blog (Vert) d'Arnaud JUND le 09-26-2014, 18:40

- Xamarin : From Zero to Hero par Fathi Bellahcene le 09-24-2014, 17:35

- Conférences d’Automne 2014 par Le blog de Patrick [MVP SharePoint] le 09-24-2014, 14:53

- [TFS] Supprimer un projet de Visual Studio Online par Blog de Jérémy Jeanson le 09-22-2014, 20:42

- Nouveau blog en anglais / New blog in english ! par Le blog de Patrick [MVP SharePoint] le 09-18-2014, 18:42

- [ #Yammer ] From Mailbox to Yammer and back / De votre messagerie vers Yammer et retour ! par Le blog de Patrick [MVP SharePoint] le 09-15-2014, 11:31

- [ #Office 365 ] New service settings panel / Nouveau panneau de paramétrage des services par Le blog de Patrick [MVP SharePoint] le 09-11-2014, 08:50

- Problème de déploiement pour une démo SharePoint/TFS? par Blog de Jérémy Jeanson le 09-10-2014, 21:52

- [ #Office365 ] Delve first impressions / Premières impressions sur Delve par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 16:57

- [ #Office365 ] How to change Administration console language ? / Comment changer la langue de la console d’administration ? par Le blog de Patrick [MVP SharePoint] le 09-09-2014, 08:25