Ubuntu Seedbox with rtorrent | rutorrent | pureftpd | multi-user (optional)

lisas4567

Member
May 25, 2018
773
0
16
V 8.6, I understand doesn't work with Magnet Links. How can I use this tutorial to install, say 8.9?

Thanks.
 

simur612

Member
May 25, 2018
879
0
16
ive updated the relevant parts
Fantastic. Thanks.

I figured that it had to have the ./ before the command, but I'm getting this error when I do run it. I thought perhaps running as Sudo might work, but that resulted in the same error:

Code
:~/source/xmlrpc-c$ ./configure --prefix=/usr --enable-libxml2-backend --disable-libwww-client --disable-wininet-client --disable-abyss-server --disable-cgi-server
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... missing
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether to build Wininet client XML transport module... no
checking for curl-config... yes
checking whether to build Curl client XML transport module... yes
checking whether to build Libwww client XML transport module... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for main in -lncurses... yes
checking for main in -lreadline... no
checking whether to build tools... yes
checking whether to build the xmlrpc_pstream tool... no
checking whether to build Abyss server module... no
checking whether to build CGI server module... no
checking whether to build C++ wrappers and tools... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for socket... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for size_t... yes
checking whether va_list is an array... no
checking whether compiler has __attribute__... yes
checking for vsnprintf... yes
checking for wcsncmp... yes
checking for setgroups... yes
checking for asprintf... yes
checking for setenv... yes
checking for strtoll... yes
checking for strtoull... yes
checking for strtoq... yes
checking for strtouq... yes
checking for __strtoll... no
checking for __strtoull... no
checking for pselect... yes
checking for gettimeofday... yes
checking for localtime_r... yes
checking for gmtime_r... yes
checking for strcasecmp... yes
checking for stricmp... no
checking for _stricmp... no
checking whether to use Abyss pthread function... yes
checking for curl-xmlrpc-config... no
checking for curl-config... /usr/bin/curl-config
checking for Curl library directory... /usr/lib
checking whether to build the libxml2 backend... yes
checking for xml2-config... no
configure: error: You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2

:~/source/xmlrpc-c$


libxml2 is installed. I thought perhaps it had something to do with "--enable-libxml2_backend". Maybe a space between the enable and the -libxml2, but my hunches aren't playing true.

{EDIT} Nevermind. I just carried on with the rest of the process and it's all good now.

This is great.
 

randac56

Member
May 25, 2018
915
0
16
I used this guide some years ago, now I need to upgrade rtorrent 0.8.6 to 0.9.2 and libtorrent 0.12.6 --> 0.13.2
(need magnetic link support)

What is the simplest way/procedure , I dont want to break my installation
 

peshua19

Member
May 25, 2018
897
0
16
Fantastic. Thanks.

I figured that it had to have the ./ before the command, but I'm getting this error when I do run it. I thought perhaps running as Sudo might work, but that resulted in the same error:

Code
:~/source/xmlrpc-c$ ./configure --prefix=/usr --enable-libxml2-backend --disable-libwww-client --disable-wininet-client --disable-abyss-server --disable-cgi-server
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets $(MAKE)... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... missing
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether to build Wininet client XML transport module... no
checking for curl-config... yes
checking whether to build Curl client XML transport module... yes
checking whether to build Libwww client XML transport module... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for main in -lncurses... yes
checking for main in -lreadline... no
checking whether to build tools... yes
checking whether to build the xmlrpc_pstream tool... no
checking whether to build Abyss server module... no
checking whether to build CGI server module... no
checking whether to build C++ wrappers and tools... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for socket... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking sys/filio.h usability... no
checking sys/filio.h presence... no
checking for sys/filio.h... no
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for size_t... yes
checking whether va_list is an array... no
checking whether compiler has __attribute__... yes
checking for vsnprintf... yes
checking for wcsncmp... yes
checking for setgroups... yes
checking for asprintf... yes
checking for setenv... yes
checking for strtoll... yes
checking for strtoull... yes
checking for strtoq... yes
checking for strtouq... yes
checking for __strtoll... no
checking for __strtoull... no
checking for pselect... yes
checking for gettimeofday... yes
checking for localtime_r... yes
checking for gmtime_r... yes
checking for strcasecmp... yes
checking for stricmp... no
checking for _stricmp... no
checking whether to use Abyss pthread function... yes
checking for curl-xmlrpc-config... no
checking for curl-config... /usr/bin/curl-config
checking for Curl library directory... /usr/lib
checking whether to build the libxml2 backend... yes
checking for xml2-config... no
configure: error: You specified --enable-libxml2_backend, but don't appear to have libxml2 installed (no working xml2-config in your command search path), so we cannot not build for libxml2

:~/source/xmlrpc-c$


libxml2 is installed. I thought perhaps it had something to do with "--enable-libxml2_backend". Maybe a space between the enable and the -libxml2, but my hunches aren't playing true.

{EDIT} Nevermind. I just carried on with the rest of the process and it's all good now.

