Dans ce tutoriel nous allons créer des utilisateurs rutorrent qui auront leur propre mot de passe, mais qui partagerons les mêmes torrents.
C'est à dire que à chaque fois que l'utilisateur A ajoute un torrent, les utilisateurs B et C pourrons les consulter et vice versa

Après avoir crée un premier utilisateur rtorrent que l'on va appeler <rtorrent>, nous allons créer un autre utilisateur par exemple <public> qui utilisera l'instance rtorrent de l'utilisateur <rtorrent>.

Création de l'utilisateur public:

On spécifie le mot de passe pour le serveur web et on indique le mot de passe pour cette utilisateur :
( -s : pour scripter les mots de passe en sha1 )
1 <public> à remplacer
htpasswd -s /etc/nginx/passwd/rutorrent_passwd <public>
Vous devez taper deux fois de suite le mot de passe pour le vérifier, ensuite :
2 <public> à remplacer
sed -rn '/<public>:/p' /etc/nginx/passwd/rutorrent_passwd > /etc/nginx/passwd/rutorrent_passwd_<public>
On applique les bonnes permissions aux fichiers mots de passe :
chmod 640 /etc/nginx/passwd/*
chown -c www-data:www-data /etc/nginx/passwd/*
On crée le répertoire de configuration de ruTorrent : 1 <public> à remplacer
mkdir /var/www/rutorrent/conf/users/<public>
On édite le fichier de configuration : 1 <public> à remplacer
nano /var/www/rutorrent/conf/users/<public>/config.php
Et on colle les valeurs :
1 <rtorrent> 1 <RTORRENT> à remplacer et indiquer le bon port 500{x}
<?php

$pathToExternals['curl'] = '/usr/bin/curl';
$topDirectory = '/home/<rtorrent>';
$scgi_port = 500{x};
$scgi_host = '127.0.0.1';
$XMLRPCMountPoint = '/<RTORRENT>';
On redémarre nginx:
service nginx restart

Pour avoir accès à cakebox light avec votre nouvel utilisateur faîtes comme ceci :

Configuration de cakebox-light
cp /var/www/cakebox/config/default.php.dist /var/www/cakebox/config/<public>.php
note : le fichier de config d'un user doit porter son nom ex : magicalex -> magicalex.php
à faire pour chaque utilisateur

édition du fichier
nano /var/www/cakebox/config/<public>.php
Configuration du fichier utilisateur

1 <rtorrent> 1 <public> à remplacer.
<?php

/*
  General configuration of Cakebox
*/
$app["cakebox.root"] = "/home/<rtorrent>/torrents/"; // Root directory Cakebox have to scan
$app["cakebox.access"] = "/cakebox/<public>/"; // Alias used in web server for direct access
$app["cakebox.language"] = "fr"; //Language of Cakebox. Could be : fr, en

/*
  Directory settings
*/
$app["directory.ignoreDotFiles"] = false;
$app["directory.ignore"] = "//"; // Regex for files exclusion. For exemple : "/(\.nfo|\.test)$/"

/*
  Web player settings
*/
$app["player.default_type"] = "html5"; // html5 or divx or vlc
$app["player.auto_play"] = "false";

/*
  Betaseries account
  NB: Ask API key here http://www.betaseries.com/api/
*/
$app["bs.login"] = "";
$app["bs.passwd"] = "";
$app["bs.apikey"] = "";

$app["rights.canPlayMedia"] = true;
$app["rights.canDownloadFile"] = true;
$app["rights.canArchiveDirectory"] = true;
$app["rights.canDelete"] = true; 
On configure cakebox dans une uri comme /cakebox/
nano /etc/nginx/sites-enabled/rutorrent.conf
ajouter ce bloc de code pour le nouvel utilisateur <public> : 1 <rtorrent> 1 <public> à remplacer.
location /cakebox/<public>/ {
        alias /home/<rtorrent>/torrents/;
        add_header Content-Disposition "attachment";
        satisfy any;
        allow all;
    }
comme ceci :

   ## bloc de l'utilisateur rtorrent deja créé !!! ###

   location /cakebox/<rtorrent>/ {
        alias /home/<rtorrent>/torrents/;
        add_header Content-Disposition "attachment";
        satisfy any;
        allow all;
    }

    ## bloc du nouvel utilisateur public ####

    location /cakebox/<public>/ {
        alias /home/<rtorrent>/torrents/;
        add_header Content-Disposition "attachment";
        satisfy any;
        allow all;
    }

    ## etc si d'autre utilisateur ##

    ## fin config cakebox-light ##

    ...
}
On redémarre nginx
service nginx restart
Répondre…