• Seedbox
  • [Discussion] Installer ruTorrent sur Debian 8 (nginx & php-fpm)

bonjour,

Je commence par vous remercier pour ce super script, j'ai utilisé la version light sur une vm dedian 8.

Sa fonctionne au poil.

J'ai donc voulu configurer plus en détails le fonctionnement de rtorrent.

Mon fichier de conf :
root@seedbox-1:/home/seed# cat .rtorrent.rc 
scgi_port = 127.0.0.1:5001
encoding_list = UTF-8
port_range = 31420-31420
bind = 192.168.10.1
port_random = no
check_hash = no
directory = /data/02-Torrent/90-Archives
session = /home/seed/.session
encryption = allow_incoming, try_outgoing, enable_retry
schedule = watch_directory_1,1,1,"load_start=/data/02-Torrent/01-Torrent/01-What_pywhatauto/*.torrent,d.set_custom1=80-WhatsCd_Pywhat_freeleech"

schedule = watch_directory_2,2,1,"load_start=/data/02-Torrent/01-Torrent/02-What_pywhatauto_Flac_100/*.torrent,d.set_custom1=80-WhatsCd_Pywhat_Flac_100"

schedule = watch_directory_3,3,1,"load_start=/data/02-Torrent/01-Torrent/03-What_pywhatauto_Flac/*.torrent,d.set_custom1=80-WhatsCd_Pywhat_Flac"

schedule = watch_directory_4,3,1,"load_start=/data/02-Torrent/01-Torrent/04-What_pywhatauto_Flac_24/*.torrent,d.set_custom1=80-WhatsCd_Flac_24"

schedule = watch_directory_5,3,1,"load_start=/data/02-Torrent/01-Torrent/05-Moi_Flac_100/*.torrent,d.set_custom1=70-Mois_Flac_100"

schedule = watch_directory_6,3,1,"load_start=/data/02-Torrent/01-Torrent/06-Moi_Flac/*.torrent,d.set_custom1=70-Mois_Flac"

schedule = watch_directory_7,3,1,"load_start=/data/02-Torrent/01-Torrent/07-Moi_Flac_24/*.torrent,d.set_custom1=70-Mois_Flac_24"



#schedule = watch_directory,1,1,"load_start=/home/seed/watch/*.torrent"
#schedule = watch_directory_1,1,"load_start=/data/02-Torrent/01-Torrent/01-What_pywhatauto/*.torrent"
#schedule = untied_directory,5,5,"stop_untied=/home/seed/watch/*.torrent"
schedule = espace_disque_insuffisant,1,30,close_low_diskspace=500M
use_udp_trackers = yes
dht = off
peer_exchange = no
min_peers = 40
max_peers = 100
min_peers_seed = 10
max_peers_seed = 50
max_uploads = 200



#system.method.set_key = event.download.finished,move,"execute=/home/seed/move_torrent.sh,$d.get_hash=,$d.get_base_filename=,$d.get_base_path=,$d.get_directory=,$d.get_directory_base=,$d.get_loaded_file=,$

system.method.set_key = event.download.finished,move,"execute=/home/seed/move_torrent.sh,$d.get_hash=,$d.get_base_filename=,$d.get_base_path=,$d.get_directory=,$d.get_directory_base=,$d.get_loaded_file=,$d.get_name=,$d.get_custom1="



### Logs d'activité si on le souhaite
#log.open_file = "rtorrent", "/home/seed/rtorrent.log"
#log.add_output = "critical", "rtorrent"
#log.add_output = "error", "rtorrent"
#log.open_file = "/home/seed/rtorrent.log", (cat,/tmp/rtorrent.log.,(system.pid))  
#log.add_output = "info", "/home/seed/rtorrent.log"
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php seed &}
root@seedbox-1:/home/seed# 
J'utilise pywhatauto pour snatcher automatiquement mes torrent sur what.cd. Cela fonctionne très bien.

