Interface web de Transmission à travers Apache
Par défaut, Transmission met à disposition une interface web en utilisant son propre serveur. Pour des questions d'homogénéité et aussi de sécurité, il est intéressant de passer par Apache pour accéder à son interface web de gestion des torrents.
Dans Apache, on commence par activer les modules liés au proxy.
a2enmod proxy a2enmod proxy_http
Ces modules vont permettre à Apache de communiquer avec le serveur propre à Transmission.
Ensuite dans l'hôte virtuel qui doit permettre d'accéder à l'interface de gestion des torrents, on écrit ces quelques lignes.
RewriteEngine on RewriteRule /torrent[/]?$ /transmission/web [R=permanent] ProxyPass /transmission http://127.0.0.1:9091/transmission ProxyPassReverse /transmission http://127.0.0.1:9091/transmission <Location /transmission> AuthType Digest AuthName "TransmissionWebUI" AuthDigestDomain /transmission AuthDigestProvider file AuthUserFile "/etc/apache2/auth/transmission.htdigest" Require valid-user </Location>
Ainsi, on redirige toutes les requêtes arrivant sur /torrent sur le serveur de Transmission. On utiliser aussi l'authentification via Apache et son module auth_digest que l'on active avec :
a2enmod auth_digest
Pour créer le fichier d'utilisateur, on enchaîne les commandes suivantes.
cd /etc/apache2 mkdir auth htdigest -c transmission.htdigest TransmissionWebUI utilisateur
Note : il faut remarquer que le AuthName est identique au paramètre realm de la commande htdigest.
Maintenant que Apache se charge de contacter le serveur web de Transmission, on peut activer la whitelist du serveur pour n'accepter les requêtes que si elles viennent de l'hôte local et aussi de désactiver l'authentification car c'est aussi Apache qui s'en chargera. Donc dans le fichier /var/lib/transmission-daemon/info/settings.json on change les paramètres suivantes.
- rpc-authentication-required: false
- rpc-whitelist: 127.0.0.1
- rpc-whitelist-enabled: true
Il ne reste qu'à démarrer ou redémarrer les services dont on a modifié les configurations.
service transmission-daemon start service apache2 restart