
| I complied this guide and hope this will aid people with their server setups. If you notice anything that should be changed to make it more efficient please let me know and I will edit as needed.
Please note you need to change the user1, user2, etc to the users you want to install on. They appear throughout the guide so please don't copy and paste blindly. Another area you will need to be sure to change the "users" is the lighttpd.conf .rtorrent.rc .auth files where it says pass you need to create their passwords.
************
Create Users
************
Quote:
adduser user1
adduser user2
adduser user3
adduser user4
************************************
install libtorrent xmlrpc-c rtorrent
************************************
Quote:
sudo apt-get update
Quote:
sudo apt-get install -y build-essential pkg-config libcurl4-openssl-dev libsigc++-2.0-dev libncurses5-dev lighttpd nano screen subversion libterm-readline-gnu-perl php5-cgi apache2-utils php5-cli
Quote:
cd /tmp
sudo wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
sudo tar zxfv libtorrent-0.12.6.tar.gz
sudo rm libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
sudo ./configure
sudo make
sudo make install
Quote:
cd /tmp
sudo svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c/
sudo ./configure
sudo make
sudo make install
Quote:
cd /tmp
sudo wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
sudo tar zxfv rtorrent-0.8.6.tar.gz
sudo rm rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
sudo ./configure --with-xmlrpc-c
sudo make
sudo make install
********************************************
run ldconfig as root after doing any compile
********************************************
Quote:
ldconfig
**************************
edit conf file of lighttpd
**************************
Quote:
sudo nano /etc/lighttpd/lighttpd.conf
*paste the following after the last ) of the server.modules and before the ## a static document-root*
Quote:
server.modules += ( "mod_scgi" )
scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket2",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
),
"/RPC3" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket3",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
),
"/RPC4" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket4",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
),
"/RPC5" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket5",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
)
)
****************
restart lighttpd
****************
Quote:
sudo /etc/init.d/lighttpd force-reload
**********************************************
run the following in putty hit enter only once
**********************************************
Quote:
if [ -e /etc/lighttpd/conf-available/10-fastcgi-php5.conf ]; then
sudo /usr/sbin/lighty-enable-mod fastcgi-php5
else
sudo /usr/sbin/lighty-enable-mod fastcgi
fi
****************
restart lighttpd
****************
Quote:
sudo /etc/init.d/lighttpd force-reload
*****************
install rutorrent
*****************
Quote:
cd /var/www
wget http://rutorrent.googlecode.com/files/rutorrent-3.1.tar.gz
tar -xvzf rutorrent-3.1.tar.gz
rm *.tar.gz
**************************
install rutorrents plugins
**************************
Quote:
cd /var/www/rutorrent/plugins/
sudo wget http://rutorrent.googlecode.com/files/_getdir-3.1.tar.gz
sudo wget http://rutorrent.googlecode.com/files/cpuload-3.1.tar.gz
sudo wget http://rutorrent.googlecode.com/files/erasedata-3.1.tar.gz
sudo wget http://rutorrent.googlecode.com/files/edit-3.1.tar.gz
sudo wget http://rutorrent.googlecode.com/files/create-3.1.tar.gz
sudo wget http://rutorrent.googlecode.com/files/datadir-3.1.tar.gz
sudo wget http://rutorrent.googlecode.com/files/tracklabels-3.0.tar.gz
sudo tar -xvzf _getdir-3.1.tar.gz
sudo tar -xvzf cpuload-3.1.tar.gz
sudo tar -xvzf erasedata-3.1.tar.gz
sudo tar -xvzf edit-3.1.tar.gz
sudo tar -xvzf create-3.1.tar.gz
sudo tar -xvzf datadir-3.1.tar.gz
sudo tar -xvzf tracklabels-3.0.tar.gz
sudo rm *.tar.gz
***************************************
edit the rutorrent create conf.php file
***************************************
Quote:
nano /var/www/rutorrent/plugins/create/conf.php
*change the following*
Quote:
$useExternal = 'mktorrent';
$pathToCreatetorrent = '/usr/local/bin/mktorrent';
*end change*
**********************************************
create the rutorrent directories for all users
**********************************************
Quote:
cd /var/www/
Quote:
cp -R /var/www/rutorrent/ user1/
Quote:
cp -R /var/www/rutorrent/ user2/
Quote:
cp -R /var/www/rutorrent/ user3/
Quote:
cp -R /var/www/rutorrent/ user4/
***************************
fix rutorrents config files
***************************
*****
user1
*****
Quote:
nano /var/www/user1/conf/config.php
Quote:
$scgi_port = 0;
$scgi_host = "unix:///tmp/rpc.socket2";
$XMLRPCMountPoint = "/RPC2";
*****
user2
*****
Quote:
nano /var/www/user2/conf/config.php
Quote:
$scgi_port = 0;
$scgi_host = "unix:///tmp/rpc.socket3";
$XMLRPCMountPoint = "/RPC3";
*********
user3
*********
Quote:
nano /var/www/user3/conf/config.php
Quote:
$scgi_port = 0;
$scgi_host = "unix:///tmp/rpc.socket4";
$XMLRPCMountPoint = "/RPC4";
****
user4
****
Quote:
nano /var/www/user4/conf/config.php
Quote:
$scgi_port = 0;
$scgi_host = "unix:///tmp/rpc.socket5";
$XMLRPCMountPoint = "/RPC5";
**************************
Password protect rutorrent
**************************
***************************************************
add the following the the bottom of the config file
***************************************************
Quote:
nano /etc/lighttpd/lighttpd.conf
Quote:
server.modules += ( "mod_auth" )
auth.backend = "plain"
auth.backend.plain.userfile = "/etc/lighttpd/.auth"
auth.debug = 2
auth.require = ( "/user1/" =>
(
"method" => "basic",
"realm" => "user1 rutorrent",
"require" => "user=user1"
),
"/user2/" =>
(
"method" => "basic",
"realm" => "user2's rutorrent",
"require" => "user=user2"
),
"/user3/" =>
(
"method" => "basic",
"realm" => "user3's rutorrent",
"require" => "user=user3"
),
"/user4/" =>
(
"method" => "basic",
"realm" => "user4's rutorrent",
"require" => "user=user4"
),
)
Then restart lighttpd
Quote:
sudo /etc/init.d/lighttpd restart
**********************************
create the .auth file for lighttpd
**********************************
Quote:
nano /etc/lighttpd/.auth
*copy the following*
Quote:
user1:pass1
user2:pass2
user3:pass3
user4:pass4
*end copy*
******************
Finalize rutorrent
******************
Quote:
sudo ldconfig
Quote:
chmod -R 777 /var/www/user1
chmod -R 777 /var/www/user2
chmod -R 777 /var/www/user3
chmod -R 777 /var/www/user4
Quote:
cd /var/www/user1
chown -R www-data:www-data share/
find share/ -type d -exec chmod 777 {} ;
find share/ -type f -exec chmod 666 {} ;
Quote:
cd /var/www/user2
chown -R www-data:www-data share/
find share/ -type d -exec chmod 777 {} ;
find share/ -type f -exec chmod 666 {} ;
Quote:
cd /var/www/user3
chown -R www-data:www-data share/
find share/ -type d -exec chmod 777 {} ;
find share/ -type f -exec chmod 666 {} ;
Quote:
cd /var/www/user4
chown -R www-data:www-data share/
find share/ -type d -exec chmod 777 {} ;
find share/ -type f -exec chmod 666 {} ;
*****************************
make all the user directories
*****************************
Quote:
mkdir /home/user1/torrents
mkdir /home/user1/downloads
mkdir /home/user1/.session
Quote:
mkdir /home/user2/torrents
mkdir /home/user2/downloads
mkdir /home/user2/.session
Quote:
mkdir /home/user3/torrents
mkdir /home/user3/downloads
mkdir /home/user3/.session
Quote:
mkdir /home/user4/torrents
mkdir /home/user4/downloads
mkdir /home/user4/.session
*************************************
make all the users .rtorrent.rc files
*************************************
*****
user1
*****
Quote:
cd /home/user1
wget http://libtorrent.rakshasa.no/export/1124/trunk/rtorrent/doc/rtorrent.rc -O /home/user1/.rtorrent.rc
nano .rtorrent.rc
*add to the bottom of the .rtorrent.rc
Quote:
directory = /home/user1/downloads
schedule = watch_directory,5,5,load_start=/home/user1/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=/home/user1/torrents/*.torrent
schedule = low_diskspace,5,60,close_low_diskspace=100M
port_range = 51515-61234
port_random = no
use_udp_trackers = no
encryption = allow_incoming,try_outgoing
dht = off
peer_exchange = no
encoding_list = UTF-8
scgi_local = /tmp/rpc.socket2
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket2"
max_uploads = 100
download_rate = 0
upload_rate = 0
session = /home/user1/.session
*****
user2
*****
Quote:
cd /home/user2
wget http://libtorrent.rakshasa.no/export/1124/trunk/rtorrent/doc/rtorrent.rc -O /home/user2/.rtorrent.rc
nano .rtorrent.rc
*add to the bottom of the .rtorrent.rc
Quote:
directory = /home/user2/downloads
schedule = watch_directory,5,5,load_start=/home/user2/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=/home/user2/torrents/*.torrent
schedule = low_diskspace,5,60,close_low_diskspace=100M
port_range = 51515-61234
port_random = no
use_udp_trackers = no
encryption = allow_incoming,try_outgoing
dht = off
peer_exchange = no
encoding_list = UTF-8
scgi_local = /tmp/rpc.socket3
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket3"
download_rate = 0
upload_rate = 0
session = /home/user2/.session
*****
user3
*****
Quote:
cd /home/user3
wget http://libtorrent.rakshasa.no/export/1124/trunk/rtorrent/doc/rtorrent.rc -O /home/user3/.rtorrent.rc
nano .rtorrent.rc
*add to the bottom of the .rtorrent.rc
Quote:
directory = /home/user3/downloads
schedule = watch_directory,5,5,load_start=/home/user3/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=/home/user3/torrents/*.torrent
schedule = low_diskspace,5,60,close_low_diskspace=100M
port_range = 51515-61234
port_random = no
use_udp_trackers = no
encryption = allow_incoming,try_outgoing
dht = off
peer_exchange = no
encoding_list = UTF-8
scgi_local = /tmp/rpc.socket4
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket4"
download_rate = 0
upload_rate = 0
session = /home/user3/.session
*****
user4
*****
Quote:
cd /home/user4
wget http://libtorrent.rakshasa.no/export/1124/trunk/rtorrent/doc/rtorrent.rc -O /home/user4/.rtorrent.rc
nano .rtorrent.rc
*add to the bottom of the .rtorrent.rc
Quote:
directory = /home/user4/downloads
schedule = watch_directory,5,5,load_start=/home/user4/torrents/*.torrent
schedule = untied_directory,5,5,stop_untied=/home/user4/torrents/*.torrent
schedule = low_diskspace,5,60,close_low_diskspace=100M
port_range = 51515-61234
port_random = no
use_udp_trackers = no
encryption = allow_incoming,try_outgoing
dht = off
peer_exchange = no
encoding_list = UTF-8
scgi_local = /tmp/rpc.socket5
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket5"
download_rate = 0
upload_rate = 0
session = /home/user4/.session
*********
mktorrent
*********
Quote:
cd /tmp
wget http://downloads.sourceforge.net/mktorrent/mktorrent-1.0.tar.gz
tar -xzvf mktorrent-1.0.tar.gz
rm mktorrent-1.0.tar.gz
cd mktorrent-1.0
make USE_LARGE_FILES=1
make install
Quote:
ldconfig
|