This is great.
apt-get install libxml2-dev
 

saroos1

Member
May 25, 2018
718
0
16
Has anyone got the following error when loading rutorrent in the webpage?

No link to rtorrent. Control if rtorrent works. Check scgi_port $ and $ scgi_host settings in config.php and scgi_port in rtorrent's config file.

Mine dedicated server information;
Dual Core 2x 3.0 GHz
2 GB RAM
1 TB HDD
100mbit up/down
Ubuntu 10.04
Hosted by OVH in France

What do i have to fill at #scgi_port and #scgi_host i got the following;
host = 127.0.0.1
port = 5000

This came with the rutorrent config.
 

simur612

Member
May 25, 2018
879
0
16
I get: command not found
when using:
configure --prefix=/usr --enable-libxml2-backend --disable-libwww-client --disable-wininet-client --disable-abyss-server --disable-cgi-server

any ideas ?
 

simur612

Member
May 25, 2018
879
0
16
First I have to say thanks for a great guide, everything has worked pretty perfectly so far. I've installed in Ubuntu Server 12.04 x64 without any major issues.

I do have one question, it looks like ruTorrent's diskinfo plugin shows 9.7 GB of total space, when the drive has about 870 GB of free space. I'm wondering what I've missed to make this happen.

EDIT: Turns out that after downloading a little over 2 GB with ruTorrent, the space meter hasn't moved. So it doesn't appear to be limiting anything, it just isn't displaying correctly. 8.0 GB free of 9.7 GB showing 17% used, but not moving when space is filled.

Thanks for any help,
JJ
 

randac56

Member
May 25, 2018
915
0
16
yeh mate take a look at this u will see why...

Quote

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10G 1.4G 8.2G 15% /
tmpfs 983M 0 983M 0% /lib/init/rw
udev 10M 156K 9.9M 2% /dev
tmpfs 983M 0 983M 0% /dev/shm
/dev/sda2 921G 262G 613G 30% /home
it could be different depending on your partitions and download directories




I noticed that /dev/sda1 was 10GB, which is what the meter was reading, and realized that the plugin was looking at the wrong partition for this information. This happens when your rutorrent directory is in a different partition that your downloads directory, in this case /home/<user>/rtorrent/downloads.

To solve this issue, we need to edit our ruTorrent config.php file, which in most cases can be found at /var/www/rutorrent/conf/config.php

You will see a line that says:

$topDirectory = '/';

This is the partition that it is reading the diskspace from. (sda1)

We need to edit that line to read your sda2 partition (it could be different depending on your partitions and download directories):

$topDirectory = '/home/';

Save the file, and upload it via ftp.
 

peshua19

Member
May 25, 2018
897
0
16
yeh mate take a look at this u will see why...

Quote

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10G 1.4G 8.2G 15% /
tmpfs 983M 0 983M 0% /lib/init/rw
udev 10M 156K 9.9M 2% /dev
tmpfs 983M 0 983M 0% /dev/shm
/dev/sda2 921G 262G 613G 30% /home
it could be different depending on your partitions and download directories




I noticed that /dev/sda1 was 10GB, which is what the meter was reading, and realized that the plugin was looking at the wrong partition for this information. This happens when your rutorrent directory is in a different partition that your downloads directory, in this case /home/<user>/rtorrent/downloads.

To solve this issue, we need to edit our ruTorrent config.php file, which in most cases can be found at /var/www/rutorrent/conf/config.php

You will see a line that says:

$topDirectory = '/';

This is the partition that it is reading the diskspace from. (sda1)

We need to edit that line to read your sda2 partition (it could be different depending on your partitions and download directories):

$topDirectory = '/home/';

Save the file, and upload it via ftp.
Thank you so much for the help and the PMs, you were dead on. It worked perfectly to make this change!
 

saroos1

Member
May 25, 2018
718
0
16
Hi,
I followed your tutorial step by step....and everything went well except one chmod command under:
"Configure Apache for HTTPS and password"

