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

- Conf’SharePoint : 10 bonnes raisons pour ne pas la rater par Le petit blog de Pierre / Pierre's little blog le 05-14-2013, 02:24

- [Event] Soirée de lancement Agile .NET France à Lyon par Blog Agile/ALM de Vincent THAVONEKHAM le 05-13-2013, 01:29

- .NET / Debug : inspection de la mémoire d'applications .NET (dump ou processus live) : première livraison d'une librairie .NET par Microsoft par CoqBlog le 05-11-2013, 22:21

- SharePoint : Incompatibilité avec Internet Explorer 10 (IE10) par Blog Technique de Romelard Fabrice le 05-08-2013, 16:29

- AutoSPInstaller pour SharePoint 2013 maintenant disponible en “RTM” par Julien Chable le 05-06-2013, 23:30

- [TFS2010] A la recherche du Shelveset perdu par Blog de Jérémy Jeanson le 05-03-2013, 21:46

- .NET / Debug post-mortem : obtenir le fichier mscordacwks.dll correspondant à un dump quand on n'a plus d'accès direct à ce fichier par CoqBlog le 04-28-2013, 19:57

- [W8] Afficher un graphe par CPU dans le gestionnaire des tâches par Blog de Jérémy Jeanson le 04-28-2013, 17:48

- [WCF] Limiter proprement l’accès à vos ressources serveur par Blog de Jérémy Jeanson le 04-26-2013, 22:59

- Event : Je serai speaker à la Conf’SharePoint par Blog Technique de Romelard Fabrice le 04-26-2013, 12:00