Installer transmission

Il est parfois pratique d’avoir un client bittorent à disposition. Dans cette note je détail l’installation de Transmission ainsi que la configuration de son interface web via Apache sur un serveur dédié sous Debian.

Installation

apt install transmission-daemon

Configuration

Edition du fichier de configuration :

vi /etc/transmission/settings.json

Lignes à modifier :

"download-dir": "/media/downloads",
"incomplete-dir": "/media/downloads",
"rpc-authentication-required": true,
"rpc-host-whitelist-enabled": false,
"rpc-password": "xxx",
"rpc-username": "torrent",
"rpc-whitelist-enabled": false,

Reload du service afin de prendre en compte la nouvelle configuration :

systemctl reload transmission-daemon

Warning : ne pas utiliser restart. Cela a pour effet de réinitialiser le fichier de configuration.

Création du sous domaine

L’idéee est de mettre à disposition l’interface web via une url de type https://torrent.domain.tld .

Un CNAME doit être ajouter dans les enregistrements DNS du registar :

torrent	CNAME	10800	domain.tld.

Création du certificat

Comme nous souhaitons exposer le service via https, nous allons créer un certificat let’s Encrypt dédié. Le service Apache doit être stoppé pour cette opération.

systemctl stop apache2
certbot certonly --standalone -d torrent.domain.tld --rsa-key-size 4096

Configuration Apache

Le service web de transmission est disponible par défaut à l’adresse http://localhost:9091/transmission/web. Afin d’exposer le service vers l’extérieur à l’adresse https://torrent.domain.tld, un peu de configuration Apache est nécessaire. Création d’un vhost et définition d’un reverse proxy.

La première étape est de stopper Apache si ce n’est pas déjà fait.

systemctl stop apache2

Les modules Apache suivant doivent être activés :

a2enmod rewrite proxy proxy_http

Création du nouveau vhost dans /etc/apache2/sites-available :

vi torrent.conf
<VirtualHost *>
        ServerName torrent.domain.tld

        RewriteEngine On

        RewriteCond %{SERVER_PORT} =80
        RewriteRule ^/(.*)$ https://%{SERVER_NAME}:443/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
        ServerName torrent.domain.tld

        SSLCertificateFile /etc/letsencrypt/live/torrent.domain.tld/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/torrent.domain.tld/privkey.pem

        ProxyPass / http://torrent.domain.tld:9091/
        ProxyPassReverse / http://torrent.domain.tld:9091/
</VirtualHost>

Activaiton du vhost et redémarage :

a2ensite torrent
systemctl stop apache2

Et voilà ! Si tout est correct, le client transmission est désormais disponible à l’adresse : https://torrent.domain.tld.