En fonction des type de snatch, cela les placent dans des répertoires différents pour mettre en place des labels : cela est aussi ok


Par contre à la fin d'un téléchargement je souhaite executer un script :
system.method.set_key = event.download.finished,move,"execute=/home/seed/move_torrent.sh,$d.get_hash=,$d.get_base_filename=,$d.get_base_path=,$d.get_directory=,$d.get_directory_base=,$d.get_loaded_file=,$d.get_name=,$d.get_custom1="
Ls du repertoire
root@seedbox-1:/home/seed# ls -l
total 96
-rw-r--r-- 1 root root 80089 févr.  5 15:43 master.zip
-rwxrwxrwx 1 seed seed  1683 févr.  7 12:28 move_torrent.sh
drwxr-xr-x 4 root root  4096 févr.  7 13:14 pywhatauto-master
drwxr-xr-x 2 seed seed  4096 févr.  5 18:35 torrents
drwxr-xr-x 2 seed seed  4096 févr.  5 17:46 watch
root@seedbox-1:/home/seed# 
mon script move_torrent.sh:
#/bin/bash
hash_torrent=$1
name2=$2
name3=$3
name4=$4
name5=$5
name6=$6
name7=$7
name8=$8
#echo "d.get_hash" >> /home/seed/log_mov.txt
#echo $hash_torrent >> /home/seed/log_mov.txt
#echo "d.get_base_filename" >> /home/seed/log_mov.txt
#echo $name2 >> /home/seed/log_mov.txt
#echo "d.get_base_path" >> /home/seed/log_mov.txt
#echo $name3 >> /home/seed/log_mov.txt
#echo "d.get_directory" >> /home/seed/log_mov.txt
#echo $name4 >> /home/seed/log_mov.txt
#echo "d.get_directory_base" >> /home/seed/log_mov.txt
#echo $name5 >> /home/seed/log_mov.txt
#echo "d.get_loaded_file" >> /home/seed/log_mov.txt
#echo $name6 >> /home/seed/log_mov.txt
#echo "d.get_name" >> /home/seed/log_mov.txt
echo $name7 >> /home/seed/log_mov.txt
echo $name8 >> /home/seed/log_mov.txt
A la fin d'un téléchargement il devrait donc y avoir un fichier de log /home/seed/log_mov.txt

Mais ce fichier n’apparaît pas.

Je pense qu'il y a un soucis de droit, car je ne voie pas d'erreur dans ma config.

Quel est l'utilisateur de rtorrent ?

Avez vous une idée du problème ?

Merci
J'ai continué mes investigation
root@seedbox-1:/home/seed# top | grep rtorrent
10317 seed      20   0 1200752  74100  11916 S   1,0  3,6   1:27.04 rtorrent main     
donc c'est l'utilisateur seed qui lance rtorrent
root@seedbox-1:/home/seed# su seed
seed@seedbox-1:~$ ls
master.zip  move_torrent.sh  pywhatauto-master	torrents  watch
seed@seedbox-1:~$ ls -l
total 96
-rw-r--r-- 1 root root 80089 févr.  5 15:43 master.zip
-rwxrwxrwx 1 seed seed  1915 févr.  7 13:31 move_torrent.sh
drwxr-xr-x 4 root root  4096 févr.  7 13:36 pywhatauto-master
drwxr-xr-x 2 seed seed  4096 févr.  5 18:35 torrents
drwxr-xr-x 2 seed seed  4096 févr.  5 17:46 watch
seed@seedbox-1:~$ ./move_torrent.sh 
./move_torrent.sh: ligne 13: /home/seed/log_mov.txt: Permission non accordée
./move_torrent.sh: ligne 14: /home/seed/log_mov.txt: Permission non accordée
./move_torrent.sh: ligne 29: /home/seed/log_mov.txt: Permission non accordée
Je ne comprends pas pourquoi l'utilisateur seed, ne peux pas créer de fichier n'y de répertoire dans son home .

