Apache et transmission-daemon

Url qui passe de xxx.xxx.xxx.xxx:9091/transmission/web/ à http://torrent.domain.com/

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous, et désolé si je ne suis pas dans le bon forum, je n'ai pas trop su où poster :/

J'ai installé sur un serveur, un client torrent : Transmission. Le démon de transmission tourne sur le serveur, et je peux y intéragir avec depuis mon navigateur depuis ip.ip.ip.ip:9091/tranmission/web/.

Pour que ce soit un peu plus sexy, j'ai suivi quelques conseils en ligne en utilisant apache. J'ai donc créer un virtualhost sur torrent.domain.com.

J'ai un peu changé la config de transmission :

1
2
3
4
5
6
cat /etc/transmission-daemon/settings.json | grep "rpc"
    "[...]", 
    "rpc-enabled": true,
    "rpc-port": 4242,
    "rpc-url": "/",
    "[...]", 

Cette config me permet d'accèder à transmission depuis xxx.xxx.xxx.xxx:4242/web/

Voici mon vhost pour apache2 :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
cat /etc/apache2/sites-availables/domain

[...]
<VirtualHost *:80>
    ServerName  torrent.domain.com

    ProxyRequests On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:4242/
    ProxyPassReverse / http://127.0.0.1:4242/
</VirtualHost>

Jusque là, je m'en sors bien. Je n'ai plus qu'à mettre torrent.domain.com/web/ dans mon navigateur pour arriver sur transmission. Mais j'aimerais faire mieux !

A savoir quand je tape torrent.domain.com, il ajoute tout seul /web/ dans l'url, et avec de l'url rewrite il ne me l'affiche pas dans l'url.

Edit : après relecture je ne sais pas si je suis très clair :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
cat /etc/apache2/sites-availables/domain

[...]
<VirtualHost *:80>
    ServerName  torrent.domain.com

    RewriteEngine On
    #Redirection de / sur /web/
    #Réecriture d'url pour afficher / au lieu de /web/

    ProxyRequests On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:4242/
    ProxyPassReverse / http://127.0.0.1:4242/
</VirtualHost>

J'ai essayé un tas de truc dans mon vhost, mais à chaque fois j'explose mon url :/

Quelqu'un a une idée ?

Merci, Krostar.

+0 -0

Salut,

Ce tutoriel montre comment utiliser mod_rewrite pour cela.

Si j'ai bien compris, il s'agirait d'une règle de ce type :

1
2
3
RewriteEngine on
RewriteCond %{HTTP_HOST} ^torrent.domain\.com$
RewriteRule ^(.*)$ http://torrent.domain.com/web

Quelques documents pour t'aider :
- une intro
- une doc plus complète

Ça t'aide ?

Édit :

En ajoutant une directive documentRoot pointant vers le répertoire qui contient les fichiers de torrent.domain.com/web, ça ne suffit pas ?

+0 -0

C'est grosso modo ce que j'avais essayé et j'ai toujours le droit à un "Cette page présente une boucle de redirection"

Pour le documentroot, j'ai lu sur un forum que c'étais impossible mais j'ai pas retenu le pourquoi…

(le forum est tout pété en ce moment ?? je fais un ctrl+v, j'ai le formulaire qui me met 5 fois les icones du markdown, je poste il me dit erreur CRSF, l'accueil c'est une erreur 500, je me fais déco dès que je change de page…)

Edit : merci Eskimon pour le déplacement :)

Si tu as d'autres idées ? :/

+0 -0

Je risque de paraître un peu stupide, mais… Pourquoi tout simplement ne pas mettre /web/ dans ta directive ProxyPass (ProxyPass / http://127.0.0.1:4242/web/) ? Comme ça, tu n'as pas besoin de taper /web/, et en plus il ne s'affiche plus du tout.

+0 -0

J'ai utilisé pendant longtemps transmission et j'ai eu le même problème.
Je te donne ma configuration d'Apache

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<VirtualHost 0.0.0.0:80>
    ServerAdmin contact@domain.fr
    ServerName transmission.domain.fr
    ServerAlias transmission.domain.fr

    Redirect / /transmission    
    ProxyPreserveHost On
        ProxyRequests off
        ProxyPass /transmission http://127.0.0.1:9091/transmission
        ProxyPassReverse /transmission http://127.0.0.1:9091/transmission

    CustomLog /var/log/apache2/transmission/access.log combined
    ErrorLog /var/log/apache2/transmission/error.log    
</VirtualHost>

Config transmission-daemon

1
2
3
4
[...]
"rpc-port": 9091,
"rpc-url": "/transmission/"
[...]

Je mets transmission-daemon en écoute sur 127.0.0.1 pour que personne puisse accéder depuis l'extérieur sur le port 9091.
Apache fait office de reverse proxy pour plus de sécurité.

Merci pour ta réponse, mais j'ai eu le temps de tester d'autres client torrent entre temps, et deluge et clairement meilleur selon moi. Je suis donc rester avec deluge.

Mon VHost lié à Apache, devient beaucoup plus simple aussi du coups ^^.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<VirtualHost *:80>
    ServerName torrent.ndd.co

    ProxyRequests On
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:4242/
    ProxyPassReverse / http://127.0.0.1:4242/
</VirtualHost>

Edit : Sinon, la solution que j'avais utilisée pour mon VHost avec transmission était celle-ci :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<VirtualHost *:80>
    ServerName  torrent.ndd.co

    Redirect permanent / http://torrent.ndd.co/transmission
    RewriteEngine On
    RewriteRule /transmission[/]?$ /transmission/web/ [R=permanent]

    ProxyRequests On
    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>
    ProxyPass /transmission http://127.0.0.1:4242/transmission
    ProxyPassReverse /transmission http://127.0.0.1:4242/transmission
</VirtualHost>
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte