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

- Emportez votre sélection de la MSDN dans la poche ? par Blog de Jérémy Jeanson le il y a 14 heures et 4 minutes

- [ #Office365 ] Pb de connexion du flux Yammer ajouté à un site SharePoint par Le blog de Patrick [MVP SharePoint] le il y a 19 heures et 25 minutes

- NFluent & Data Annotations : coder ses propres assertions par Fathi Bellahcene le il y a 19 heures et 34 minutes

- Installer un site ASP.net 32bits sur un serveur exécutant SharePoint 2013 par Blog de Jérémy Jeanson le 04-17-2014, 06:34

- [ SharePoint Summit 2014 ] Tests de montée en charge SharePoint par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 20:44

- [ SharePoint Summit 2014 ] Bâtir un site web public avec Office 365 par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 18:30

- Kinect + Speech Recognition + Eedomus = Dommy par Aurélien GALTIER le 04-16-2014, 17:17

- [ SharePoint Summit 2014 ] Une méthodologie simple pour concevoir vos applications OOTB SharePoint de A à Z par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 16:51

- //Lean/ - Apprendre à faire des Apps Windows universelles par Blog de Jérémy Jeanson le 04-16-2014, 12:57

- Une culture de la donnée pour tous… par Le blog de Patrick [MVP SharePoint] le 04-16-2014, 11:00