= Installation guide = [[rTWiToC]] * [#prerequisites Prerequisites] * [#installation Installation] * [#troubleshooting Troubleshooting] == Prerequisites == #prerequisites * rTorrent 0.8.0 * compiled with "--with-xmlrpc-c" * sigc++-2.0 * XMLRPC-C >= 1.07 * some webserver * php5, with the following extensions: * xml * xsl (libxslt1.1) * xmlrpc == Installation == #installation * [#rtorrentside rTorrent side] * [#preparing Preparing the system] * [#xmlrpc Installing XMLRPC-C] * [#libtorrent Installing libTorrent] * [#rtorrent Installing rTorrent] * [#rtorrentsetup Setting up rTorrent] * [#rtwiside rTWi side] * [#rtwi Installing rTWi] * [#addingusers Adding users] === rTorrent side === #rtorrentside ==== Preparing the system ==== #preparing You'll need the following packages to install xmlrpc-c, libtorrent and rtorrent * make * pkg-config * sigc++-2.0-dev * libncurses-dev * libcurl-openssl-dev ==== Installing XMLRPC-C ==== #xmlrpc To install xmlrpc, get the source from [http://sourceforge.net/project/showfiles.php?group_id=16847 The XMLRPC-C page] In my case, i could only compile the 1.11.00 version (due to a known bug, you may try to configure with --disable-cplusplus, if the compiling stops with some syntax error) Of course, you can try any version, over 1.07 (or any version over 1.00, but you'll get incorrect data for values bigger than 2^31-1^, since it does not support 64bit integers) Follow the next steps: {{{ cd /usr/src wget http://dfn.dl.sourceforge.net/sourceforge/xmlrpc-c/xmlrpc-c-1.11.00.tgz tar xvf xmlrpc-c-1.11.00.tgz cd xmlrpc-c-1.11.00 ./configure make make install }}} ==== Installing libTorrent ==== #libtorrent To install libtorrent, follow the next steps: {{{ mkdir /usr/src/libtorrent wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.0.tar.gz tar xvf libtorrent-0.12.0.tar.gz cd /usr/src/libtorrent-0.12.0 ./configure make make install }}} ==== Installing rTorrent ==== #rtorrent To install rtorrent, follow the next steps: {{{ mkdir /usr/src/rtorrent wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.0.tar.gz tar xvf rtorrent-0.8.0.tar.gz cd /usr/src/rtorrent-0.8.0 ./configure --with-xmlrpc-c make make install }}} ==== Setting up rTorrent ==== #rtorrentsetup If you don't have a .rtorrent.rc file, create one into your home directory. You can find an example [http://libtorrent.rakshasa.no/browser/trunk/rtorrent/doc/rtorrent.rc?rev=latest .rtorrent.rc] file. Open .rtorrent.rc, and edit it (for each user): * add this line to your .rtorrent.rc "scgi_port = 127.0.0.1:12345" where 12345 can be replaced by any port of your choice * and restart rtorrent * if you have more than one user, set a different port for each user's .rtorrent.rc file (be aware, to set different session directories for the users) * set your download directory * make sure, you have your session directory set and it exists, so rtorrent will remember your torrents after it's restarted Now, you can start rtorrent. On the bottom, you should see something like this: {{{ (20:55:52) XMLRPC initialized with 356 functions. }}} === rTWi side === #rtwiside ==== Installing and setting up rTWi ==== #rtwi If everything went fine, extract the rtwi-xxxxxx.tar.gz to some place where your webserver can see it. In case it's your first install, open the freshly extracted includes/config.php.inc, and edit the next lines: * set the $url!["base"] variable to your rTWi installation's URL (without index file, and with a trailing slash, so something like ''!http://mysite.com/rtwi/'') * if your php interpreter does not handle .html files (only .php) set the $url!["index"] variable to "index.php", and rename the index.html to index.php ==== Adding users ==== #addingusers * find row 32, and change it: * uncomment the line (delete the slashes from the beginning of the line) * replace "username" with the actual linux username * replace "1234567890abcdef1234567890abcdef12345678" with the users' sha1 hash of the choosen password for the webui (you can generate the sha1 hash [http://www.johnmaguire.us/tools/hashcalc/index.php online]) * replace "12345", with the port, you've set in the user's .rtorrent.rc file * keep the quotes in the last three steps * if you have more than one user, you have to repeat these steps for each one of them, so you'll get something like this: {{{ $users = array( "user1" => array( "pass" => "1234567890abcdef1234567890abcdef12345678", "port" => "12345" ), "user2" => array( "pass" => "1234567890abcdef1234567890abcdef12345678", "port" => "12346" ), "user3" => array( "pass" => "1234567890abcdef1234567890abcdef12345678", "port" => "12347" ), ); }}} ==== GeoIP support ==== #geoipsupport You need to install the GeoIP c library (http://www.maxmind.com/app/c), and the GeoIP PECL module (http://pecl.php.net/package/geoip) {{{ apt-get install libgeoip-dev apt-get install php-pear php5-dev pecl install geoip }}} After you finished, you might want to add "extension=geoip.so" to php.ini == Troubleshooting == #troubleshooting '''XMLRPC-C 1.11 compilation stops with some syntax error''' * Configure with --disable-cplusplus * Check the [http://xmlrpc-c.sourceforge.net/ XMLRPC-C site] '''rTorrent compilation stops with an errer, which says, i have no libtorrent installed (No package 'libtorrent' found), but i'm sure, i do''' * Find your libtorrent.pc file (try /usr/local/lib/pkgconfig), and set the PKG_CONFIG_PATH environmental variable to it's path (export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig) '''rTorrent compilation stops with an error, which says, my libTorrent's version is an empty string (Requested 'libtorrent >= 0.11.8' but version of libtorrent is )''' * Upgrade you automake (you need 1.5 at least) '''I can see the php code in the browser''' * Your php settings does not allows you to to have a php file named .html - change these settings, or rename the index.html to index.php, and set the $default_ext variable to "php" in rtwi's /includes/config.inc.php * Php modul is not loaded by the webserver, take a look at your webserver's manual, to find out, how to enable it '''I get some php errors about XSL, or XSLT...''' * Install (or if it's installed, than enable) the xsl php extension '''I get some php errors about XMLRPC-C...''' * Install (or if it's installed, than enable) the xmlrpc php extension '''I've set my username and my password in the config.inc.php, but i cannot log in''' * Did you use the password? You should use the sha1 hash of the password (you can generate the sha1 hash [http://www.johnmaguire.us/tools/hashcalc/index.php online]) * Enable cookies (or at least session cookies) '''I get the "No connection" message in rTWi''' * Set the same port in your .rtorrent.rc file, at the scgi_port=, and in the rTWi's /includes/config.inc.php at your user's line * Check, if rTottent is listening on the port, you've set (netstat -na | grep 12345) * '''It is''' * Check your firewall * Recheck the port set in rtwi's incudes/config.inc.php * '''It is not''' * Recheck your .rtorrent.rc - it should have a line like this: scgi_port = 127.0.0.1:12345 * Try to set the scgi port in runtime (Ctrl+X, then entre "scgi_port = 127.0.0.1:12345") * If rtorrent stops with an error, that says xmlrpc is not supported, configure xmlrpc-c with --with-xmlrpc-c, and recompile