Here is a simple guide on how to install rtorrent/rutorrent on Debian 7 Wheezy , It may also work on Ubuntu and other Debian based Linux distros.
Install prerequisite packages :
apt-get install gcc pkg-config libssl-dev g++ make libncurses5-dev libsigc++-2.0-dev libcurl4-openssl-dev subversion screen nano
Install XMLRPC-C , it is required for rutorrent communication with rtorrent :
svn co http://svn.code.sf.net/p/xmlrpc-c/code/advanced xmlrpc-c cd xmlrpc-c ./configure make make install
Install LibTorrent required by rtorrent :
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.3.tar.gz tar zxvf libtorrent-0.13.3.tar.gz cd libtorrent-0.13.3 ./configure make make install
Install rtorrent client :
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.3.tar.gz tar zxvf rtorrent-0.9.3.tar.gz cd rtorrent-0.9.3 ./configure --with-xmlrpc-c make make install ldconfig
Now, we have to make a user for rtorrent and configure it :
useradd user1 mkdir -p /home/user1/rtorrent mkdir -p /home/user1/rtorrent/.session mkdir -p /home/user1/rtorrent/download chown -R user1:user1 /home/user1
Copy rtorrent sample config from rtorrent source directory to user1 home directory :
cp rtorrent-0.9.3/doc/rtorrent.rc /home/user1/.rtorrent.rc
Now you can customize the configuration :
nano /home/user1/.rtorrent.rc
But what you need to customize are following options :
directory = /home/user1/rtorrent/download session = /home/user1/rtorrent/.session scgi_port = localhost:5000
It is time to run rtorrent, This command runs rtorrent as user1 :
su - user1 -c 'screen -fa -d -m rtorrent'
Now we can install Apache + php5 which is required by rutorrent :
apt-get install libapache2-mod-php5
Enable auth_digest module which is required for rutorrent authentication :
a2enmod auth_digest
Install rutorrent+pluins :
wget http://dl.bintray.com/novik65/generic/rutorrent-3.6.tar.gz tar zxvf rutorrent-3.6.tar.gz mv rutorrent /var/www wget http://dl.bintray.com/novik65/generic/plugins-3.6.tar.gz tar zxvf plugins-3.6.tar.gz mv plugins /var/www/rutorrent/
Tip : The only plugin which you need is httprpc. you can disable or delete all the rest.
Configure user1 on rutorrent :
mkdir -p /var/www/rutorrent/conf/users/user1 cp /var/www/rutorrent/conf/config.php /var/www/rutorrent/conf/users/user1 nano /var/www/rutorrent/conf/users/user1/config.php
Make sure $scgi_port in config.php matches scgi_port in rtorrent config file :
$scgi_port = 5000;
For rutorrent web authentication create .htaccess file in rutorrent directory :
nano /var/www/rutorrent/.htaccess
Copy and paste the following inside .htaccess :
AuthName "Restricted Area" AuthType Basic AuthUserFile /etc/.htpasswd AuthGroupFile /dev/null require valid-user
Create password file for Apache :
htdigest -c /etc/.htpasswd "Restricted Area" user1
Now we need to configure Apache to allow .htaccess override :
nano /etc/apache2/sites-enabled/000-default
Change :
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
To :
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
And finally restart apache :
/etc/init.d/apache2 restart
Now you should be able to access your rtorrent/rutorrent on this address : http://IP_SERVER/rutorrent