• Archive
  • [Discussion] Installer ruTorrent sur Debian 9 {nginx & php-fpm}

T'as pas trouvé t'as reboot la box :")

Pas grave le triangle jaune

Salut à tous !
Je suis actuellement en cours d'installation d'un ruTorrent sur Debian 9.1 sur serveur dédié Kimsufi. Mais je le fais sans script auto, car j'aime bien faire à la mano... et puis, ça me permet de me remettre en question si je foire un truc, d'autant que j'ai créé des partitions un peu exotiques... pas de /home/ à la base, mais des points de montages différents afin de séparer les comptes. Oui je sais, ça paraît un peu bizarre, mais j'aime bien sortir des sentiers battus ! ^^
Pis ça me permets aussi de cogiter un peu sur la façon dont travaille Linux.

J'ai d'ailleurs constaté que Debian ne bloquait apparemment plus les 5% root & system sur les partitions ! A confirmer mais ça pourrait être un sacré plus 🙂

Sinon, je vous fais une remontée une fois mon install terminée. Vu que je vais y aller à la cool, le retour se fera d'ici ce WE.

Voili voilou ! Merci à vous pour le travail que vous faites, vraiment ! 😉

Au plaisir, V.

  • BXT a répondu à ça.

    virgo77 J'ai d'ailleurs constaté que Debian ne bloquait apparemment plus les 5% root & system sur les partitions ! A confirmer mais ça pourrait être un sacré plus 🙂

    C'est plus lié à ext4 que Debian ça, ça me semblerait bizarre 😉

    Yop Yop !
    Bon bah finalement ça y est, ça tourne ! ^^
    J'ai configuré la seedbox pour les différents comptes, puis fait différents tests de connexions, entre l'UI Web, SFTP, etc. et ça tourne comme une horloge ! 😃
    Je suis ravi, d'autant que chacun est bien séparé des autres et ne voit que ce qui lui appartient, c'est top !

    Je pensais que ça serait plus compliqué à gérer, sachant que je le fais pour la 1e fois, d'autant que Debian 9 présente un mode de fonctionnement amélioré et différent (apparemment) des moutures précédentes (d'après ce que j'ai pu lire ci et là).

    En tout cas, moi, je suis aux anges ! Un grand merci à vous.

    @BXT salut ! Oui, je me doutais bien d'un truc du genre, mais comme je ne me sers de Linux qu'en Seedbox pour le moment, je ne m'étais jamais vraiment posé la question en fait. Si je dis 'pour le moment', c'est que je pense que je vais me tourner sur Linux pour mes PC... Windows 10 et sa collecte de données m'insupporte au plus haut point ! Le pb sera pour les jeux. Soit je bosse sur un PC pur Linux, soit je reste sous Windows pour les jeux, mais bosse en VM Linux. Piste à suivre, tiens...

    Allez, zouh je file profiter de ma toute nouvelle bobox !

    ++ V.

    Bonsoir.
    En premier lieu, je tapote sur mon clavier en me souvenant qu'il me faut remercier l'ensemble des acteurs qui ont pu contribuer de différentes manière à travers des tutoriels, des scripts, et tout autre élément qui font que l'on est en mesure d'avoir un certain confort.
    Ensuite, je vais tenter d'expliquer mes tests sur ce sujet.
    Mon expérience a débuté à partir d'une installation d'une version Debian 6 (stable). Les mises à jours des packages n'étaient pas forcément évidentes quant à la stabilité de la solution, il m'a fallu plusieurs fois repartir de zéro.
    J'ai ensuite procédé à des montées de versions de la 6-->7-->8 , La V7 et la V8 n'ont présentées aucunes difficultés d'exploitation notables. (le script Bonobo a vraiement fait un excellent travail)
    Récemment, j'ai suivi ce tuto pour le passage vers la V9. Ce qui ne s'est pas déroulée comme je l'aurai souhaité.
    En suivant le tuto à la lettre et en le reproduisant plusieurs fois , je me suis retrouvé dans une phase où il m'était impossible de lancer un processus rtorrent, les compilations présentaient de nombreux warning (ce constat est fait en repartant depuis une installation vierge de l'OS, en montée de version le compilateur semblait faire des siennes et un message d'erreur de macro inconnu m'est apparu à chaque tentative).
    Obstiné, je suis reparti avec plusieurs installations de l'OS (hébergement dédié OVH/KIMSUFI). En installant les packages nécessaires au moyen d'apt-get, et en bricolant un peu, je suis finalement parvenu à faire fonctionner l'ensemble (malheureusement pour une courte durée, un premier lancement d'un D/L de Torrent bien pris en compte, j'ai supprimé ce job, puis je me suis retrouvé rapidement avec un message d'erreur qui me semble lié à un problème de processus rtorrent qui n’apparaît plus avec la commende "ps -faux" , en redémarrant le système la seedbox semble stable jusqu'au moment où j'ajoute et supprime un torrent. (je vais tenter de regarder si avec plusieurs jobs le fait d'un supprimer 1 fait tomber rtorrent aussi ; affaire à suivre)
    Je n'ai pas encore intégré quels sont les éléments qui vous permettraient de réaliser une analyse de contexte, et si je n'ai pas lu ce qu'il fallait n'hésitez pas à me frapper/flageller/lacérer (enfin tout ce qui vous permet de soulager une colère ou un agacement certain ).
    Si je peux être utile ou si quelqu'un peut m'aider à trouver une solution pérenne, je suis à la disposition des bonnes âmes.
    Bien à vous et au plaisir de vous lire

    Bonjour,

    j'ai plutôt l'impression que la commande (suivante) : ps -fauxest incomplète @funcard. En générale, on se sert de celle-ci ps -ef | grep rtorrent. De plus, je crois que l'image (ci-dessus) sera plus parlante.

    Par contre, oui c'est vrai il y a beaucoup de warnings (lors de la compile). Tandis que le contexte, je suppose qu'il sera légèrement plus clair avec le résultat de ces 4 commandes :

    xmlrpc-c-config --version;
    rtorrent -h | grep version;
    whereis libtorrent rtorrent xmlrpc-c-config;
    hostnamectl | egrep 'Kernel'
    ## Ou alors : hostnamectl | egrep 'Operating System|Kernel|Architecture'
    ## La dernière est facultatif car la partition est rarement pleine (20 Go minimal de recommandé).
    ## Néanmoins, on aurait du en flageller quelqu'uns en voilà une de bonne idée. mdr
    df -h;
    

    Et si jamais il y a eu un problème (pendant la compilation), une solution consiste à installer (le paquet) zlib1g-dev.

    Bonjour,

    Les résultats
    xmlrpc-c-config --version
    -bash: xmlrpc-c-config : commande introuvable

    rtorrent -h | grep version
    Rakshasa's BitTorrent client version 0.9.6.

    whereis libtorrent rtorrent xmlrpc-c-config
    libtorrent:
    rtorrent: /usr/bin/rtorrent /usr/share/man/man1/rtorrent.1.gz
    xmlrpc-c-config:

    hostnamectl | egrep 'Kernel'
    Kernel: Linux 4.9.33-mod-std-ipv6-64

    df -h
    Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
    /dev/root 20G 1,3G 17G 8% /
    devtmpfs 985M 0 985M 0% /dev
    tmpfs 987M 0 987M 0% /dev/shm
    tmpfs 987M 14M 974M 2% /run
    tmpfs 5,0M 0 5,0M 0% /run/lock
    tmpfs 987M 0 987M 0% /sys/fs/cgroup
    /dev/sda1 487M 25M 433M 6% /boot
    /dev/sda3 897G 773M 851G 1% /home

    Donc concernant xlmrpc j'ai utilisé en substitut : xmlrpc-api-uti 1.33.14-4
    pour lib torrent j'ai installé 2 paquet ne sachant pas quel était le bon : libtorrent-dev 0.13.6-1.1 BitTorrent library by Rakshas et libtorrent19:a 0.13.6-1.1 C++ BitTorrent library by Rakshas

    Pour le moment avec ma démarche je n'ai eu que des plantage de rtorrent lorsqu'il n'y a plus de torrent dans la liste,
    Est-ce intéressant que j'essai de reprendre la compilation des paquets à la place de ceux que j'ai installé en ajoutant le zlib1g-dev ?
    Merci pour ton message Wagner
    Bonne soirée

    	https://packages.debian.org/stretch/xmlrpc-api-utils
    	https://packages.debian.org/stretch/rtorrent
    	https://packages.debian.org/stretch/libtorrent19
    	https://packages.debian.org/search?keywords=xmlrpc-c
    

    De rien @funcard et cela confirme ce que je pensais. Il y a parfois des bugs lorsque l'on installe un logiciel depuis les dépôts de Debian.
    Alors je dirais non car cela risque encore d'échouer... Ce substitut ne me rappel rien mais d'après ces pages, il doit se nommer libtorrent19. La dernière fois, j'ai essayé d'installer rtorrent et il n'y avait pas eu d'erreur (ni avec les dépendances tel que libtorrent, etc). Néanmoins, j'ai pu le(s) louper... J'ai juste jeter un (rapide) coup d'oeil.
    Il faut mieux repartir de zéro (en réinstallant l'OS) car cela évite(ra) d'autre(s) problème(s lié à la compile) et ce sera moins obscure.

    Merci bonne soirée également.

    Bonjour, quasi débutant, j'avais tout installé à la main ( rutorrent, plex, couchpotato...) et ça tournait, mais j'ai voulu refaire une install propre, donc j'ai réinitialisé ma box.
    Je viens d'installer la "bonobox" et tout fonctionne, super script. Merci

    @funcard Salut à toi, désolé d'apprendre que ça ne semble pas fonctionner pour toi alors que tu sois parti d'une installation propre.
    Perso, j'ai fait une install propre sous Debian 9.1, en serveur dédié Kimsufi (le KS-2E, qui était en promo il y a quelques semaines), et je n'ai rencontré aucun soucis, d'autant que j'ai fait une configuration un peu particulière. Par contre, j'ai effectivement constaté les 'warning' durant les phases de compilation (make) de rTorrent & LibTorrent mais ça ne semble pas avoir d'impact puisqu'au final, mon ruTorrent fonctionne impeccablement bien.
    J'ai aussi essayé de faire des ajouts/suppressions (comme toi) pour voir si je rencontrais le même pb de plantage (des fois que !), mais tout fonctionne normalement. Je ne sais donc pas où ça coince et je ne pourrai pas t'aider plus, ne m'y connaissant pas suffisamment dans Linux.

    En gros, ma configuration se présente ainsi :
    - 1 partition principale '/' ;
    - 1 partition principale '/root' ;
    - 1 partition principale 'swap' ;
    - 1 partition logique '/user1' ;
    - 1 partition logique '/user2'.
    Pas de '/home' à proprement parler. Cette configuration m'a permis de séparer les utilisateurs pour que chacun ne voit pas ce que l'autre télécharge. Je me suis peut-être fourvoyé en faisant cela alors que j'aurais très bien pu ne créer qu'une seule partition '/home' avec chaque user dedans, mais je voulais justement me lancer dans la séparation des partitions et voir si j'avais bien capté le fonctionnement de Linux et des points de montage. Perso, ça roule bien comme ça, et j'espère que ça va durer dans le temps. ^^

    Une petite précision tout de même dans la configuration des partitions chez Kimsufi :
    Tu peux préparer ton disque manuellement. J'ai donc fait comme ci-dessous, pour faire que les 3 partitions principales soient côte-à-côte, et les 2 '/userx' à la suite :
    - le '/' est en position "1" ;
    - le '/root' est en position "2" ;
    - le 'swap' est en position "4" ;
    - '/user1' & '/user2', respectivement en "5" & "6", car si tu en laisses une en position "3", elle va s'intercaler entre '/root' et le 'swap'.
    Pour moi, cette disposition me paraît plus "logique" et plus "propre" : on place le système d'abord, puis les utilisateurs à la suite. Mais je me trompe peut-être. Qu'en penses les pros !?

    Sinon, je te souhaite bon courage dans l'installation ! Tu vas y arriver, t'inquiètes 🙂 Moi aussi ça ne fonctionnait pas du 1er coup au début, mais en insistant, et en faisant un minimum attention à ce que l'on fait, ça finit par se faire tout seul.

    Ah, et dernière chose : j'ai remarqué qu'une fois le tutoriel terminé, la connexion à l'interface web ne fonctionnait pas. J'avais un message me disant que les paramètres $cgi blablabla étaient incorrects. J'ai juste rebooté le serveur, ce qui a réglé le pb.

    Voili voilou

    Bon courage, et au plaisir ! V.

      virgo77 J'ai eu le même problème que ce que tu évoque. L'interface me indiquant un problème de communication avec rtorrent, j'ai regardé si le processus rtorrent était en route ainsi que le xmlrpc. L'un se lançait et apparaissait dans les processus (xmlrpc), l'autre n'apparaissait pas (rtorrent). Du coup j'ai testé différente chose pour réussir à faire fonctionner l'ensemble.

      Il existe notamment ce topic enfin si jamais vous voulez creuser ou que cela réapparaît un jour.

        Bonsoir, il manque une chose à ce super script, de quoi refaire l'install quand on est un boulet comme moi, et qu'au lieu d'effacer le dossier sickrage, j'ai effacé rutorrent . Du coup le script ne fonctionne plus bien sur, je vais devoir réinitialiser.

        Bonjour,
        Quelqu’un pourrait-il fournir une copie des fichiers de configuration d’nginx ainsi que les .confs employés pour rutorrent parce que j’ai soit une error 404 ou 500 etc, au niveau du Webui.
        Un truc simple pour un seul utilisateur, sans mot de passe. Merci.

          Bonjour,
          Je viens de tester le script essentiel sur un kimsufi (KS-2E) tout semble OK
          Je ne suis pas rentré dans les détail encore.

          Par contre quelles sont les différence entre le script normale et essentiel?
          Merci et good job 🙂

            Filou Salut, tu les as sur le GitHub.
            Stolker Si tu retrouves le sujet initial des scripts tu y trouveras la réponse. C'est pas de l'humour ni une vanne, j'ai juste plus envie de chercher pour les autres.

              Aerya
              Merci, quelle est l'adresse Github à étudier ?

              Bon ben c'est bien ma chance.
              J'ai suivi pas à pas le tutoriel et à la fin quand je me log à https://62..../rutorrent, j'obtiens :

              Ce site est inaccessible
              
              62.***.**.*** n'autorise pas la connexion.
              
              Essayez les suggestions ci-dessous :
              Vérifier la connexion
              Vérifier le proxy et le pare-feu
              Vérifiez votre connexion internet.
              Vérifiez tous les cables, redémarrez votre routeur, modem ou tout autre appareil réseau utilisé.
              
              Permettre à Opera d'accéder au réseau dans les réglages de votre pare-feu ou de votre anti-virus.
              S'il est déjà répertorié en tant que programme autorisé à accéder au réseau, essayez de le supprimer de la liste, puis de le rajouter.
              
              Si vous utilisez un serveur proxy…
              Vérifiez vos réglages proxy ou contactez votre administrateur réseau pour être sûr que le serveur proxy fonctionne. Si vous ne pensez pas que vous devriez utiliser un serveur proxy : Allez dans le menu principal > Paramètres > Modifier les paramètres du proxy… > Réglages LAN et désélectionnez "Utiliser un serveur proxy pour votre LAN".

              Mon serveur est sur Online.

              Bon maintenant il s'affiche, mais avec cette erreur :

              [12.08.2017 17:47:01] 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.

              Voici mon rtorrent.rc :

              scgi_port = 127.0.0.1:5001
              encoding_list = UTF-8
              port_range = 45000-65000
              port_random = no
              check_hash = no
              directory = /home/manon/torrents
              session = /home/manon/.session
              encryption = allow_incoming, try_outgoing, enable_retry
              schedule = watch_directory,1,1,"load.start=/home/manon/watch/*.torrent"
              schedule = untied_directory,5,5,"stop_untied=/home/manon/watch/*.torrent"
              trackers.use_udp.set = yes
              dht.mode.set = off
              protocol.pex.set = no
              min_peers = 40
              max_peers = 100
              min_peers_seed = 10
              max_peers_seed = 50
              max_uploads = 15
              execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php manon &}
              schedule = espace_disque_insuffisant,1,30,close_low_diskspace=500M

              Que faire ? Tout m'a l'air exact.

              De plus quand j'essaie de redémarrer nginx, j'ai aussi cette erreur :

              nginx: [emerg] "server" directive is not allowed here in /etc/nginx/sites-enabled/seedbox.conf:55

              Mon seedbox.conf :

              server {
                  listen 80 default_server;
                  server_name _;
              
              charset utf-8;
              index index.html index.php;
              client_max_body_size 10M;
              
              access_log /var/log/nginx/rutorrent-access.log combined;
              error_log /var/log/nginx/rutorrent-error.log error;
              
              error_page 500 502 503 504 /50x.html;
              
              auth_basic "seedbox";
              auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";
              
              root /var/www;
              
              location = /50x.html {
                  root /usr/share/nginx/html;
              }
              
              location = /favicon.ico {
                  access_log off;
                  log_not_found off;
              }
              
              location /rutorrent {
                  try_files $uri $uri/ /index.html;
              }
              
              location ~ ^/rutorrent/(conf|share)/(.+)$ {
                  deny all;
              }
              
              location ~ \.php$ {
                  fastcgi_index index.php;
                  include /etc/nginx/fastcgi_params;
                  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                  fastcgi_pass unix:/run/php/php7.0-fpm.sock;
              }
              
              location ~* \.(jpg|jpeg|gif|css|png|js|map|woff|woff2|ttf|svg|eot)$ {
                  expires 30d;
                  access_log off;
              }
              location = /MANON {
                      include scgi_params;
                      scgi_pass 127.0.0.1:5001;
                      auth_basic "seedbox";
                      auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_manon";
                  }
              
              server {
              listen 80 default_server;
              server_name _;
              
              
              charset utf-8;
              index index.html index.php;
              
              auth_basic "seedbox";
              auth_basic_user_file "/etc/nginx/passwd/password";
              
              root /var/www;
              
              location /seedbox-manager {
                  try_files /seedbox-manager/$uri /seedbox-manager/index.php$is_args$args;
              }
              }
              
              location ~ \.php$ {
                  fastcgi_index index.php;
                  include /etc/nginx/fastcgi_params;
                  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                  fastcgi_pass unix:/run/php/php7.0-fpm.sock;
              }
              }

                Wagner Il existe notamment ce topic enfin si jamais vous voulez creuser ou que cela réapparaît un jour.
                obelix1502 Que faire ? Tout m'a l'air exact.[...]

                En fait, il existe énormément de topic sur ce sujet... Alors je vais compléter (un brin) : celui-ci regroupe la plupart des pistes (~95%). Néanmoins, je n'ai pas évoqué les plugins de ruTorrent pour 2 raisons :

                • les chances sont assez faible

                • D'une part, il faut savoir que je m'en sers seulement (d'environ) un tiers. D'autre part, c'est trop complexe car il y a eu divers bugs (comme cela varie selon le plugin : _task, FileManager, httprpc, etc). Alors non je ne compte pas les rajouter à l'avenir, ni revenir là-dessus (autrement dit je souhaite passer à autre chose).

                À noter, il serait possible de le simplifier. Par exemple, nous pouvons déclarer la directive root une seule fois. C'est également vrai pour celle du charset (index, etc).
                Lorsqu'on déclare plusieurs block Server, il faut les placer à la suite (voici un exemple) :

                user www-data;
                [...]
                events
                {
                }
                http
                {
                	## Très souvent, les gens ont plutôt recours à la directive include.
                	## D'un autre point de vue, selon les personnes c'est plus compliqué de gérer plusieurs fichiers (au lieu d'un seul tel que le nginx.conf).
                	server
                	{
                		location
                		{
                		}
                	}
                	server
                	{
                		location
                		{
                		}
                	}
                }