Quote
admin@localhost:~$ chmod 600 /etc/apache2/apache.pem
chmod: changing permissions of `/etc/apache2/apache.pem': Operation not permitted​


When I run rtorrent from SSH
Quote
admin@localhost:~$ rtorrent
*** rTorrent 0.9.3/0.13.3 - localhost:27806 ***
[View: main]

( 4:14:13) Using 'epoll' based polling.
( 4:14:13) Using 'epoll' based polling.
( 4:14:13) Using 'epoll' based polling.
( 4:14:13) The SCGI socket is bound to a specific network device yet may still p
ose a security risk, consider using 'scgi_local'.
[Throttle off/off KB] [Rate 0.0/ 0.0 KB] [Port: 56000] [U 0/0] [D 0/0] [H 0/​


But when I run Rutorrent Webui, I get an error message
here is a snap shot


my rtorrent config is same used by you with change username to my user name (admin)
Quote
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
#
# Based on original .rtorrent.rc file from http://libtorrent.rakshasa.no/
# Modified by Lemonberry for rtGui http://rtgui.googlecode.com/
#
# This assumes the following directory structure:
#
# /Torrents/Downloading - temporaray location for torrents while downloading (see "directory")
# /Torrents/Complete - Torrents are moved here when complete (see "on_finished")
# /Torrents/TorrentFiles/Auto - The 'autoload' directory for rtorrent to use. Place a file
# in here, and rtorrent loads it #automatically. (see "schedule = watch_directory")
# /Torrents/Downloading/rtorrent.session - for storing rtorrent session information
#

# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
max_peers = 100

# Same as above but for seeding completed torrents (-1 = same as downloading)
min_peers_seed = -1
max_peers_seed = -1

# Maximum number of simultanious uploads per torrent.
max_uploads = 50

# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 0

# Default directory to save the downloaded torrents.
directory = /home/downloads/admin

# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = /home/downloads/admin/.session

# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=/home/downloads/admin/watch/*.torrent
schedule = untied_directory,5,5,stop_untied=

# Close torrents when diskspace is low. */
schedule = low_diskspace,5,60,close_low_diskspace=100M

# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
#schedule = ratio,60,60,stop_on_ratio=200,200M,2000


# When the torrent finishes, it executes "mv -n <base_path> ~/Download/"
# and then sets the destination directory to "~/Download/". (0.7.7+)
# on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/home/downloads/admin/complete/ ;d.set_directory=/home/downloads/admin/complete/"

# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no

# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no

# Port range to use for listening.
port_range = 55995-56000

# Start opening ports at a random position within the port range.
#port_random = yes

scgi_port = 127.0.0.1:5000

# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
#check_hash = no

# Set whetever the client should try to connect to UDP trackers.
#use_udp_trackers = no

# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa

# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
encryption = allow_incoming,enable_retry,prefer_plaintext

# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
dht = disable

# UDP port to use for DHT.
#
# dht_port = 6881

# Enable peer exchange (for torrents not marked private)
#
peer_exchange = no

#
# Do not modify the following parameters unless you know what you're doing.
#

# Example of scheduling commands: Switch between two ip's every 5
# seconds.
#schedule = "ip_tick1,5,10,ip=torretta"
#schedule = "ip_tick2,10,10,ip=lampedusa"

# Remove a scheduled event.
#schedule_remove = "ip_tick1"​


also used same rutorrent/conf/config.php and rutorrent/conf/plugins.ini as here

any idea why itorrent is not working ?

Thank you

UPDATE:

I got it rtorrent to work by:

changing the port from 5000 to 5050 in rtorrent config (nano ~/.rtorrent.rc) and also in rutorrent/conf/config.php
then ran
Quote
# screen​

then
Quote
rtorrent​
 

simur612

Member
May 25, 2018
879
0
16
I am not sure if I missed any talk about webmin but at the end of the guide to change the ports for firewall, it was suggested to go to
Quote
https://<servername or IP>:10000​

I don't have webmin cp installed though. Can I install it right now and would it interfere with my seedbox setup?

Thanks
 

randac56

Member
May 25, 2018
915
0
16
You dont need to install webmin, but if you are unfamiliar with working in a shell environment it can make many configuration tasks simpler.
 

peshua19

Member
May 25, 2018
897
0
16
First of all. A big thanks to subvertbeats for creating this guide. I am fairly new to linux so please bear with me. I am running Ubuntu 10.4 and have been able to complete the first section of the guide. I am having trouble with the "Building rtorrent from source" section.

I am to these steps
cd ../libtorrent-0.13.3
./autogen.sh
./configure --prefix=/usr


However the "make -j2" command does not work
I get the error "No targets specified and no makefile found. Stop."

I tried skipping to the next section but get the same error for rtorrent. Please help!
 

saroos1

Member
May 25, 2018
718
0
16
I followed this guide, but lately I've noticed I'm getting "couldn't resolve hostname" for the trackers and I've checked and changed DNS servers. I've also noticed that ruTorrent will report time out requests from rTorrrent.

To fix it, I have to restart rTorrent and ru.

I read somewhere about compiling with curl and c-ares, but in the guide, I don't see a mention of that.

This problem happens after ___ amount of hours and is hard to reproduce.

Thanks for any help!
 

simur612

Member
May 25, 2018
879
0
16
I'm getting this error at compiling xmlrpc-c

/usr/include/linux/errno.h:4:23: error: asm/errno.h: No such file or directory
string_number.c: In function 'xmlrpc_parse_int64':
string_number.c:33: error: 'ERANGE' undeclared (first use in this function)
string_number.c:33: error: (Each undeclared identifier is reported only once
string_number.c:33: error: for each function it appears in.)
make[2]: *** [string_number.o] Error 1
make[2]: Leaving directory `/root/installations/rtorrTry2/source/xmlrpc/lib/libutil'
make[1]: *** [libutil/install] Error 2
make[1]: Leaving directory `/root/installations/rtorrTry2/source/xmlrpc/lib'
make: *** [lib/install] Error 2