Installation de transmission-daemon avec interface web + proxy apache

Hi All,

Ici nous allons installer une interface qui va nous permettre de télécharger des torrents sur son serveur depuis une simple interface web.

Pour cela plusieurs outils/interfaces peuvent être utilisés :

-TorrentFlux

-Transmission

Nous utiliserons ici transmission car je le trouve plus stable et avec des fonctions intéressantes.

On commence par télécharger les sources (ici) car la version des dépôts est trop ancienne.

$wget http://mirrors.m0k.org/transmission/files/transmission-1.82.tar.bz2

$tar xvf transmission-1.82.tar.bz2

$cd transmission-1.82

Installation des dépendances :

#apt-get install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev  libnotify-dev libglib2.0-dev

On compile

$./configure

$make

On pourrait remplacer $make par $make -j 2 pour ceux qui ont 2 cœurs.

Et on installe

#make install

Pour le moment rien de bien compliqué. Maintenant on le démarre puis juste après on le kill pour générer un fichier de configuration dans ~/.config/transmission-daemon/

$transmission-daemon

$killall transmission-daemon

Ensuite on édite la configuration avec l’éditeur de votre choix. La conf suivante permet d’accéder à transmission sur le port 9091 avec un utilisateur et un mot de passe et regarde dans un dossier tous les nouveaux .torrent et les ajoute automatiquement. Il suffira donc de glisser un fichier torrent pour que le lancement se fasse automatiquement.

/!\/!\/!\     Respecter bien l’échappement des /  pour  les chemins des dossiers  /!\/!\/!\

$nano .config/transmission/settings.json

{
« alt-speed-down »: 50,
« alt-speed-enabled »: false,
« alt-speed-time-begin »: 540,
« alt-speed-time-day »: 127,
« alt-speed-time-enabled »: false,
« alt-speed-time-end »: 1020,
« alt-speed-up »: 50,
« bind-address-ipv4 »: « 0.0.0.0 »,
« bind-address-ipv6 »: « :: »,
« blocklist-enabled »: false,
« dht-enabled »: true,
« download-dir »: « \/home\/monuser\/Downloads »,   #####Dossier de téléchargemet
« encryption »: 1,
« incomplete-dir »: « \/home\/monuser\/.config\/transmission-daemon\/Incomplete », ###Dossier des fichiers incomplets
« incomplete-dir-enabled »: false,
« lazy-bitfield-enabled »: true,
« message-level »: 2,
« open-file-limit »: 32,
« peer-limit-global »: 240,
« peer-limit-per-torrent »: 60,
« peer-port »: 51413,
« peer-port-random-high »: 65535,
« peer-port-random-low »: 49152,
« peer-port-random-on-start »: false,
« peer-socket-tos »: 0,
« pex-enabled »: true,
« port-forwarding-enabled »: true,
« preallocation »: 1,
« proxy »: «  »,
« proxy-auth-enabled »: false,
« proxy-auth-password »: «  »,
« proxy-auth-username »: «  »,
« proxy-enabled »: false,
« proxy-port »: 80,
« proxy-type »: 0,
« ratio-limit »: 2.0000,
« ratio-limit-enabled »: false,
« rename-partial-files »: true,
« rpc-authentication-required »: true,
« rpc-bind-address »: « 0.0.0.0 »,
« rpc-enabled »: true,
« rpc-password »: « monmotdepasse »,  ####mettre le password en clair il serait chiffrer au prochain démarage de transmission
« rpc-port »: 9091,
« rpc-username »: « monutilisateur »,       #####Login
« rpc-whitelist »: « 127.0.0.1 »,
« rpc-whitelist-enabled »: false,
« speed-limit-down »: 100,
« speed-limit-down-enabled »: false,
« speed-limit-up »: 5,
« speed-limit-up-enabled »: true,
« umask »: 18,
« upload-slots-per-torrent »: 14,
« watch-dir »: « \/home\/bewiwi\/torrent_incoming\/ »,  ### Dossier pour les .torrents
« watch-dir-enabled »: true
}

Ensuite on le lance soit dans un screen (n’oubliez pas de changer le chemin de la configuration)

screen -dmS transmission transmission-daemon -f -g /home/monuser/.config/transmission-daemon

soit en background

transmission transmission-daemon  -g /home/monuser/.config/transmission-daemon

EDIT : Pour modifier la configuration veillez bien que transmission ne soit pas lancer.

Maintenant on peut accéder à transmission sur le port 9091. Vérifiez que cela fonctionne.

Ensuite pour ceux qui ont déjà un serveur apache avec leur virtual host et qu’ils n’ont pas envie de mettre transmission sur le port 80 on peut utiliser le mod proxy de apache pour rediriger nos requêtes sur notre serveur transmission.

Activer les modules suivants :

#a2enmod  rewrite proxy proxy_http

on crée le virtualhost

#nano /etc/apache2/site-available/transmission

on rajoute la configuration suivante dans le fichier en la modifiant pour qu’elle concorde avec votre infrastructure (remplacez torrent.votredomaine.com par votre domaine ):

<VirtualHost *>
RewriteEngine On
ServerAlias torrent.votredomaine.com
Redirect permanent / http://torrent.votredomaine.com/transmission
RewriteRule /transmission[/]?$ /transmission/web [R=permanent]
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /transmission http://127.0.0.1:9091/transmission
ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
</VirtualHost>

ensuite on active le virtual host et on redémarre apache

#a2ensite transmission

#/etc/init.d/apache2 restart

et voilà c’est fini.

EDIT : pour mettre une commande au démarage (serveur transmission) http://bibabox.fr/script-de-demarrage/

/!\

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *