Transmission on Ubuntu Server 12.04 LTS

The Transmission bittorrent client is one of the most widely used bittorrent clients for the Linux operating system, especially on Ubuntu servers. I have used it in all of the server incarnations I’ve had installed and have loved it more and more with each little update the software gets. In this guide, I’ll show you the super simple steps at getting a fully functional Transmission client installed on your Ubuntu Server and how you can configure it for your specific needs.

First off, we will need to add the apt-repository for Transmission to our repository list, but before we do that, we’ll need to install a small little application that allows us to add apt repositories directly from the terminal. Type the following:

sudo apt-get install python-software-properties

Now, issue this command:

sudo add-apt-repository ppa:transmissionbt/ppa

That will give you the Transmission apt repository and allow you to automatically keep your Transmission software up-to-date instead of having to build the application by source. Now, update your apt-list:

sudo apt-get update

After your list is up to date, issue this command to install Transmission:

sudo apt-get install transmission-cli transmission-common transmission-daemon

Now, what we need to do is create some folders in our home folder for Transmission to use. Issue the following commands:

mkdir ~/Downloads
mkdir ~/Downloads/Completed
mkdir ~/Downloads/Incomplete
mkdir ~/Downloads/Torrents

The Completed folder will hold all of our torrents that have finished downloading, the Incomplete folder will hold all of our torrents that are still downloading, and the Torrents folder will allow us to drag-and-drop torrent files from our Windows machine to the folder and have Transmission automatically pick up the torrent and begin downloading it. You can add torrents for Transmission to download through the web interface, but doing it this way is sometimes quicker for some folks who may not have browser access.

Now, when Transmission downloads torrents, it automatically sets the rights of the files that it downloads to the Transmission user group. We need to make sure that our username is a part of that group, and we need to set the correct permissions on the Downloads folders. Issue the following commands:

sudo usermod -a -G debian-transmission username
sudo chgrp -R debian-transmission /home/username/Downloads
sudo chmod -R 775 /home/username/Downloads

Replace the “username” sections with the username of your Ubuntu user that will be accessing the files and folders.

Update 1/28/2013:

Bradd commented and stated they apparently, the newest version of Transmission will silently overwrite your configuration file when you reload the Transmission Daemon. The best thing for you to do before editing your configuration is to actually stop the daemon all-together, then make your edits, and then start the daemon back up once you have finished editing the settings. So first, go ahead and stop the daemon:

sudo /etc/init.d/transmission-daemon stop

Now we want to edit our configuration file:

sudo nano /etc/transmission-daemon/settings.json

That’s going to bring up the big configuration file. I’m only going to give you the settings I tweaked; however you can have a look throughout the entire configuration and tweak whatever you’d like.

"download-dir": "/home/username/Downloads/Complete",
"incomplete-dir": "/home/username/Downloads/Incomplete",
"incomplete-dir-enabled": true,
"rpc-authentication-required": false,
"rpc-whitelist-enabled": false,

Once you’ve tweaked those settings, add this to the very end of the configuration file (before the ending “}” bracket, but also keep in mind that you will need to change the “utp-enabled” line to have a comma “,” at the end of it):

"watch-dir": "/home/username/Downloads/Torrents",
"watch-dir-enabled": true

Once you have finished editing your configurations, start the daemon back up:

sudo /etc/init.d/transmission-daemon start

That should do it! Now all you need to do is save that file by issuing a CTRL+X to Nano and then saving when it prompts you. After you’ve saved the file, reload (DO NOT restart) your Transmission server:

sudo /etc/init.d/transmission-daemon reload

Once it has reloaded and if it starts back up, go ahead and go to your browser and navigate to: 0.0.0.0:9091 (where 0.0.0.0 is the IP address of your Ubuntu server). You should be greeted with the Transmission WebUI. Now if you’d like, you can apply over 370,000 IP filters to the blocklist from one of my other posts.

Leave a Reply