[Tuto] TorrentFlux : le client BitTorrent PHP, créez votre SeedBox
Après une disparition de 3 mois en raison d’une fin d’année scolaire surchargée par des partielles et des projets à terminés, et un début de stage d’été extrêmement difficile (changement de planning au dernier moment et recherche de stage dans l’urgence), je reviens avec des nouveaux tutos.
Aujourd’hui je vais poster un tuto sur la mise en place de TorrentFlux. Après avoir lu ce tuto, vous serez normalement capable de mettre en place votre propre seedbox.
Avant de commencer, il convient d’expliquer ce qu’est TorrentFlux, à savoir: une interface web de gestion de téléchargement BitTorrent pour le client BitTornado. TorrentFlux est particulièrement adapté à la mise en place sur un serveur distant ne disposant pas d’interface graphique. En effet, le fait de disposer de l’interface web permet une gestion simple et efficace des téléchargements. En plus d’être pratique, TorrentFlux (TF) est extrêmement complet: vous pourrez créer différents comptes, intégrer des flux RSS de torrent, lancer des recherches de fichiers torrent directement depuis l’interface. De plus, un plugin FireFox permet de lancer un téléchargement de fichier directement depuis le web grâce à une option dans le menu du click droit.
Pour mettre en place votre SeedBox, vous allez utiliser:
- Une architecture LAMP (Linux + Apache + MySQL + PHP). Dans mon cas j’utilise Debian 5 + Apache HTTP Server 2.2 + MySQL 5.1 + PHP5.
- Les sources TorrentFlux disponible sur le site officiel (http://www.torrentflux.com/)
- Ce tuto
En option:
- Le plugin firefox qui va bien avec
. Lui aussi est disponible sur le site officiel (http://www.torrentflux.com/addons.php)
Eh bien c’est partie, commençons les hostilités !
1) Connectez vous avec le compte root à votre serveur.
2) Créer un dossier torrentflux dans /var/www puis positionnez vous à son niveau:
mkdir /var/www/torrentflux cd /var/www/torrentflux
3) Il faut maintenant télécharger les sources:
wget http://downloads.sourceforge.net/project/torrentflux/torrentflux/TorrentFlux%202.4/torrentflux_2.4.tar.gz
4) Puis on décompresse l’archive:
tar -xvf torrentflux_2.4.tar.gz
5) Vous obtiendrez un dossier, au nom de l’archive contenant l’archive décompressée (torrentflux_2.4). Il va donc falloir la déplacer les fichiers et dossier vers le répertoire supérieur. Pour cela:
cd torrentflux_2.4 mv * ../ cd ../ rm -r torrentflux_2.4 torrentflux_2.4.tar.gz
Trois dossiers se trouve à la racine de votre répertoire:
-
- html
- sql
- updates
Dans sql/ vous trouverez le dump permettant de mettre en place la base de données nécessaire au fonctionnement. Dans html/, vous trouverez les fichiers de l’interface web. Quand à updates/, vous pouvez le supprimer. Il ne sert qu’à mettre à jour une installation préexistante.
6) Commençons par le dump de la base de donnée. Je vous conseil d’utiliser PHPMyAdmin si vous êtes encore pu à l’aise avec MySQL en ligne de commande. Pour les autres on la joue ligne de commande depuis SSH. On va d’abord entrer dans MySQL:
mysql -u nom_d_utilisateur -p (tapez votre mot de passe à la demande)
7) Vous êtes dans MySQL, saisissez les commandes suivante pour créer la base de données, l’utilisateur qui y accèdera, puis quitter MySQL:
mysql > CREATE DATABASE torrentflux; mysql > GRANT ALL PRIVILEGES ON torrentflux.* TO 'torrentflux'@'localhost' IDENTIFIED BY 'MDPTOPSECRET' WITH GRANT OPTION; mysql > exit;
8 ) Importons maintenant notre fameuse base de données! Pour cela:
mysql -u nom_d_utilisateur -pVotreMotDePasse torrentflux < /var/www/torrentflux/sql/mysql_torrentflux.sql
9) Voilà ! Votre base de données est créée. Vous pouvez maintenant supprimer le dossier sql/, et par la même updates/ si ce n’est pas encore fait. Pour cela:
rm -r /var/www/torrentflux/sql /var/www/torrentflux/update
Nous allons maintenant configurer le fichier config.php du dossier html/. C’est grâce à ce fichier que TorrentFlux saura où est la base, comment y accéder, etc.
10) Ouvrons notre fichier config.php avec notre éditeur préféré (vous l’aurez tous reconnu… VIM ! )
vim /var/www/torrentflux/html/config.php
11) Il faut maintenant renseigner plusieurs parties avant de sauvegarder et de quitter:
$cfg["db_host"] = "localhost"; // DB host computer name or IP $cfg["db_name"] = "torrentflux"; // Name of the Database $cfg["db_user"] = "torrentflux"; // username for your MySQL database $cfg["db_pass"] = "MDPTOPSECRET"; // password for database
12) Tout est maintenant configurer, il ne reste plus qu’à placer le contenu du dossier html dans le dossier supérieur:
cd /var/www/torrentflux/html mv * ../
13) Vous pouvez accéder à votre interface web en tapant dans votre navigateur: http://[IPduServeur]/torrentflux/. Vous allez saisir un nom d’utilisateur et un mot de passe. Il s’agira du compte admin. Voilà c’est terminé….
…ou presque !
Un dernier conseil pratique:
Pour télécharger vos documents, vous pouvez le faire directement depuis l’interface. Cependant, si comme moi, vous utilisé des gestionnaires de téléchargement, la protection par mot de passe peut être handicapante. Pour cela créer un lien symbolique entre votre dossier contenant les fichiers téléchargés et /var/www:
ln -s /var/www/torrentflux/downloads/ /var/www/downloads
Je reviens bientôt (pour de vrai) pour un nouveau tuto ! En attendant, vous pouvez télécharger ce tuto en PDF grâce à l’option un peu plus bas. Si vous avez des remarques, des questions ou des difficultés, laissez un commentaire, j’y répondrai avec plaisir et cela aidera surement d’autres personnes.
Edit: On pousse le tuto plus loins en créant des VirtualHosts pour Downloads et TF
Version Imprimable de l'article
Télécharger au format PDF
Faire un rétrolien
Récupérer un lien permanent vers cet article
S'aboner aux flux RSS du blog
Yop,
Si tu ne veux pas laisser ouvert le port 80 pour gérer via le net tes torrents mais que tu veux quand meme pouvoir le faire, le tunneling ssh peut etre sympa, de tete ca donne un truc comme ca:
ssh -L 1337:localhost:80 user@tonip
Ensuite dans un navigateur http://localhost:1337
Flo.
Super idée Flo ! Je vais essayer d’ajouter ça au tuto. Je pourrais aussi ajouter le filtrage d’IP. Bon je vais voir ça ce soir :p.
Pour ma part, je peux pas faire ça étant donné que j’offre un accès à des amis.
Je me permet aussi de mettre un lien vers http://www.madrouter.com dans ma barre des liens.
J’utilisais Torrentflux + Tunnel SSH quand j’avais encore mon serveur chez moi !
Et c’etait bien pratique.
Je suis pas trop torrent tout ça mais je confirme que pour le tunneling :
ssh -L destination:1337:source:80 user@source
J’ai fait pas mal de tunneling avec mon iPhone (pendant la SCTA) pour avoir du net sur mon mac par exemple grâce à l’iphone jailbreaké et un serveur externe donc un truc du genre :
mais l’iPhone chauffait pas mal
ssh -L ipdumac:port:serveur_sur_le_net:port user@iphone
Du coup j’avais un proxy en local et j’avais tout
Tiens au passage ton serveur n’est pas a l’heure il est 1h40 et non 0h40
++
Eh oui, ayant un Nokia E71, avec une coque principalement en métal, je sais qu’utiliser ce genre d’outil fais chauffer l’appareil. Personnellement ça m’est arrivé en l’utilisant en tant que hotspot wifi (http://guillaume.lesur.net/2009/01/et-si-mon-telephone-faisait-au.html). Il chauffait tellement qu’il rebootait. La solution: le mettre dans un sachet type ziplock étanche et mettre le mobile dans un bol d’eau froide. C’est du « water cooling » pour de vrai !
PS:En fait l’heure du serveur doit être bonne (c’est un hébergement mutualisé), mais les paramètres de mon WordPress étaient mauvais. Merci de la remarque