Plugin Fileshare sous Nginx

Attention, si vous avez utilisé le script d'installation automatique, le plugin est déjà installé et configuré !

On va créer un dossier appelé "base" qui va servir d'accueil au serveur sans identification, si on veut personnaliser la page d’accueil plus tard au moins ce sera en place et ça va servir pour nos liens Fileshare.

Note: Je préfère ne rien avoir qui traine en /var/www, je trouve que c'est plus propre et organisé comme ça et oui je suis un peu maniaque... Si vous avez fais un choix différent, vous adaptez.
Bref, voilà comment je m'y suis pris.

Partie 1
On créer le dossier:

mkdir /var/www/base

On créer un fichier index basic pour pouvoir être sur de la conf du dossier:

nano /var/www/base/index.html

Et on colle :

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Accueil</title>
	</head>

<body>
	<h1>Accueil </h1>
</body>
</html>

On change le proprio du dossier :

chown -R www-data:www-data /var/www/base

On installe le plugin :

cd /var/www/rutorrent/plugins
git clone https://github.com/exrat/fileshare
chown -R www-data:www-data /var/www/rutorrent/plugins/fileshare

On va créer un lien symbolique avec l'accueil :

ln -s /var/www/rutorrent/plugins/fileshare/share.php /var/www/base/share.php

On édite le fichier de conf :

nano /var/www/rutorrent/plugins/fileshare/conf.php

Et on régle le nombre d'heure ( perso je colle 200 pour une semaine +/- ) et on modifie la partie adresse avec son ip ou son nom de domaine.
Ça doit ressembler à ça :

<?php

// limits
// 0 = unlimited
$limits['duration'] = 200;      // maximum duration hours
$limits['links'] = 0;   //maximum sharing links per user

// path on domain where a symlink to share.php can be found
// example: http://mydomain.com/share.php
$downloadpath = 'http://<IP_Serveur>/share.php'; 

?>

Partie 2
On commence par faire un backup de son fichier rutorrent.conf histoire de pouvoir revenir facilement en arrière en cas de soucis.

cp /etc/nginx/sites-enabled/rutorrent.conf /etc/nginx/sites-enabled/rutorrent.conf.bak

On ouvre le fichier de conf:

nano /etc/nginx/sites-enabled/rutorrent.conf

Et on ajoute ça pour que nginx gère l’accueil sans mots de passe:

    ## début conf base
    location ^~ / {
    root /var/www/base;
    include /etc/nginx/conf.d/php.conf;
    include /etc/nginx/conf.d/cache.conf;
    satisfy any;
    allow all;
    }
    ## fin conf base

On sauvegarde et on relance nginx:

service nginx restart

Là on doit être bon, vous devait pouvoir taper sur votre accueil en [url]http://{IP_Serveur}[/url]

Partie 3
Dans Rutorrent on va dans l'onglet "File Manager" et on choisi un fichier, jamais un dossier ça marche pas
- Clic droit dessus et "Partager"
- On donne le nombre d'heure (Maxi 200 pour moi) et un mot de passe

Après on va dans l'onglet "File Share" et on n'a plus qu'à copier/coller le lien de son fichier.
Quand on teste le lien, on a une fenêtre d'authentification, on rentre juste le mot de passe (pas d'identifiant) et le download doit démarrer direct.

Ex.

2 mois plus tard
petit problème Ex_Rat ...

Cette configuration coince lorsque l'on a seedbox-manager de installer sur notre dédié.
Je pense que l'erreur ce situe au niveau de la configuration du rutorrent.conf

Peut-être faudrait-il modifier le code par : ???


## début conf base
    location ^~ /base {
    root /var/www/base;
    include /etc/nginx/conf.d/php;
    include /etc/nginx/conf.d/cache;
    satisfy any;
    allow all;
    }
    ## fin conf base
et

<?php

// limits
// 0 = unlimited
$limits['duration'] = 200;      // maximum duration hours
$limits['links'] = 0;   //maximum sharing links per user

// path on domain where a symlink to share.php can be found
// example: [url]http://mydomain.com/share.php[/url]
$downloadpath = 'http://{IP_Serveur}/base/share.php'; 

