J’ai enfin pensé à continuer ma série de mémo expliquant comment installer une seedbox. Mieux vaut tard que jamais 😀
Un petit lien vers les deux premiers billets que j’avais rédigé, ils datent un peu mais sont toujours valables :
Installer une seedbox : Pré-requis
Ici je pars du principe que vous avez déjà installé un système d’exploitation sur votre serveur. Ici nous utilisons Debian 8
Installer une seedbox : Configuration des dépôts
Avant tout il va falloir commencer par configurer nos dépôts, les sources depuis lesquelles nous téléchargeons nos paquets, commençons donc par modifier les dépôts de base de notre distribution.
nano /etc/apt/sources.list
Par défaut il est configuré de la manière suivante
deb http://mirror.mephi.ru/debian/ jessie main deb-src http://mirror.mephi.ru/debian/ jessie main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main # jessie-updates, previously known as 'volatile' deb http://mirror.mephi.ru/debian/ jessie-updates main deb-src http://mirror.mephi.ru/debian/ jessie-updates main
Ajoutons donc les dépôts contrib et non-free
deb http://mirror.mephi.ru/debian/ jessie main contrib non-free deb-src http://mirror.mephi.ru/debian/ jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free # jessie-updates, previously known as 'volatile' deb http://mirror.mephi.ru/debian/ jessie-updates main contrib non-free deb-src http://mirror.mephi.ru/debian/ jessie-updates main contrib non-free
Maintenant nous pouvons ajouter de nouveaux dépôts, mais pour le faire nous aurons besoin de leur clé afin de pouvoir authentifier les paquets disponibles
wget --no-check-certificate https://www.dotdeb.org/dotdeb.gpg && apt-key add dotdeb.gpg wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.3.7_all.deb && dpkg -i deb-multimedia-keyring_2016.3.7_all.deb
Créons un fichier de configuration pour le dépot dotdeb
echo "#Dotdeb deb http://packages.dotdeb.org jessie all deb-src http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list.d/dotdeb.list
Meme chose pour le dépôt multimédia
echo "#Deb-Multimedia deb http://www.deb-multimedia.org jessie main non-free" >> /etc/apt/sources.list.d/deb-multimedia.list
Maintenant vous pouvez mettre la lise de vos paquets à jour
apt-get update
Installer une seedbox : Installation des dépendances
Ici rien de bien compliqué, nous allons installer pas mal de paquets qui seront nécessaires pour compiler rtorrent et faire tourner notre seedbox
apt-get install automake libcppunit-dev libtool build-essential pkg-config libssl-dev libcurl4-openssl-dev libsigc++-2.0-dev libncurses5-dev screen subversion apache2-utils curl php7.0 php7.0-fpm php7.0-cli php7.0-curl php7.0-geoip git unzip unrar rar zip ffmpeg buildtorrent mediainfo
Installer une seedbox : Compilation de rTorrent
Sous Debian, rTorrent est déjà disponible depuis les dépôts officiel, il est fourni avec l’interface XML-RPC nécessaire pour fonctionner avec rutorrent. Vous n’êtes donc en rien obligé de suivre les étapes de compilation sauf si comme moi vous préférez utiliser une version mise à jour de rTorrent
Pour utiliser rTorrent via une interface web, rutorrent, nous avons besoin d’utiliser XMLRPC
cd /tmp svn checkout http://svn.code.sf.net/p/xmlrpc-c/code/stable xmlrpc-c cd xmlrpc-c/ ./configure make -j $(nproc) make install
Occupons nous maintenant de libtorrent (dernière version stable 0.13.6)
cd /tmp
git clone https://github.com/rakshasa/libtorrent.git
cd libtorrent
git checkout `git tag | tail -1`
./autogen.sh
./configure
make -j $(nproc)
make install
Et enfin de rTorrent (dernière version stable 0.9.6)
cd /tmp
git clone https://github.com/rakshasa/rtorrent.git
cd rtorrent
git checkout `git tag | tail -1`
./autogen.sh
./configure --with-xmlrpc-c
make -j $(nproc)
make install
N’oubliez pas de générer des liens symboliques pour les librairies récemment installées
ldconfig
Installer une seedbox : Installation et configuration de rutorrent
rutorrent c’est l’interface web qui nous permettra de controler rTorrent, commençons donc par le télécharger
mkdir -p /var/www/html cd /var/www/html git clone https://github.com/Novik/ruTorrent.git rutorrent
Pour rendre ruTorrent utilisable avec un mobile ou une tablette, installons un plugin
cd /var/www/html/rutorrent/plugins/ git clone https://github.com/xombiemp/rutorrentMobile.git mobile chown -R www-data:www-data /var/www/html/rutorrent
Configurons maintenant le rutorrent pour qu’il utilise le paquet buildtorrent lors de la création d’un fichier torrent
nano /var/www/html/rutorrent/plugins/create/conf.php
Que nous configurons de la manière suivante
$useExternal = 'buildtorrent'; $pathToCreatetorrent = '/usr/bin/buildtorrent';
Installer une seedbox : Configuration de PHP
Ouvrons la configuration de PHP7
nano /etc/php/7.0/fpm/php.ini
Dans ce fichier, vérifiez que les variables suivantes soient configurées correctement
expose_php = Off
file_uploads = On
post_max_size = 15M
upload_max_filesize = 15M
; En fonction de votre location
date.timezone = Europe/Paris
Maintenant redémarrons le service php7.0-fpm afin d’appliquer les modifications
service php7.0-fpm restart
Installer une seedbox : Installation et configuration du serveur WEB
Vous vous en doutez, une seedbox nécessite l’utilisation d’un serveur WEB – NGinx ou Apache2
Installer une seedbox : Installation et configuration de NGinx
Installer une seedbox : installation de NGinx
Ici nous allons installer la dernière version de NGinx (mainline). Commencons donc par ajouter la clé de signature des paquets
wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key && rm nginx_signing.key
Maintenant configurons le dépot
echo "#NGinx Mainline deb http://nginx.org/packages/debian/ jessie nginx deb-src http://nginx.org/packages/debian/ jessie nginx" >> /etc/apt/sources.list.d/nginx-mainline.list
Puis installons le paquet
apt-get update && apt-get install nginx
Installer une seedbox : Configuration de NGinx
Optimisons maintenant un peu la configuration de NGinx
mkdir /etc/nginx/auth
rm /etc/nginx/nginx.conf && nano /etc/nginx/nginx.conf
Voici la configuration que je vous conseille
user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 1024; multi_accept on; use epoll; } http { charset UTF-8; ## # Basic Settings ## server_names_hash_bucket_size 64; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
Installer une seedbox : Configuration du virtualhost
Supprimons la configuration du virtualhost par défaut et créons un virtual host pour rutorrent
rm /etc/nginx/conf.d/*.conf && mkdir /etc/nginx/sites-enabled nano /etc/nginx/sites-enabled/seedbox
Avec la configuration suivante :
- nous n’utilisons pas de domaine, vous pouvez très bien le faire en modifiant la variable
server_name
- nous redigeons les requêtes http vers https
- dans cet exemple nous utilisons un certificat ssl auto-signé, si vous disposez de votre propre domaine, vous pouvez obtenir un certificat via let’s encrypt
- Pour se connecter à rutorrent chaque utilisateur devra utiliser un login et un mot de passe
server { listen 80; listen [::]:80; # Redirect all HTTP requests to HTTPS with a 301 Moved Permanently response. return 301 https://$host$request_uri; } #------------------------------------------------------------------------ # BLOCK SERVEUR HTTPS # server { listen 443 ssl http2; server_name seedbox; root /var/www/html/rutorrent; index index.php index.html index.htm; #------------------------------------------------------------------------ # SSL # ssl_certificate /etc/nginx/ssl/seedbox.crt; ssl_certificate_key /etc/nginx/ssl/seedbox.key; ssl_protocols TLSv1.2; ssl_ciphers EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES; ssl_ecdh_curve secp384r1; ssl_prefer_server_ciphers on; # ssl optimizations ssl_session_timeout 5m; ssl_session_cache shared:SSL:20m; ssl_session_tickets on; #------------------------------------------------------------------------ # SECURITY add_header X-XSS-Protection "1; mode=block"; auth_basic "Restricted Area"; auth_basic_user_file "/etc/nginx/auth/seedbox_auth"; #------------------------------------------------------------------------ # PHP # location / { index index.php index.html index.htm; try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ^~ /conf/ { deny all; } location ^~ /share/ { deny all; } }
Installer une seedbox : Configuration SSL
Créons un répertoire qui contiendra notre certificat auto-signé
mkdir /etc/nginx/ssl
Dans ce répertoire, générons un certificat auto-signé
cd /etc/nginx/ssl openssl ecparam -genkey -name secp384r1 -out seedbox.key openssl req -new -key seedbox.key -sha256 -out seedbox.csr openssl req -x509 -days 3650 -sha256 -key seedbox.key -in seedbox.csr -out seedbox.crt
Modifions les droits des fichiers
chmod 644 /etc/nginx/ssl/*.crt chmod 640 /etc/nginx/ssl/*.key
Installer une seedbox : Installation et configuration d’Apache2
Installation d’Apache2
Installons apache2 ainsi que les modules nécessaires
apt-get install apache2 libapache2-mod-php7.0 libapache2-mod-scgi
Activons les modules nécessaires
a2enmod auth_digest ssl scgi
Configuration d’Apache2
Créons les répertoires nécessaires et désactivons la configuration par défaut
mkdir /etc/apache2/auth && a2dissite 000-default
Configurons notre virtualhost
nano /etc/apache2/sites-available/seedbox.conf
Comme pour NGinx nous
- nous n’utilisons pas de domaine, vous pouvez très bien le faire en modifiant la variable
ServerName
- nous redigeons les requêtes http vers https
- dans cet exemple nous utilisons un certificat ssl auto-signé, si vous disposez de votre propre domaine, vous pouvez obtenir un certificat via let’s encrypt
- Pour se connecter à rutorrent chaque utilisateur devra utiliser un login et un mot de passe
NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin votre-email ServerName IP.DU.SERVEUR redirect / https://IP.DU.SERVEUR </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin votre-email ServerName IP.DU.SERVEUR DocumentRoot /var/www/html/rutorrent SSLEngine On SSLCipherSuite EECDH+CHACHA20:EECDH+AESGCM:EECDH+AES SSLHonorCipherOrder on SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCompression off SSLCertificateFile /etc/apache2/ssl/seedbox.crt SSLCertificateKeyFile /etc/apache2/ssl/seedbox.key <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/rutorrent> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/rutorrent-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/rutorrent-access.log combined <Location /> AuthType Digest AuthName "seedbox" AuthDigestDomain /var/www/html/rutorrent/ AuthDigestProvider file AuthUserFile /etc/apache2/auth/seedbox_auth Require valid-user SetEnv R_ENV "/var/www/html/rutorrent" </Location> </VirtualHost> </IfModule>
Activez ce vhost via la commande
a2ensite seedbox
Installer une seedbox : Configuration SSL
Créons un répertoire qui contiendra notre certificat auto-signé
mkdir /etc/apache2/ssl
Dans ce répertoire, générons un certificat auto-signé
cd /etc/apache2/ssl openssl ecparam -genkey -name secp384r1 -out seedbox.key openssl req -new -key seedbox.key -sha256 -out seedbox.csr openssl req -x509 -days 3650 -sha256 -key seedbox.key -in seedbox.csr -out seedbox.crt
Modifions les droits des fichiers
chmod 644 /etc/apache2/ssl/*.crt chmod 640 /etc/apache2/ssl/*.key
Installer une seedbox : Ajout d’un utilisateur
Faites bien attention. Lorsque le nom d’utilisateur noobunbox est écrit en majuscules, vous devez faire de même
Ici nous allons ajoutez l’utilisateur : noobunbox
useradd --shell /bin/bash --create-home noobunbox passwd noobunbox
Maintenant créons pour cet utilisateur les répertoires nécessaires au fonctionnement de rtorrent
mkdir -p /home/noobunbox/{torrents,watch,.session}
Créons un fichier de configuration rtorrent pour noobunbox
nano /home/noobunbox/.rtorrent.rc
Collez la configuration suivante
scgi_port = 127.0.0.1:5001 encoding_list = UTF-8 port_range = 45000-65000 port_random = no check_hash = no directory = /home/noobunbox/torrents session = /home/noobunbox/.session encryption = allow_incoming, try_outgoing, enable_retry schedule = watch_directory,1,1,"load_start=/home/noobunbox/watch/*.torrent" schedule = untied_directory,5,5,"stop_untied=/home/noobunbox/watch/*.torrent" 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 = 15 execute = {sh,-c,/usr/bin/php /var/www/html/rutorrent/php/initplugins.php noobunbox &} schedule = espace_disque_insuffisant,1,30,close_low_diskspace=500M
Puisque je suppose que vous n’avez pas crée d’utilisateur nommé noobunbox, voici une petite commande pour remplacer mon nom d’utilisateur par le votre (ici votre-utilisateur)
sed -i -e 's/noobunbox/votre-utilisateur/g' /home/votre-utilisateur/.rtorrent.rc
Maintenant appliquons les permissions nécessaires
chown --recursive noobunbox:noobunbox /home/noobunbox chown root:root /home/noobunbox chmod 755 /home/noobunbox
L’etape suivante dépend du programme utilisé comme serveur web, NGinx ou apache2. Vous trouverez ci-dessous les manipulations à effectuer
Sous NGinx
nano /etc/nginx/sites-enabled/seedbox
Et ajoutez le bloc suivant (le port de la variable scgi_pass
pour l’utilisateur doit être le même que celui indiqué dans le fichier .rtorrent.rc
)
location /NOOBUNBOX { include scgi_params; scgi_pass 127.0.0.1:5001; auth_basic "Restricted Area"; auth_basic_user_file "/etc/nginx/auth/seedbox_auth noobunbox"; }
Puisque nous avons configuré NGinx pour demander un mot de passe lors de l’accès a rutorrent pour l’utilisateur noobunbox, configurons un mot de passe pour cet utilisateur.
htpasswd -c -B /etc/nginx/auth/seedbox_auth noobunbox
Protégeons un minimum ce fichier
chmod 600 /etc/nginx/auth/seedbox_auth chown www-data:www-data /etc/nginx/auth/*
Créons maintenant un fichier de configuration rutorrent pour l’utilisateur noobunbox
mkdir /var/www/html/rutorrent/conf/users/noobunbox nano /var/www/html/rutorrent/conf/users/noobunbox/config.php
Que nous configurons comme ci-dessous (encore une fois, le port scgi doit être le même que celui indiqué dans le fichier .rtorrent.rc et dans la configuration du vhost NGinx)
<?php $pathToExternals['curl'] = '/usr/bin/curl'; $topDirectory = '/home/noobunbox'; $scgi_port = 5001; $scgi_host = '127.0.0.1'; $XMLRPCMountPoint = '/NOOBUNBOX';
Corrigeons les permissions et redémarrons NGinx
chown -R www-data:www-data /var/www/html service nginx restart
Sous Apache2
Commençons par éditer le fichier principal de la configuration d’apache2
nano /etc/apache2/apache2.conf
Ajoutez à la fin du fichier la configuration suivante (le port SCGIMount doit correspondre à celui de votre utilisateur)
ServerName localhost SCGIMount /RPC1 127.0.0.1:5001
Puisque nous avons configuré Apache2 pour demander un mot de passe lors de l’accès a rutorrent, configurons un mot de passe pour notre utilisateur noobunbox. (seedbox correspond à la variable AuthName
utilisé dans notre virtualhost)
htdigest -c /etc/apache2/auth/seedbox_auth seedbox noobunbox
Créons maintenant un fichier de configuration rutorrent pour l’utilisateur noobunbox
mkdir /var/www/html/rutorrent/conf/users/noobunbox nano /var/www/html/rutorrent/conf/users/noobunbox/config.php
Que nous configurons comme ci-dessous (encore une fois, le port scgi doit être le même que celui indiqué dans le fichier .rtorrent.rc et dans la configuration générale d’Apache2)
<?php $pathToExternals['curl'] = '/usr/bin/curl'; $topDirectory = '/home/noobunbox'; $scgi_port = 5001; $scgi_host = '127.0.0.1'; $XMLRPCMountPoint = '/RPC1';
Corrigeons les permissions et redémarrons Apache2
chown -R www-data:www-data /var/www/html service apache2 restart
Installer une seedbox : Configuration du Service rTorrent
Nous allons maintenant créer et configurer un script afin que rtorrent soit lancé par cet utilisateur
cd /etc/init.d/ touch noobunbox-rtorrent chmod +x noobunbox-rtorrent
Configurons le script
nano noobunbox-rtorrent
Remplacez noobunbox par votre nom d’utilisateur
#!/usr/bin/env bash # Dépendance : screen, killall et rtorrent ### BEGIN INIT INFO # Provides: <username>-rtorrent # Required-Start: $syslog $network # Required-Stop: $syslog $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Start-Stop rtorrent user session ### END INIT INFO ## Début configuration ## user="noobunbox" ## Fin configuration ## rt_start() { su --command="screen -dmS ${user}-rtorrent rtorrent" "${user}" } rt_stop() { killall --user "${user}" screen } case "$1" in start) echo "Starting rtorrent..."; rt_start ;; stop) echo "Stopping rtorrent..."; rt_stop ;; restart) echo "Restart rtorrent..."; rt_stop; sleep 1; rt_start ;; *) echo "Usage: $0 {start|stop|restart}"; exit 1 ;; esac exit 0
Nous souhaitons que ce script soit exécuté au démarrage du serveur
update-rc.d noobunbox-rtorrent defaults
La configuration de votre premier utilisateur est terminée. Si vous souhaitez ajouter un second utilisateur vous devrez répéter cette manipulation. N’oubliez pas que chaque utilisateur doit avoir un port scgi différent !
Il ne vous reste plus qu’à lancer votre seedbox via la commande suivante
service noobunbox-rtorrent start
Maintenant connectez-vous sur l’ip de votre seedbox (en HTTPS). Tout devrait fonctionner.
Merci à Francois pour la relecture 🙂
Je suis en train de mettre en place. Je vais donc poster mes remarques
* il manque un apt update après les modifs des sources
* je pense qu’il serait mieux d’éclater la liste dépendance. Par exemple, nginx, d’autres pourraient préférer apache.
J’ai corrigé pour apt-upgrade.
Concernant apache2 je vais attendre de voir, cela fait un bail que je ne l’utilise plus. Il faut que je l’installe sur une machine virtuelle pour faire des tests de configuration 🙂
Pour l’installation de rtorrent, je suggère
git checkout `git tag | tail -1`
pour récupérer automatiquement la dernière version 😉
Merci François pour tes commentaires, je vais m’occuper de ça dans la journée 🙂
C’est drôle, le contenu des deux billets
Introduction a la création d’une seedbox
Mise en place de votre serveur
sont identiques 🙂
Je m’en étais même pas aperçu 😐 je me suis mélangé les pinceaux quand j’ai migré mon blog après un crash il y a un mois ou deux
Edit : Résolu
Il manque un petit sudo /etc/init.d/seedbox-rtorrent start à la fin 😉
Effectivement 🙂 c’est corrigé 🙂 Encore une fois merci
Le tutoriel a été mis à jour pour rendre l’installation d’une seedbox compatible avec Apache2
Merci beaucoup !!!
J’avais suivi le même tuto depuis Mondedie mais ça ne marchait pas à la fin, et là sans aucun problème :’)
Prochaine étape, Plex ou Cakebox !
En tout cas, c’est bien présenté, bien expliqué (je relirais ce que sont censé faire les commandes à tête reposée 🙂 )
Bonjour Krammer,
Merci pour ton commentaire. Heureux que ça fonctionne.
Par contre, tu sais comment je peux accéder à ruTorrent mais en ajoutant « /rutorrent » ou autre sur l’IP de mon serveur ? et pas tomber directement dessus, comme ça c’est plus ordonné si je veux ajouter d’autres fonctionnalités !
Merci en tout cas 🙂
EDIT : en fait j’ai trouvé, c’est la variable « root » du nginx, je l’ai mis à /var/www/html au lieu de rutorrent
J’espère que c’est la bonne méthode à faire, des fois c’est tellement vicieux x)
Oui c’est ce qu’il fallait faire.
Bonjour, cela ne fonctionne pas chez moi => « 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 ». J’ai suivi à la lettre le tuto sous Apache2, sur une fresh install de Debian 8.4 (Kimsufi). J’ai même, par dépit, testé avec seulement l’utilisateur « noobunbox » juste pour voir si en appliquant à la lettre le tuto cela allait fonctionner, mais non. Déjà, une petite erreur c’est glissé : dans l’activation du module ssl et scgi, il manque un caractère: « a2enmod auth_digest… Lire la suite »
Bonjour.
C’est assez bizarre puisque j’ai testé la configuration sous apache2 et je n’avais eu aucun problème.
J’y jetterais un coup d’œil quand j’aurais un peu de temps
Re,
Je viens de tout tester sur une machine virtuelle, tout a fonctionné correctement:
– NameVirtualHost *:80 n’entraîne aucune erreur
– Pas besoin de « / »dans redirect
Vérifie que ton port SCGI soit exactement le meme partout / utilisateur
Le plus simple pour trouver les erreurs est de se loguer en SSH sur le serveur et de lancer la commande « rtorrent » un des utilisateurs configurés.
Bonjour, je voudrais faire une seedbox en local sur un server hp proliant G8,et installer aussi un vpn.J’ai déja mis en place rutorrent sur debian 8 grace a ce tuto, https://getbrain.fr/installer-seedbox-simplement/
mais je n’arrive pas du tout a installer mon vpn.Pouvez vous me filez un coup de main svp ?
Merci
Bonjour,
Vous pouvez utiliser un des scripts suivants:
– https://github.com/Nyr/openvpn-install
– https://github.com/Angristan/OpenVPN-install
Je ne garantis pas le fonctionnement d’un script sur votre machine.
Merci pour votre aide
Je vous en prie
Bonjour,
Le depot « http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.3.7_all.deb » n’est plus disponible donc on a une erreur à la partie « Ajoutons donc les dépôts contrib et non-free »
A remplacer par « http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb »
Oui malheureusement ce paquet change constamment d’adresse.
Merci pour ce chouette tuto
Petit commentaire : Lorsqu’on ajoute un 2e utilisateur, il faut enlever le « -c » du htpasswd (si on utilise nginx)
htpasswd /etc/nginx/auth/seedbox_auth noobunbox
En effet :
– htpasswd -c /etc/nginx/auth/seedbox_auth noobunbox permet grace à l’option « c » de créer le fichier
– htpasswd /etc/nginx/auth/seedbox_auth noobunbox2 permet d’ajouter un second utilisateur, ici noobunbox2, au ficher /etc/nginx/auth/seedbox_auth
– htpasswd /etc/nginx/auth/seedbox_auth noobunbox permet de mettre à jour le mot de passe de l’utilisateur noobunbox
PS: je vais modifier le billet afin d’utiliser l’algorithme bcrypt, en utilisant l’option -B
je viens d’acquérir un kimsufi 2 TO, sur un debian 8.7
sur le site mondedie, ça ne fonctionne pas, sans problèmes, de mises à jour de packages,
sur votre site cette ligne là au début n’est plus à jour :
wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.3.7_all.deb && dpkg -i deb-multimedia-keyring_2016.3.7_all.deb
Bonsoir,
En effet, comme expliqué précédemment ce package change souvent d’adresse il te suffit de récupérer la dernière version ici :
http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/
Bonjour,
Merci pour ce tuto complet.
Malheureusement, après avoir suivu ce tuto, quand je lance l’interface web, j’ai ce message dans le journal:
« 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. »
j’ai regardé la conf des ports, et ca martch, j’utilise le port 5001
Si quelqu’un a rencontré le problème, je suis preneur d’une solution
Bonjour Eversor,
Tu utilises Apache ou NGinx ?
Que donne la commande sudo service utilisateur-rtorrent status ?
Le service est up: ● userlocal-rtorrent.service – LSB: Start daemon at boot time Loaded: loaded (/etc/init.d/userlocal-rtorrent) Active: active (running) since mer. 2017-02-01 14:25:11 CET; 1h 25min ago Process: 959 ExecStop=/etc/init.d/userlocal-rtorrent stop (code=exited, status=0/SUCCESS) Process: 963 ExecStart=/etc/init.d/userlocal-rtorrent start (code=exited, status=0/SUCCESS) CGroup: /system.slice/userlocal-rtorrent.service ├─966 SCREEN -dmS userlocal-rtorrent rtorrent └─967 rtorrent févr. 01 14:25:11 debian userlocal-rtorrent[963]: Starting rtorrent… févr. 01 14:25:11 debian su[964]: Successful su for userlocal by root févr. 01 14:25:11 debian su[964]: + ??? root:userlocal févr. 01 14:25:11 debian su[964]: pam_unix(su:session): session opened for…0) févr. 01 14:25:11 debian systemd[1]: Started LSB: Start daemon at boot time. Hint: Some lines were ellipsized,… Lire la suite »
Ok stoppe le service, change d’utilisateur et lance rtorrent. Recharge la page et dis moi si ca fonctionne ou si tu as des erreurs :
su root
service usrlocal-rtorrent stop
su usrlocal
rtorrent
Ok, déjà je me log en root a chaque fois sur Debian (je sais c’est pas bien, mais c’est pour l’installation)
donc j’ai arreté le service, userlocal-rtorrent, changé l’utilisateur, mais que dois me donner la commande « rtorrent » ?
car j’ai une page vide (presque) qui s’affiche avec en bas de page des infos Thottle; Rate, Port….
quand je relance ma page web, j’ai le même problème. ça n’a pas changé.
@Eversor
Ok donc tu as une erreur au niveau de la configuration du serveur web, ou de l’utilisateur rutorrent.
Bonjour se serait plus facile si vous mettiez à jour votre listing, moi je suis un newbie, merci à vous pour votre formidable travail
Bonjour,
Essayez d’analyser le commandes plutôt que de simplement faire du copier et coller.
Pour cette commande il suffit de modifier les numéros de versions. Vous trouverez meme le lien qu’il faut utiliser dans les commentaires.
Bon courage
@Novakin Je reviens sur mon erreur, c’est corrigée, j’ai fini par trouver. c’était dans le fichier .rtorrent.rc, seul endroit ou je n’avais pas fait la modif de mon port. par contre, je me retrouve avec une autre erreur 🙁 Bad response from server: (200 [parsererror,getintervals]) {« next »:596, »interval »:30 A quoi cela correspond t’il ? J’ai quand même testé d’ajouter un torrent et cela fonctionne. donc pour le moment, je ne vois pas de problème technique. Merci encore pour votre aide. Votre Tuto est très formateur quand on débute (c’est mon premier « projet » sous Unix Mon but maintenant est de faire une authentification… Lire la suite »
Merci pour le retour bien complet. Bizarre comme erreur.
Vous utilisez quel serveur web ? NGinx ou Apache ? Si vous utilisez NGinx essayez de remplacer
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
par
fastcgi_param SCRIPT_FILENAME $request_filename;
et redémarrez nginx sudo service nginx restart
C’est apache.
Comme je dis, ça n’empêche pas le bon fonctionnement de l’outil, mais tant qu’a faire, autant comprendre ce message.
Merci encore.
Meme chose pour moi, ça m’intéresse de savoir ce qui produit cette erreur.
Vous pouvez essayer d’aller fouiner dans vos logs d’erreur apache2 et retrouver cette erreur ?
J’ai stoppé les services Apache et Rtorrent.
J’ai relancé les services, et je me suis connecté à l’interface web.
Voici ce que j’ai dans mon fichier errors.log:
[Wed Feb 01 23:03:55.878695 2017] [auth_digest:notice] [pid 6744] AH01757: generating secret for digest authentication …
[Wed Feb 01 23:03:55.892818 2017] [mpm_prefork:notice] [pid 6744] AH00163: Apache/2.4.10 (Debian) mod_scgi/1.13 OpenSSL/1.0.1t configured — resuming normal operations
[Wed Feb 01 23:03:55.892845 2017] [core:notice] [pid 6744] AH00094: Command line: ‘/usr/sbin/apache2’
Et les erreurs rutorrent au cas ou:
[Wed Feb 01 23:03:55.870617 2017] [ssl:warn] [pid 6743] AH01906: mondomaine.local:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Wed Feb 01 23:03:55.890642 2017] [ssl:warn] [pid 6744] AH01906: mondomaine.local:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
Je ne vois rien correspondant à (200 [parsererror,getintervals]) {« next »:596, »interval »:30, tente le fichier qui log les accès apache.
Hello,
me voila de retour.
je n’ai plus les messages d’erreur.
Je pense que c’était lié a une erreur dans mon installation.
En fait, j’ai reinstallé ma seedbox, car pour une raison inconnu, je n’arrive plus a télécharger. par contre l’upload fonctionne bien…
je donnerai bien 100 euros à celui ou celle qui m’installera la distribution ici sur Debian 8.7 sur kimsufi 2 TO,
j’en ai assez de réinstaller le tout à chaque fois, c’est prise de tête…
avec le listing bien sur pour réinstaller le tout, et que ça fonctionne en SFTP,
en SSL, et avec les gestionnaire d’utilisateur…merci de faire offre,
moi je m’en sors pas, ça fait 15 fois que j’essai et rien de ne se passe,
faire offre par email :
Attention au spam (EDIT)
paiement si résultat garantie seulement
Merci super Novakin, ça vallait le coup pour 100 euros, ça marche nickel et rapide en plus,
je voudrais savoir s’il y a possibilité d’y ajouter un wordpress sur le site avec nginx ?
j’ai plus de sous cette fois ci, si tu me trouves un tuto, ç’est surement pas dur à réaliser je pense,
Oui tu peux ajouter un blog avec Nginx.
Tu télécharges et décompresses WordPress dans un dossier par exemple /var/www/html/wordpress et tu ajoutes un bloc nginx, dans le bloc server, par ex
location /wordpress {
root /var/www/html;;
include conf.d/cache.conf;
include conf.d/php.conf
}
j’ai perdu ma page de garde index.html ou pointe mon site mais j’ai toujours accès au login wordpress, je ne sais pas comment reseeter wordpress pour recommencer, j’ai du merder dans les permaliens, voilà dis moi si tu peux faire qq chose , merci Novakim
Bonjour,
Merci pour ce tuto. Je suis en train de réinstaller car je suis passé à Debian 8.
2eme installation et j’ai toujours le message suivant:
500 Internal Server Error
nginx
Je suis scrupuleusement le tuto, et je change le nom de l’utilisateur par le mien (même dans les scripts et en minuscule si minuscule, et majuscule si majuscule).
Une idée pour cette erreur ?
Merci par avance
Salut Ernie,
Je te conseille de faire un tour dans les logs NGinx, cela te permettra d’avoir plus d’infos sur ce qui pose te pose problème.
Merci. Où sont situés ces logs ? Je suis un peu noob en debian
/var/log/nginx/error.log && /var/log/nginx/access.log
J’ai dans le error.log:
2017/02/12 12:28:54 [crit] 1096#1096: *4 crypt_r() failed (22: Invalid argument), client: 192.168.xxx.zzz, server: seedbox, request: « GET /rutorrent/ HTTP/2.0 », host: « 192.168.xxx.yyy »
j’ai anonymisé les ip.
Cela te parle t il ?
Ce n’est pas la peine d’anonymiser une IP locale 😉
Sinon je pense savoir d’ou vient le problème.
Recrée le fichier protégeant l’accès à rutorrent en supprimant l’option -B :
htpasswd -c /etc/nginx/auth/seedbox_auth ton-nom-d-utilisateur
EDIT : N’oublie pas de redémarrer NGINX ensuite
Merci.
Cela s’améliore, je passe au message
404 Not Found
nginx
rien dans le error.log.
Access.log dit:
192.168.150.xx – monuser [12/Feb/2017:13:46:43 +0100] « GET /rutorrent/ HTTP/2.0 » 404 213 « – » « Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0 »
Je séche. Je me demande repartir de zéro ne serai pas mieux
Assure toi d’avoir bien téléchargé et configuré rutorrent dans le dossier /var/www/html/
Ensuite pas besoin d’indiquer rutorrent dans l’url, seulement l’ip du serveur
C’est bon. J’avais pas capté qu’il fallait seulement pointer vers l’ip et non pas ip/rutorrent/
Bon une étape de passer. Par contre rutorrent me dit:
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 vais vérifier les fichier de config.
J’ai trouvé (erreur sur la création des répertoires watch,…).
C’est OK
Encore merci de ton aide.
Un conseil de noob : mais dans le tuto directement l’adresse à verifier pour définir le numéro du paquet:
http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/
Hello
SUite à un reboot j’ai dans rutorrent:
[12.02.2017 15:00:35] 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.
J’ai testé des services XXX restart et stop/start mais rien n’y fait. Avant le reboot rutorrent détectait rtorrent.
Merci par avance de vos aides
stoppe le service rtorrent, supprime le fichier .lock dans le dossier .session et redémarre le service rtorrent
Bon à savoir.
Qu’est ce qui bloque le lock ? Le reboot ne stoppe t il pas proprement l’arret de rtorrent ?
Je pense
Hello Novakin, Ma seedbox fonctionne a merveille, j’ai réussi a mettre en place une authentification LDAP, mais elle est fonctionnelle que pour un vhost particulier. Sur rutorrent cela fonctionne pas. Je suis bien authentifié, mais impossible a se connecter a rtorrent. alors, mon besoin n’est pas exactement comme tu le cites a la fin de ton tuto. Mes users sont sur le LDAP, je voudrais qu’ils aient tous accès a la meme session rtorrent. Dès que je me connecte avec un autre user, j’ai un nouveau répertoire USER dans home. comment puis je le faire matcher avec mon user local… Lire la suite »
Bonjour,
Tout d’abord merci pour ce tuto 😉
Voila je rencontre un problème avec le scripte pour démarrer rtorrent.
J’ai bien réalisé le fichier comme illustré dans le tuto mais la commande s’exécute sans erreur mais aucun processus ce lance auriez vous une idée ?
Salut,
Tu as bien entré toutes les commandes nécessaires pour que ce fichier se lance au démarrage (chmod et update-rc.d) ?
Sinon copies et colles le contenu de ton script
Salut Eversor,
Désolé de répondre aussi tardivement.
Pour être franc je n’en ai aucune idée, je n’utilise pas LDAP. Mais si tu trouves la solution à ton problème n’hésite pas à la poster ici.
Bon courage
Hello, j’ai fini par trouver (ce jour), et tout seul !!! (j’ai lutté quand même) Alors c’est peut être pas la meilleure solution, mais elle marche ! Dans la conf du fichier seedbox.conf ( nano /etc/apache2/sites-available/seedbox.conf ou bien nano /etc/apache2/sites-enable/seedbox.conf) dans la partie location il faut remplacer AuthType Digest AuthName « seedbox » AuthDigestDomain /var/www/html/rutorrent/ AuthDigestProvider file AuthUserFile /etc/apache2/auth/seedbox_auth Require valid-user SetEnv R_ENV « /var/www/html/rutorrent » par AuthName « !!!!! Restricted Area !!!!! » AuthType Basic AuthBasicProvider ldap AuthLDAPURL « ldap://IP_DU_SERVEUR_LDAP:3268/DC=EVERSOR,DC=FR?samaccountname?sub?(objectClass=*) » NONE AuthLDAPBindDN « EVERSOR\eversor » AuthLDAPBindPassword passeversor require valid-user (Il faut biensur remplacer les valeurs par vos valeurs a vous… , dans mon exemple j’ai utilisé le domaine… Lire la suite »
Salut Eversor!
Merci beaucoup pour ton message ! N’hésite pas à revenir ajouter des corrections en cas de besoin,
J’ajouterai ta config en fin de post quand j’aurai un peu plus de temps
Bonjour Novakin, Tout d’abord, magnifique Tuto, cohérent et tellement bien expliqué que même un néophyte comme moi sous Debian, a pu comprendre et mettre cette seedbox en place en moins de 6 heures (et oui, j’ai du débuggé ma propre syntaxe transposée : même problème que François au départ, et ce pour 1 espace et 1 caractère à 2 endroits différents !) J’ai choisi l’installation avec serveur Apache qui me rappelait davantage de souvenirs. Il ne me reste plus qu’à configurer l’accès par FTP pour la récupération des fichiers en local et je serai paré. A ce sujet, si quelqu’un… Lire la suite »
Edit : En fait, cela fonctionne déjà en sFTP : je n’avais simplement pas utilisé un downloader qui le gérait… Boulet, boulet, boulet… Encore merci Novakin pour ce partage et cette présentation claire.
Salut Mike,
Merci pour tes commentaires. Tu as raison il vaut mieux privilégier les connexions SFTP : la connexion est sécurisée par défaut contrairement au FTP
Cela fonctionne niquel, c’est vraiment super bien ce tuto. Fais plutôt rapidement et terriblement efficace !
ça fait plaisir de voir du bon travail 😉
L’unique reproche que je peux faire c’est de regrouper toutes la procédure avec apache ou juste nginx, mais cela est du pur détail.
Merci beaucoup 🙂
Etape 2 pour moi compléter le serveur avec le serveur média Emby que je vous recommande à tous !
Salut Nicolas,
Merci pour ton commentaire. Concernant le fait d’avoir regroupé apache2 et nginx, au départ je n’avais pas inclus une partie apache2.
C’est un des lecteurs du blog qui m’a proposé de l’ajouter et m’a donné sa configuration que j’ai ensuite testée.
Je suis plutôt un utilisateur de Plex mais il faudrait que je teste Emby au moins une fois
Bonjour, Le tuto n’a pas fonctionné du premier coup pour moi à cause du fichier script de lancement au démarrage et les commentaires qui contiennent des accents (j’ai quand même cherché pendant 2 jours pourquoi le screen ne voulait pas se lancer sans aucun message d’erreur…) Aussi, je recommande la modification suivante : « ## Début configuration ## user= »noobunbox » ## Fin configuration ## » A remplacer par « ## Begin configuration ## user= »noobunbox » ## End configuration ## » Surtout que tout le reste du fichier et en anglais, pourquoi mettre juste ces deux commentaires en français avec des accents que Linux n’aime pas du… Lire la suite »
Hello,
tout fonctionne depuis 4 mois exepté un point (fine tuning)
Depuis un ipad impossible de se connecter à rutorrent. J’ai enlevé le plugin rutorrent mobile et garder le plugin ipad.
Sur l’ipad rutorrent demande l’ID et le mot de passe et j’ai:
404 not found nginx
J’ai le message suivant dans access.log de nginx:
ipipad – – [14/Jun/2017:14:47:40 +0200] « GET /rutorrent/ HTTP/2.0 » 401 294 « – » « Mozilla/5.0 (iPad; CPU OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1 »
Je suis preneur de conseil, merci
Oubli : idem si je mets rutorrent mobile et que j’enlève le plugin ipad
Bonjour Ernie,
Désolé pour le temps de réponse, je devrai pouvoir tester ça en fin de semaine debut de semaine prochaine sur un iPad
Ok. As tu pu tester ?
Ernie
Bonjour, Merci pour ce tuto ! Je l’ai suivi à la lettre avec la partie apache2 et j’ai un soucis lorsque je suis sous ruTorrent : 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 J’ai fait : su root service usrlocal-rtorrent stop su usrlocal rtorrent Et j’ai un message bash: rtorrent : commande introuvable J’ai fait deux fois le tuto from scratch et je tombe sous la même erreur. J’ai vérifié chaque fichier de conf suite au copier… Lire la suite »