Pouvez vous m'expliquer ?

Merci
@Ex_rat merci beaucoup, encore une fois tu me sauve et m'instruit ^^' en effet maintenant que tu le dis ça semble beaucoup plus logique et du coup ça marche Merci aussi à Magicalex pour les autres tuto que j'ai suivi
Bonsoir,
tout d'abord merci pour ce tuto.

Tout marche niquel.

Est-ce que quelqu'un a déjà a déjà pensé à faire une page admin qui aurait un peu la même fonctionnalité que le script pour pouvoir ajouter des utilisateurs ?

Si non, vous avez des conseils ?
J'ai un petit témoignage :

- J'ai fais des modif de Vhost à la base car je voulais un certif SSL pour seedbox-manager
- Conséquence ou hasard : A l'ajout d'un torrent dans rutorrent j'ai eu ce message :

Error: Permission denied to access property "document"
De plus le petit menu qui indiquaient le chemin sur mon serveur était vide...

Après quelques recherche j'ai vu que d'autres ont eu un problème similaire et proposaient une solution :

dans /site-enabled/rutorrent.conf la ligne
add_header X-Frame-Options "DENY";
transformée en
add_header X-Frame-Options "SAMEORIGIN";
puis un service nginx restart et mon problème à été résolu : le menu du chemin est revenu, et l'erreur à l'ajout de torrent ont disparus ^^
(par contre je n'ai pas encore le certif ssl pour mon seedbox-manager mais cela est une autre histoire... )
4 jours plus tard
  • [supprimé]

Bonsoir à tous !

Voilà quelques mois que j'utilise ce script sur un Kimsufi ! Je ne suis pas très bien calé sur le sujet mais tout fonctionne. J'ai réussi à mettre à jour la distrib mais je n'ai aucune idéee de comment mettre à jour Rutorrent & Seedbox Manager.

Que dois-je entrer comme commandes ?

Merci !
Bonjour ,
J'aimerais savoir où se trouve le fichier de conf (s'il existe) qui paramètre les droits des fichiers/dossiers sous rutorrent . Par défaut les droits attribués aux fichiers et dossiers fraîchement téléchargés sont respectivement 664 et 755 . J'ai besoin de modifier ces permissions pour que les fichiers soient modifiables sous pydio et dans l'état actuel ce n'est pas le cas .
J'ai cherché dans /etc et /var pour vérifier les différents fichiers de conf disponible mais je n'ai rien trouvé de concluant .
Pareil sur le net , la question du changement de droits revient assez souvent et généralement la modification de l'umask est une des solutions proposée mais je préférerais ne pas y toucher .
Voila et si vous avez une alternative je suis preneur .
L'install s'est faite par le script full d'EX sur dédié en Debian 8 .
Merci

Rondin
Bonjour tout le monde,