?>
en attendant moi j'ai un joli "FILE NOT FOUND" lorsque je veux récupérer mon fichier partagé
Alors y'a pas de rapport avec seedbox-manager normalement.
Tu as fais ton installation manuellement ou avec le script ?
Ex
ex_rat wrote:Alors y'a pas de rapport avec seedbox-manager normalement.
Tu as fais ton installation manuellement ou avec le script ?
Ex

Manuellement...

Je pense que si il y a rapport puisque après avoir suivi ton tuto nginx ne redémarre plus a cause de la config
tu peux poster ton rutorrent.conf qu'on voit si tout est normal

edit: parce que le plugin est intégré avec le script et a déjà était installé un paquet de fois
Tentes un truc: http://mondedie.fr/d/5394
En bas du tuto seedbox-manager, t'as une conf "bonus", test avec ça.
C’est ce que j'utilise sur le script (y'a le plugin avec la conf d'ici et seedbox-manager et tout le monde s'entend très bien)

Je vois que t'as aussi un rewrite en https, ça doit pas poser de soucis je pense mais ce serait peut -être pas mal d'être plus standard le temps de voir ce qui coince.
Ex.

edit: le rutorrent d'une conf script (donc avec le LS share.php dans le dossier /var/www/base):
server {
        listen 80 default_server;
        listen 443 default_server ssl;
        server_name _;

        index index.html index.php;
        charset utf-8;
        client_max_body_size 10M;

        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key;

        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;
        location = /50x.html { root /usr/share/nginx/html; }

        auth_basic "seedbox";
        auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";

        location = /favicon.ico {
                access_log off;
                log_not_found off;
        }

        ## début config accueil serveur ##

        location ^~ / {
        root /var/www/base;
        include /etc/nginx/conf.d/php;
        include /etc/nginx/conf.d/cache;
        satisfy any;
        allow all;
        }

        ## fin config accueil serveur ##

        ## début config rutorrent ##

        location ^~ /rutorrent {
        root /var/www;
        include /etc/nginx/conf.d/php;
        include /etc/nginx/conf.d/cache;

        location ~ /\.svn {
                deny all;
        }

        location ~ /\.ht {
                deny all;
        }
        }

        location ^~ /rutorrent/conf/ {
        deny all;
        }

        location ^~ /rutorrent/share/ {
        deny all;
        }

        ## fin config rutorrent ##

        ## début config seedbox-manager ##

        location ^~ /seedbox-manager {
            alias /var/www/seedbox-manager/public;
            include /etc/nginx/conf.d/php-manager;
            include /etc/nginx/conf.d/cache;
        }

        ## fin config seedbox-manager ##
        ## config utilisateurs  ##

        location /EXRAT {
            include scgi_params;
            scgi_pass 127.0.0.1:5001; #ou socket : unix:/home/username/.session$
            auth_basic "seedbox";
            auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_exrat";
        }

        location /CHELOU {
            include scgi_params;
            scgi_pass 127.0.0.1:5003; #ou socket : unix:/home/username/.session$
            auth_basic "seedbox";
            auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_chelou";
        }
}
(plus la manip /etc/nginx/conf.d/php-manager bien sur de "bonus")
Normalement aucun problème avec le https, j'utilise ma seedbox en full https et j'ai toujours utilisé le plugin
Vérifie le chemin du LS share.php dans la conf du plugin des fois que:
nano /var/www/rutorrent/plugins/fileshare/conf.php
$downloadpath = 'http://{IP_Serveur}/share.php';
Il y a souvent eu des loupés la dessus.

Mais c'est surement lié à cette histoire de conf "bonus". De toute façon à titre perso je trouve que seedbox-manager à rien à foutre à l'accueil du serveur, pas plus qu'un rutorrent ou un phpmyadmin.
Donc pour répondre à la première question, non je changerai pas la conf de Fileshare et du dossier /base qui permet d'avoir un accueil neutre.
Le tuto présente un conf basic (comme les autres tutos du site) d'un plugin rutorrent sur une installation standard de rutorrent.

