Installer et configurer Deluge sous Debian Squeeze

Je me dépêche de rédiger cet article pendant que c’est encore frais. En effet, j’ai eu l’occasion de réinstaller cet après-midi Deluge, j’en profite donc pour vous faire part de la manière dont je l’ai installé et configuré. Attention, je tiens à préciser que je n’ai pas des connaissances extraordinaires en administration système, et qu’il existe peut-être une meilleur façon de procéder.
Deluge, donc. Si tu es curieux ou dissipé, tu auras déjà cliqué sur le lien pour te renseigner par toi même. Pour les autres (ne vous inquiétiez pas, il n’y a pas de honte, au contraire vous êtes attentif !), Deluge est un client bittorrent de plus en plus populaire. Sa popularité est en grande partie dû à son interface web. En effet, vous pouvez installer et faire tourner Deluge sur votre serveur en l’utilisant uniquement via votre navigateur. Le reste de ce billet concerne l’installation, la configuration et la sécurisation du daemon ainsi que de son interface web, sous Debian Squeeze, en lignes de commandes.

1/ Installation du daemon et de l’interface web

Contrairement à la précédente version de Debian, Lenny, on peut trouver les paquets dont nous avons besoin directement dans Squeeze. Nous allons cependant utiliser un autre dépôt, celui d’Ubuntu, pour récupérer une version plus à jour que celle qui nous ait proposée par défaut.
La documentation officielle détaille deux méthodes pour installer la dernière version. J’ai personnellement opté pour les paquets Ubuntu car j’utilise la version logicielle de Deluge sous Ubuntu, et que lorsque le client logiciel et le daemon n’ont pas la même version des bugs apparaissent (disparition de la liste des torrents sous le logiciel).

Comme dit dans la doc, on va rajouter nos nouveaux dépôts dans notre sources.list :

nano /etc/apt/sources.list
deb http://ppa.launchpad.net/ferramroberto/linuxfreedomlucid/ubuntu lucid main
deb-src http://ppa.launchpad.net/ferramroberto/linuxfreedomlucid/ubuntu lucid main

On récupère et ajoute la clé de vérification du dépôt pour vérifier les paquets téléchargés :

apt-key adv --recv-keys --keyserver pgp.surfnet.nl 249AD24C

On rafraichit apt :

apt-get update

Puis on installe finalement les paquets voulus :

apt-get install -t lucid deluge-common deluged deluge-web

Cette étape n’est rien de plus qu’un copié/collé de la documentation officielle.

2/ Lancement du daemon

Pour assurer le plus de sécurité possible, nous allons créer un utilisateur spécifique pour lancer Deluge :

adduser deluge

Normalement le répertoire de configuration de Deluge se trouve dans le /home de l’utilisateur l’ayant installé. Nous allons déplacer ce dossier vers le /home de notre nouvel utilisateur :

cp -R ~/.config /home/deluge

On change ensuite d’utilisateur pour lancer le daemon :

su deluge
deluged

Ca y est, Deluge tourne maintenant sur votre serveur. Si vous voulez l’essayer ou même l’utiliser sans poursuivre le reste de ce tutorial, il vous suffit, toujours avec l’utilisateur « deluge », de lancer l’interface web :

deluge-web

Rendez-vous ensuite à l’adresse de votre serveur, suivie du port par défaut : 8112.
Par exemple : http://url.com:8112
Un mot de passe vous est alors demandé, celui par défaut est « deluge ». Il vous est vivement conseillé de le changer.

Comme vous l’avez peut-être constaté deluge-web ne tourne pas en tâche de fond, et si vous fermez votre terminal le serveur se coupe. Il existe plusieurs solutions pour remédier à ce problème. Les plus simples et rapides sont le fork et le screen, mais nous allons aborder une autre solution, bien plus propre.

3/ Configuration du module web, WebUI

Si vous explorez les différentes options de l’interface web, vous remarquerez peut-être la possibilité d’installer et d’activer des modules. Le module qui nous intéresse se nomme « WebUI », et permet de se passer de deluge-web. Seulement voilà, les modules ne sont pas activables via l’interface web, mais via un client physique.
Un des autres grandes forces de Deluge est que vous pouvez vous connecter, via le logiciel, directement sur votre serveur, en y voyant la liste des fichiers qui sont actifs, et le débit montant et descendant non pas de votre connexion mais bien du serveur. Ainsi, vous pouvez non seulement ajouter des torrents via l’interface web, mais vous pouvez aussi en ajouter directement via le logiciel, tout en laissant le serveur le télécharger. Bandant n’est-ce pas ?

La documentation officielle propose là aussi deux méthodes pour se connecter au serveur via le client. Nous allons opter pour la méthode avec « tunneling ssh », qui est de loin la plus sécurisée.

Toujours en étant connecté sous « deluge », nous allons ajouter un utilisateur ayant le droit de se connecter au serveur :

echo "pseudo:motdepasse:10" >> ~/.config/deluge/auth

On arrête puis relance le daemon :

killall deluged
deluged

La configuration côté serveur s’arrête là, passons donc côté client.
Nous allons tout d’abord créer notre connexion au serveur via tunnel SSH. J’ai réalisé cette étape sous Ubuntu. Vous pouvez aussi utiliser Putty (urlputty) sous Windows pour faire la même chose, mais en tant que gros noob je n’ai jamais réussi à le faire fonctionner…