Un de mes utilisateurs me signale qu'il rencontre une erreur à l'ajout d'un torrent. En fait il semblerait que ça ne soit qu'un warning car le torrent est ajouté et démarre correctement.
JS error:
[http://maseedbox.seedbox.com/rutorrent:js : 72]
Uncaught SecurityError: Failed to red the 'contentDocument' property from 'HTMLIFrameElement' : Blocked a frame with origin "http://maseedbox.seedbox.com" from accessing a cross-origin frame.
Je ne rencontre pas ce souci moi-même et aucun autre utilisateur ne m'a signalé quoi que ce soit...

Sauriez-vous d'où celà peut provenir ?

Bien à vous,

Cylae.
Salut
Ça vient très probablement de son navigateur ce genre d'erreur. Qu'il commence par désactiver ses extensions genre adblock, no-script pour tester et voir lequel bloque.
Ex.
Bonjour,

J'ai utilisé ce tuto pour installer ma seedbox et dans mon interface rutorrent j'ai cette erreur dans le journal:
[18.02.2016 12:27:03] WebUI started.
[18.02.2016 12:27:07] Bad response from server: (404 [error,list]) <html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html>
[18.02.2016 12:27:08] FILE MANAGER ignited
J'ai seedboxmanager et cakebox, les deux installés via les tutos d'ici également et aucun soucis pour eux deux, tout fonctionne bien.
J'ai essayé de reboot la session rtorrent de mon user, même soucis. ruTorrent ne liste aucun torrent, mais quand j'en ajoute un il ne me fait pas d'erreur, pourtant toujours aucun n'est listé (même les anciens que j'avais).

Voici mon rutorrent.conf qui est dans /etc/nginx/sites-enabled/ : http://pastebin.com/vqyetgCh (il est un peu long à cause de seedboxmanager mais côté seedbox manager

Et mon /var/www/rutorrent/conf/users/user1.php:
<?php
$pathToExternals = array(
    "curl"  => '/usr/bin/curl',
    "stat"  => '/usr/bin/stat',
    );
$topDirectory = '/home/user1';
$scgi_port = 5003;
$scgi_host = '127.0.0.1';
$XMLRPCMountPoint = '/USER1';
Si quelqu'un a une idée, je suis preneur Merci
Salut
Question, tu n'as l'erreur qu'avec ton deuxieme user, l'utilisateur user11 (pas le premier user que tu as créé avec le script, l'admin quoi) ?
Est-ce que le serveur a été rebooté après ? Parce que j'ai constaté une erreur 404 dans ce cas là.
Juste pour être sur, est-ce qu'une relance de nginx ne ferait pas disparaite le probème:
service nginx restart
Ex.
Merci de ta réponse, alors oui j'ai essayé de reboot nginx, puis mon serveur, et idem Même avec un ctrl f5 sur rutorrent.
Alors pour l'erreur de mon 1er msg, elle apparaît avec mon premier user, user1, qui est l'admin.


Pour le second user11, j'ai cette erreur dans le journal de l'interface de rutorrent:
[18.02.2016 13:18:56] WebUI started.
[18.02.2016 13:18:56] Lien incorrect avec rTorrent. Vérifier qu'il est bien en cours d'exécution. Vérifier la configuration de $scgi_port et de $scgi_host dans config.php et scgi_port dans le fichier de configuration de rTorrent.
Je me suis dis peut-être que rtorrent n'est pas lancé, et en effet il ne l'était pas car je n'ai pas pu le reboot:
root@sd-x:~# /etc/init.d/user11-rtorrent restart
Restart rtorrent...
screen: no process found
root@sd-x:~# /etc/init.d/user11-rtorrent start
Starting rtorrent...
Mais après lancement, un nginx restart, même problème.
Pour l'erreur de l'user11, peut-être un soucis de rtorrent.lock (remplace bien les "toto")
killall --user toto rtorrent
killall --user toto screen
rm /home/toto/.session/rtorrent.lock
/etc/init.d/toto-rtorrent start
Pour le reste, j'ai pas d'idée là pour l'instant
edit: jette un oeil sur tes logs en /var/log/nginx
Ex.
Toujours même erreur pour user11. Le rtorrent d'user11 ne semble même pas être lancé contrairement à celui d'user1 (sur le screen c'est user11 en premier et user1 en second): http://zupimages.net/up/16/07/nmh1.jpg
Pourtant je le lance bien:
root@sd-x:~# /etc/init.d/user11-rtorrent start
Starting rtorrent...
Désolé du double poste, je viens vous apporter quelques précisions concernant mon problème, Exrat a regardé de plus près et n'a pas trouvé la source de l'erreur 404 mais a résolu le problème de lancement de rtorrent pour l'user11 ! Merci à lui pour le temps consacré

La seule erreur qui persiste reste donc l'erreur 404 dans l'interface de rutorrent comme cela: http://zupimages.net/up/16/07/8suo.jpg
Elle est bien présente dans les logs:
open() "/var/www/base/USER1" failed (2: No such file or directory)
et voici le log de debug de mon user1 (le 1er user créé qui est admin donc): http://pastebin.com/EiVWFGmy
Un retour sur le serveur d'Hugy. C'est assez curieux, j'ai fais le tour des fichiers et ça m'a l'air correct (enfin j'ai rien vu...)
J'ai eu ce matin le même problème en testant la modif du script light mais avec un différence. Pour moi c'était uniquement en cas d'ajout d'user sans reboot, et une simple relance de nginx suffisait à faire disparaître le 404 dans ruTorrent. (j'ai adapté le script pour ça en corrigeant l'autre truc).

Là c'est un peu différent, ça touche les deux users et un "service nginx restart" ne change rien. Dans les indices, il y a aussi un truc louche, l'user principal tourne normalement mais aucun torrents n'apparait dans rutorrent. Les fichiers sont bien en /torrents et /.session semble ok.

On voit dans rutorrent-error.log qu'il cherche un /var/www/base/USER1 (ou /var/www/base/USER11) à l'ouverture de rutorrent et je comprends pas vraiment d'où ça sort.
Je ne sais plus trop où chercher là, donc toutes les suggestions sont les bienvenues pour aider notre petit camarade Hugy ^^
En plus je sens bien arriver le plan foireux avec le script là...
Ex.
edit: j'ai mis le debug en un peu plus propre pour le log d'erreur ici: https://www.ratbox.nl/paste/?914c4d16f409aae2#XmRsQso0aLTr/aCuZpoSCos+DhOXjZbUfd77bx3Yoto=
OUF, j'ai trouvé bordel ! Je sais pas par quel hasard j'ai réussi mais je tapais l'erreur rutorrent dans google et à force de fouiner je suis tombé sur un mec qui avait un problème +/- similaire sur le forum de rutorrent et qui parlait de XMLRPCMountPoint dans /var/www/rutorrent/conf/users/user1/config.php , j'ai testé
$XMLRPCMountPoint = '/user1';
alieu de
$XMLRPCMountPoint = '/USER1';

et là comme par magie rutorrent a marché

C'est à se taper la tête contre un mur parfois ...
En tous cas merci à exrat d'y avoir consacré de son temps et de s'être creusé la tête !
Rahh, je l'ai pas vu la boulette
En fait l'erreur initiale est pas là, c'est dans ton rutorrent.conf le truc. Pour être standard "mondedie", tu devrais faire comme ça:
Tu remets tes deux config.php en majuscule:
$XMLRPCMountPoint = '/USER1';
Et dans ton rutorrent.conf, tu rectifies tes "location/MAJUSCULE { " :
        ## config utilisateurs  ##

        location /USER1 {
            include scgi_params;
            scgi_pass 127.0.0.1:5001; #ou socket : unix:/home/user1/.session/user1.socket
            auth_basic "seedbox";
            auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_user1";
        }

        location /USER11 {
            include scgi_params;
            scgi_pass 127.0.0.1:5003; #ou socket : unix:/home/user11/.session/user11.socket
            auth_basic "seedbox";
            auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_user11";
Et ça devrait tourner aussi. C'est toi qui y avait touché les pseudos ou c'est le script qui a merdé ? Je crois que j'ai jamais testé avec des pseudos à numéro.
Ex.
Bon tout était de ma faute alors, je me souviens bien de ça, quand j'ai installé mon cakebox et que je suis passé sur mon rutorrent.conf je me susi dis "tiens c'est chelou ces majuscules" C'était pas si bizzare que ça finalement >_<
Je vais le remettre comme c'était, au cas où ça créé des problèmes pour une futur màj / modif.
Désolé encore de t'avoir fait perdre du temps, le bon côté qu'il faut voir c'est que si un jour on revoit cette erreur 404 dans ruTorrent on saura à peu près d'où ça vient
Merci du taf et de l'aide en tous cas