Donc la conf particulière de SM, c'est pas trop mon soucis parce que sinon on est pas sortie de l'auberge par rapport aux tripatouillage de nginx que chacun bricole dans son coin . Si on veut autre chose on bricole et on vient poster ici après sa configuration "avancé" du truc. Enfin je crois que c'est comme ça que ça devrait fonctionner
Ex.
$downloadpath = 'https://{IP_Serveur}/share.php';
C'est la seule chose que j'ai modif' il fonctionne super bien. Et oui seedbox-manager n'a rien a faire sur une page d'accueil, phpmyadmin de même...Ex a raison, c'est logique, tu mets a disposition des hackers le logiciel permettant de ''contrôler'' ton serveur en page d'accueil, malgré tout un mot de passe ce hack, ou il peut y avoir une faille dans ta config. Moi je ban toutes les ips dessus sauf localhost.
alors dites-moi pourquoi avoir fait un tuto mettant seedbox-manager a la racine du serveur ?
Salut
Ça c'est au créateur qu'il faut poser la question, pas à moi
Et il me semble que Magicalex fourni les 2 conf pour justement palier le problème après qu'on lui en ait parlé, donc le soucis doit pas arriver si on lit le tuto jusqu'au bout.

Ceci dit, le fait que je ne trouve pas ça top engage que moi et les devs de Seedbox-Manager peuvent voir les choses sous un autre angle.
Au même rayon, il n'y a pas de création de dossier "Accueil" dans le tuto manuelle de rutorrent alors que c'est indispensable pour un plugin comme Fileshare.
Donc tout ça oblige à ne pas être passifs devant un tuto et à tenter de piger au max ce qu'on bricole, ce qui est le but premier de site.

Ne pas oublier une choses, c'est que par défaut quand tu choppes ailleurs le plugin, t'as aucune explication et tu te débrouilles totalement à l'aveugle.
Et ici chacun peut apporter son p"tit tuto fait maison sans avoir aucune obligation de standardisation ni avoir à justifier ses choix
Ex.
micah84 wrote:alors dites-moi pourquoi avoir fait un tuto mettant seedbox-manager a la racine du serveur ? :/
Parce que le seedbox manager a été pensé pour être une page d'accueil pour rediriger vers rutorrent, cakebox, et autre.

Tu peux garder le seedbox manager à la racine et faire fonctionner le plugin sans souci.

Exemple : Partie 2

On ouvre le fichier de conf:
nano /etc/nginx/sites-enabled/rutorrent.conf
Et on ajoute ça pour que nginx gère l’accueil sans mots de passe:
    ## début conf base
    
    location ^~ /base {
        root /var/www;
        include /etc/nginx/conf.d/php;
        include /etc/nginx/conf.d/cache;
        satisfy any;
        allow all;
    }

    ## fin conf base
On sauvegarde et on relance nginx:
service nginx restart
Tu peux renommer le dossier par share par exemple et renomer le dossier par share.
Bref vous n'êtes pas obligé de suivre à la lettre nos tutos.
merci à vous tous pour vos explications et tuto au top du top.
Veuillez accepter mes excuses pour mon manque de jugeote, tout fonctionne parfaitement maintenant.
9 mois plus tard
Merci pour ce tuto, j'ai un petit soucis lorsque je vais sur le lien généré j'arrive sur une page FILE NOT FOUND.
J'ai installer ma seedbox a partir du script.
Salut
Je vais faire mon relou encore !
Je me casse le tronc à faire un descriptif complet du script et vous ne prenez pas la peine de le lire:


Reste à voir ce que t'as bricolé derrière par rapport au dossier /var/www/base, y'a une risque de mauvaise surprise si tu relances le script un jour pour de l'ajout/suppression d'user là, bref...

Alors commences par vérifier si t'as bien renseigné le fichier de conf déjà:
nano /var/www/rutorrent/plugins/fileshare/conf.php
Et ensuite, tu vas supprimer le lien symbolique et le recréer:
rm /var/www/base/share.php
ln -s /var/www/rutorrent/plugins/fileshare/share.php /var/www/base/share.php
Voir ce que ça donne déjà avec ça.
Ex.
Merci en fait c'est que j'ai refait la page de /var/www/base et j'ai oublié de remettre le share.php
Mais pour modifier une page index.html y'avait peut-être pas besoin de ruiner tout le reste non ?
Ex.