Setting Up Transmission’s Web Interface

A few days ago, I went over the process of installing Transmission on CentOS. Today, I’ll show you the directions to setup Transmission’s Web Interface. This will require either Apache or nginx to be installed. In this tutorial, you will be using either Apache of nginx to proxy the request to the Transmission-Daemon. You can choose to password protect the directory, allow certain IP addresses, or enable SSL. The possibilities are endless, but that’s out of the scope of this article.

To begin, make sure the transmission-daemon is running. To start it, run the following command. If you’re not sure whether it’s started or not, run it anyways.

transmission-daemon

Apache

To begin, open up your httpd.conf and add the following virtualhost. You can change this to any port you wish, but remember to have Apache listen on that port.

<VirtualHost *:80>
    ProxyPass /transmission http://127.0.0.1:9091/transmission
    ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
</VirtualHost>

Nginx

Just like with Apache, you will use nginx to proxy the request to port 9091. You will need to add the following snip of code to one of the servers. I personally prefer nginx since it’s much more light-weighted, and its the server this blog runs on ;)

location /transmission {
	proxy_pass http://127.0.0.1:9091/transmission;
}

To finish it off, you will need to restart the web server. The exact procedure will vary by server, but it’s generally the following if you are using Apache’s server:

service httpd restart

Browse to http://your.ip.here/transmission/web/ (make sure there is a final slash), and check it out!

7 thoughts on “Setting Up Transmission’s Web Interface

  1. Chalo

    Im getting the following error message

    409: Conflict

    Your request had an invalid session-id header.

    To fix this, follow these steps:

    1. When reading a response, get its X-Transmission-Session-Id header and remember it
    2. Add the updated header to your outgoing requests
    3. When you get this 409 error message, resend your request with the updated header

    This requirement has been added to help prevent CSRF attacks.

    X-Transmission-Session-Id: Lvckse5XIYv4yRHySeOuH00xnMCN1F3YQTfFNL0GsbqvKoXS

    What do i do from here?

    Thank you in advance.

    1. tech163 Post author

      @Chalo, Transmission will often redirect you to /transmission/transmission/web/ (note transmission appears twice), and you’ll receive that error. Just go back to /transmission/web/ and you should be fine.

  2. Chalo

    Tech163, Thank you so much at least now I can see the web interface.

    Next “problem”:
    Im downloading with the transmissioncli but cant see the same on the web interface, anything i need to configure?
    Have made the available settings ie download folder, upload/download speed etc

  3. Chalo

    I think i have found it, tried downloading it again from the web interface, it was detected & now i can see the updates.

    Thnk you so much tech163

  4. Christopher

    Use this:


    ProxyPass /transmission http://127.0.0.1:9091/transmission
    ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
    redirect 301 /transmission/transmission/web/ /transmission/web/
    redirect 301 /transmission/ /transmission/web/

  5. Connor

    Hello, Where you talk about Apache and Ngix. What do I do with the code you have added? I.E Where does it need to go?

Comments are closed.