ssh -fNL 127.0.0.2:58846:localhost:58846 IP_DU_SERVEUR

Maintenant, en partant du principe que vous avez la dernière version du client GTK installé, voici la marche à suivre :

  1. Lancer le client.
  2. « Preferences -> Interface », décocher « Enable » sous « Classic Mode ».
  3. Relancer Deluge, un gestionnaire de connexion devrait apparaître.
  4. Supprimer la ligne existante (localhost).
  5. Cliquer sur « Add », entrer 127.0.0.2 pour l’adresse du serveur, laissez le port par défaut puis entrer le pseudo et mot de passe définis un peu plus haut.
  6. Cliquer sur « Add », un point vert devrait se situer sur le côté gauche de la ligne nouvellement ajoutée.
  7. Cliquer sur « Connect ».
  8. Vous êtes maintenant connecté à votre serveur.

La seule raison pour laquelle j’utilise le client logiciel est pour configurer le daemon.
On clique sur le bouton « Preferences », rendez-vous dans « Modules » et on coche « WebUI ».
Deluge est maintenant pleinement utilisable, mais nous allons encore le configurer un peu.

4/ Sécuriser WebUI

Cette étape consiste à sécuriser notre installation.
Nous allons activer https et à désactiver http de manière à se connecter de façon sécurité à l’interface web et par la même occasion changer le port de l’interface. Ici je pars de principe que SSL est déjà activé sur votre serveur Debian.
Toujours dans les préférences de Deluge, cliquez sur « WebUI » :

  1. Changer le port par celui de votre choix.
  2. Cochez « Activate SSL ».
  3. Validez puis fermer le client.

De retour sur la console d’admin de Debian, nous générons le certificat SSL :

killall deluged
cd /home/deluge/.config/deluge
mkdir ssl (si le dossier n'existe pas déjà)
cd
openssl req -new -x509 -nodes -out deluge.cert.pem -keyout deluge.key.pem

Une fois le certificat créé il ne reste plus qu’à spécifier son chemin dans la configuration du module WebUI :
cd ..
nano web.conf

Recherchez l’attribut « pkey » et affectez lui cette valeur : « ssl/deluge.key.pem ». Pareil avec l’attribut « cert » et cette valeur : « ssl/deluge.cert.pem ». Si l’attribut « https » n’est pas déjà à « true » on le change.

deluged

Votre Deluge est maintenant sécurisé.

5/ Pour approfondir

Je ne me suis personnellement pas arrêté à l’étape de sécurisation de la WebUI. J’ai créé un répertoire « downloads » dans /home/deluge et ai configuré le chemin relatif dans les préférences de Deluge.
J’ai ensuite créé un virtual host sécurisé (https et htpasswd) pour me connecter au répertoire download via mon navigateur.

Merci à toutes les personnes qui m’ont aidé à configurer Deluge, je pense notamment à un forum en particulier. Ils se reconnaitront.
Si vous avez des questions ou des remarques sur cette procédure, n’hésitez pas à m’en faire part dans les commentaires.

5 commentaires

  1. Bonjour, Suite a la lecture du tuto j’ai une petite question.
    J’ai réussi toutes les étapes parfaitement. Actuellement j’ai accès au client web avec l’adresse ip donc sous la forme http://xxx.xxx.xxx.xxxx:8112 et je voudrais savoir comment faire pour pouvoir utiliser le nom de domaine que je veut voir meme du sous domaine …
    Pour avoir un truc comme http://sous.domaine.fr:8112/ voir meme http://sous.domaine.fr/ en changeant le port par 80.
    Donc si vous avez une idée pour éclairer ma lanterne :)
    Cordialement
    Jordan

    Jordan
  2. j’ai telecharger déluge et a j’arrive pas a telecharger avec lui
    aiddez moi svp svp

    maggui le bleu
  3. Salut, merci pour ton tuto, mais je bloque à l’étape 3.

    Quand je fais la cmd « ssh -fNL 127.0.0.2:58846:localhost:58846 IP_DU_SERVEUR », je me retrouve avec une erreur « ssh: connect to host IP_DU_SERVEUR port 22: Connection refused ».

    Etant un noob sous debian, j’aimerai savoir comment je fais pour activer le port 22 pour SSH, je possède un firewall et dans mon fichier de firewall j’ai mis « iptables -I INPUT -p tcp -i eth0 –dport 22 IP_DU_SERVEUR/24 -j ACCEPT » mais celà ne change rien.

    Merci d’avance.

    Blacxi
  4. @Jordan : Pour gérer les domaines il faut regarder du côté des Virtual Hosts d’Apache.

    @maggui le bleu : il va me falloir plus de détails.

    @Blacxi : C’est effectivement un problème de ports, mais je n’ai que très peu de connaissances avec IP Tables. Cependant tu n’es pas obligé d’utiliser un tunnel SSH pour avoir le client, il me semble que dans les dernières versions de Deluge le Daemon est parfaitement activable en ligne ou dans le fichier de config.

    koskoz
  5. Salut ! Est ce que tu pourrais faire un petit article plus detaille ou meme un commentaire sur la partie creation d’un virtual host sécurisé (https et htpasswd) ? Merci !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *