Dedicated server /Kimsufi /OVH /Seed box setup - Rutorrent, Autodl-irssi, ZNC, Ubuntu
Register

We are the best invite forum on the internet! Here you will find free invites, free seedboxes, free bonuses, and much more. Our members know the true meaning of sharing and have created a truly global bittorent community! Our site has the most up to date information on all private trackers and our members will guide you and introduce you to this truly secretive and enlightened club. Ready to get started? Register now!


User Tag List

Page 1 of 14 1 2 3 4 11 ... LastLast
Results 1 to 10 of 134
  1. #1

    Default Dedicated server /Kimsufi /OVH /Seed box setup - Rutorrent, Autodl-irssi, ZNC, Ubuntu





    Somehow I ended up configuring a few dedicated servers recently, so I thought that I would write a tutorial that may be useful to some members. This tutorial will explain how to install Rtorrent 0.9.2, Libtorrent 0.13.2, Rutorrent 3.4, Apache2, Autodl-irssi 1.10, ZNC 0.206, Webmin 1.590, SSH and SFTP onto an Ubuntu server.

    Please note that this is not a support thread. If you need extensive support you would probably be better served by another tutorial. That doesn't mean that I won't clarify a point or try to answer a question. But this is first and foremost a do it yourself guide. If you run into unexpected problems you may need to look elsewhere for support because I won't have the time to lead you step by step through difficulties that may arise. Having said that, this has been tested and works very well.



    I am assuming that you are starting with a dedicated server, such as a Kimsufi 2G that has a fresh install of Ubuntu server. Most vendors will have an online control panel where you can confirm which OS is installed or choose to reimage the OS on your server. This tutorial has been tested with Ubuntu server versions 12.04 and 11.10. But it should work with Ubuntu server 9.10+. This is also largely the work of others. I have combined several threads, tested them, fixed some typos and errors and added some explanations & new material. Credit however should go to:



    Table of Contents




    Secure access to your server
    1. Log into your server

    Log into your server with a terminal client like Putty. Fill in the following details in Putty:
    host name: The IP address or the host name e.g. ksxxxxxx.kimsufi.ovh.com
    protocol: SSH (port 22)
    username: root
    password: use the password your vendor provided

    If you wish to login from the command line, you can use the command:
    ssh -p 22 root@<server IP>

    If you wish to confirm your OS from the command line instead of from the web control panel, you can use the following:
    Note: when working with the command line windows, you can copy paste command from this tutorial, rather than retyping them
    Just highlight them from this guide, then use Ctrl-C to copy. Then click on a blank spot on the command window and then right click to paste
    cat /etc/issue
    cat /proc/version

    2. Create an User account
    Root logins are a security risk, so we will want to create an user account rather than login as the root user every time.
    In this tutorial, always replace "<username>" with the actual name that you wish to use.
    e.g. if your user name will be "Yogi" then the command would be "adduser Yogi", without the quotes. Choose a password, when prompted.
    adduser <username>

    3. Add user to the sudoers file
    visudo

    This will open the sudoers file in the nano text editor. Use the nano commands CTRL+O to save, ENTER to confirm saving the file and CTRL-X to exit nano.
    Look for the line that says "root ALL=(ALL:ALL) ALL", then add the following line beneath that:
    <username> ALL=(ALL:ALL) ALL

    4. Secure SSH logins
    nano /etc/ssh/sshd_config

    Change the following lines in the sshd_config file. You should choose a high port number in the 20000 - 65535 range. e.g. 21976
    Port 21976
    Protocol 2
    PermitRootLogin no
    X11Forwarding no

    Then add these lines at the end of the sshd_config file:
    UseDNS no
    AllowUsers <username>

    5. Restart the SSH daemon
    /etc/init.d/ssh reload

    Now use Putty to log back in with a new SSH session, logging in as the new <username>, with the new port #
    You should keep the root login open until you confirm that the new user login works. You can close the root login after you login as <username>.
    Note: from now on, you will login as <username>, not "root". If you need root privileges, prefix a command with "sudo"
    If you wish to login from the command line, the command would be:
    ssh -p 21976 <username>@<serverIP>

    Update Ubuntu
    6. Update packages

    sudo apt-get update

    7. Upgrade packages
    sudo apt-get upgrade

    8. Install dependencies
    Note that this command is one long line, not several sequential commands
    sudo apt-get install apache2 apache2-utils autoconf build-essential ca-certificates comerr-dev curl cfv dtach htop irssi libapache2-mod-php5 libcloog-ppl-dev libcppunit-dev libcurl3 libncurses5-dev libterm-readline-gnu-perl libsigc++-2.0-dev libperl-dev libtool libxml2-dev ncurses-base ncurses-term ntp patch pkg-config php5 php5-cli php5-dev php5-fpm php5-curl php5-geoip php5-mcrypt php5-xmlrpc pkg-config python-scgi screen subversion texinfo unrar-free unzip zlib1g-dev

    Setup the webserver & rutorrent access
    9. Install Apache webserver modules
    sudo a2enmod auth_digest
    sudo a2enmod reqtimeout

    10. Edit the Apache configuration file
    sudo nano /etc/apache2/apache2.conf
    Edit the following lines in the apache2.conf file. Add them if they are absent.
    ServerSignature Off
    Timeout 30
    ServerTokens Prod

    Restart Apache
    sudo /etc/init.d/apache2 restart

    You can confirm that php is working by editing the info.php file:
    cd /var/www
    sudo nano info.php

    Add the following content to info.php
    <?php phpinfo(); ?>

    Then open a browser page and you should see the phpinfo page at http://<server IP>/info.php


    After you confirm that php is working, you should delete the php.info file
    sudo rm /var/www/info.php

    11. Secure Apache
    We need to create a SSL server certificate. This is a self-signed certificate that is valid for one year.
    When you are asked for a name, use your domain name if you have one. The rest can be filled in as you like or left blank.
    This step has been removed because of the Heartbleed vulnerability. If you plan on using SSL, please make sure to patch your OpenSSL.

    12. Configure your rutorrent login
    Choose a user name and password for your rutorrent login.
    <WEBusername> can be the same as your system <username> but it would be more secure to choose a new user name.
    Enter a password when prompted.
    sudo htdigest -c /etc/apache2/htpasswd rutorrent <WEBusername>

    13. Configure Apache access
    sudo nano /etc/apache2/sites-available/default

    Replace the contents of the default file with the information below
    Be sure to replace the two instances of <server IP> with the actual server IP address
    <VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
    <Directory /var/www/>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    <Location /rutorrent>
    AuthType Digest
    AuthName "rutorrent"
    AuthDigestDomain /var/www/rutorrent/ http://<server IP>/rutorrent

    AuthDigestProvider file
    AuthUserFile /etc/apache2/htpasswd
    Require valid-user
    SetEnv R_ENV "/var/www/rutorrent"
    </Location>

    </VirtualHost>

    14. Configure Apache SSL
    This step has been removed because of the Heartbleed vulnerability. If you plan on using SSL, please make sure to patch your OpenSSL.



    Restart Apache
    sudo /etc/init.d/apache2 restart

    Confirm that Apache is running by browsing to https://<server IP>
    You should see the message "It Works! This is the default web page for this server".


    Install rtorrent & libtorrent
    15. Get rtorrent packages

    Code:
    cd ~
    mkdir source
    cd source
    svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc
    curl http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz | tar xz
    curl http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz | tar xz

    16. Configure and make xmlrpc
    cd xmlrpc
    ./configure --prefix=/usr --enable-libxml2-backend --disable-libwww-client --disable-wininet-client --disable-abyss-server --disable-cgi-server
    make
    sudo make install

    17. Configure and make libtorrent
    cd ../libtorrent-0.13.2
    ./autogen.sh
    ./configure --prefix=/usr
    make -j2
    sudo make install

    18. Configure and make rtorrent
    cd ../rtorrent-0.9.2
    ./autogen.sh
    ./configure --prefix=/usr --with-xmlrpc-c
    make -j2
    sudo make install
    sudo ldconfig

    19. Edit the rtorrent configuration file
    sudo nano ~/.rtorrent.rc

    Paste the following content into the .rtorrent.rc file
    Remember to replace all instances <username> with the actual user name
    # 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 The libTorrent and rTorrent Project
    # this assumes the following directory structure:
    #
    # /torrents/downloading - temporary 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
    # rtorrent will automatically load .torrents placed here. (see "schedule = watch_directory")
    # /torrents/downloading/rtorrent.session - for storing rtorrent session information
    #


    # Downloads Settings
    #
    # maximum number of simultaneous uploads per torrent
    # throttle.max_uploads.set = 30
    max_uploads = 30

    # maximum and minimum number of peers to connect to per torrent
    # throttle.min_peers.normal.set = 40
    # throttle.max_peers.normal.set = 100
    min_peers = 40
    max_peers = 100

    # same as above but for seeding completed torrents (-1 = same as downloading)
    # throttle.min_peers.seed.set = 25
    # throttle.max_peers.seed.set = 60
    min_peers_seed = 25
    max_peers_seed = 60

    # tracker_numwant = -1
    trackers.numwant.set = -1

    # check hash for finished torrents. might be useful until the bug is
    # fixed that causes lack of diskspace not to be properly reported
    # pieces.hash.on_completion.set = yes
    check_hash = yes

    # default directory to save the downloaded torrents
    # directory.default.set = /home/<username>/downloads
    directory = /home/<username>/downloads

    # default session directory. make sure you don't run multiple instances
    # of rtorrent using the same session directory
    # perhaps using a relative path?
    # session.path.set = /home/<username>/downloads/.session
    session = /home/<username>/downloads/.session




    # Connection Settings
    #
    # port range to use for listening
    # network.port_range.set = 55950-56000
    port_range = 55950-56000

    # start opening ports at a random position within the port range
    # network.port_random.set = yes
    port_random = yes

    # global upload and download rate in KiB. "0" for unlimited
    # throttle.global_up.max_rate.set_kb = 0
    # throttle.global_down.max_rate.set_kb = 0
    upload_rate = 0
    download_rate = 0

    # max mapped memory
    # nb does not refer to physical memory
    # max_memory_usage = 3500M
    pieces.memory.max.set = 3500M

    # max number of files to keep open simultaneously
    # max_open_files = 192
    network.max_open_files.set = 192

    # max_open_http = 32
    network.http.max_open.set = 32


    # BitTorrent Settings
    #
    # 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.mode.set = disable
    dht = disable

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

    # enable peer exchange (for torrents not marked private)
    # protocol.pex.set = no
    peer_exchange = no

    # the IP address reported to the tracker
    # network.local_address.set = rakshasa.no
    # network.local_address.set = 127.0.0.1
    # ip = rakshasa.no
    # ip = 127.0.0.1

    # schedule syntax: id,start,interval,command
    # call cmd every interval seconds, starting from start. an interval of zero calls the task once
    # while a start of zero calls it immediately. start and interval may optionally use a time format
    # dd:hh:mm:ss e.g. to start a task every day at 18:00, use 18:00:00,24:00:00.
    # commands: stop_untied =, close_untied =, remove_untied =
    # stop, close or remove the torrents that are tied to filenames that have been deleted

    # watch a directory for new torrents, and stop those that have been deleted
    schedule = watch_directory,5,5,load_start=/home/<username>/downloads/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

    # load = file, load_verbose = file, load_start = file, load_start_verbose = file
    # load and possibly start a file, or possibly multiple files by using the wild-card "*"
    # this is meant for use with schedule, though ensure that the start is non-zero
    # the loaded file will be tied to the filename provided.

    # 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/<username>/downloads/complete/ ;d.set_directory=/home/<username>/downloads/complete/"

    # network.scgi.open_port = 127.0.0.1:5000
    scgi_port = 127.0.0.1:5000

    # 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,pref er_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
    #
    # protocol.encryption.set =
    encryption = allow_incoming,enable_retry,prefer_plaintext


    # Advanced Settings
    #
    # 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"

    # hash read-ahead controls how many MB to request the kernel to read ahead ahead
    # if the value is too low the disk may not be fully utilized,
    # while if too high the kernel might not be able to keep the read pages
    # in memory thus end up trashing.
    # hash_read_ahead = 8
    # system.hash.read_ahead.set = 8

    # interval between attempts to check the hash, in milliseconds
    # hash_interval = 50
    # system.hash.interval.set = 50

    # number of attempts to check the hash while using the mincore status, before forcing
    # overworked systems might need lower values to get a decent hash checking rate
    # hash_max_tries = 3
    # system.hash.max_tries.set = 3

    # SSL certificate name
    # http_cacert =
    # SSL certificate path
    # http_capath =

    # throttle.max_downloads.div.set =
    # max_downloads_div =

    # throttle.max_uploads.div.set =
    # max_uploads_div =

    system.file.max_size.set = -1

    # preload type 0 = Off, 1 = madvise, 2 = direct paging
    pieces.preload.type.set = 1
    pieces.preload.min_size.set = 262144
    pieces.preload.min_rate.set = 5120
    network.send_buffer.size.set = 1M
    network.receive_buffer.size.set = 131072

    pieces.sync.always_safe.set = no
    pieces.sync.timeout.set = 600
    pieces.sync.timeout_safe.set = 900

    # scgi_dont_route =
    # network.scgi.dont_route.set =

    # session.path.set =
    # session.name.set =
    session.use_lock.set = yes
    session.on_completion.set = yes

    system.file.split_size.set = -1
    system.file.split_suffix.set = .part

    # set whether the client should try to connect to UDP trackers
    # use_udp_trackers = yes
    trackers.use_udp.set = yes

    # use a http proxy. [url] ;an empty string disables this setting
    # http_proxy =
    # network.http.proxy_address.set =

    # The IP address the listening socket and outgoing connections is bound to
    # network.bind_address.set = rakshasa.no
    # network.bind_address.set = 127.0.0.1
    # bind = rakshasa.no
    # bind = 127.0.0.1

    # number of sockets to simultaneously keep open
    # max_open_sockets = 65023
    # network.max_open_sockets.set = 65023

    # set the umask applied to all files created by rtorrent
    # system.umask.set =

    # alternate keyboard mappings
    # qwerty | azerty | qwertz | dvorak
    # key_layout = dvorak
    # keys.layout.set = dvorak

    20. Create rtorrent directories
    Remember to replace <username> with your actual user name
    sudo mkdir /home/<username>
    sudo mkdir /home/<username>/downloads
    sudo mkdir /home/<username>/downloads/watch
    sudo mkdir /home/<username>/downloads/.session
    sudo chown -R <username>:<username> /home/<username>/downloads

    Check that rtorrent starts properly
    rtorrent

    After checking, close rtorrent with CTRL-Q
    If you get an error, note the error and fix the configuration.
    The most likely causes will be an invalid <username>, invalid path in .rtorrent.rc or a permissions issue


    21. Autostart rtorrent at boot
    sudo nano /etc/init/rtorrent.conf

    Add the following content to the rtorrent.conf file
    Remember to replace both instances of <username> with the actual user name
    description "ncurses BitTorrent client based on LibTorrent"

    start on (local-filesystems and net-device-up and runlevel [2345])
    stop on runlevel [016]

    chdir /home/<username>

    script
    su <username> -c "screen -d -m -S rtorrent rtorrent"
    end script

    Install rutorrent
    22. Install rutorrent

    Code:
    cd /var/www
    sudo mkdir svn
    sudo svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent
    sudo svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins
    sudo rm -r rutorrent/plugins
    sudo mv plugins rutorrent/
    sudo mv rutorrent /var/www/

    23. Transfer ownership of rutorrent files to webserver so that they are accessible
    cd /var/www
    sudo chown -R www-data:www-data rutorrent
    sudo chmod -R 755 rutorrent

    24. Configure rutorrent configuration file
    sudo rm /var/www/rutorrent/conf/config.php
    sudo nano /var/www/rutorrent/conf/config.php

    Replace the contents of config.php with the following:
    <?php
    // configuration parameters

    // for snoopy client
    @define('HTTP_USER_AGENT', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0', true);
    @define('HTTP_TIME_OUT', 30, true); // in seconds
    @define('HTTP_USE_GZIP', true, true);
    $httpIP = null; // IP string. Or null for any.

    @define('RPC_TIME_OUT', 5, true); // in seconds

    @define('LOG_RPC_CALLS', false, true);
    @define('LOG_RPC_FAULTS', true, true);

    // for php
    @define('PHP_USE_GZIP', false, true);
    @define('PHP_GZIP_LEVEL', 2, true);

    $do_diagnostic = true;
    $log_file = '/tmp/rutorrent_errors.log'; // path to log file (comment or leave blank to disable logging)

    $saveUploadedTorrents = true; // Save uploaded torrents to profile/torrents directory or not
    $overwriteUploadedTorrents = false; // Overwrite existing uploaded torrents in profile/torrents directory or make unique name

    $topDirectory = '/home'; // Upper available directory. Absolute path with trail slash.
    $forbidUserSettings = false;

    $scgi_port = 5000;
    $scgi_host = "127.0.0.1";

    // For web->rtorrent link through unix domain socket
    // (scgi_local in rtorrent conf file), change variables
    // above to something like this:
    //
    //$scgi_port = 0;
    //$scgi_host = "unix:///tmp/rtorrent.sock";

    $XMLRPCMountPoint = "/RPC2"; // DO NOT DELETE THIS LINE!!! DO NOT COMMENT THIS LINE!!!

    $pathToExternals = array(
    "php" => '/usr/bin/php', // Something like /usr/bin/php. If empty, will be found in PATH.
    "curl" => '/usr/bin/curl', // Something like /usr/bin/curl. If empty, will be found in PATH.
    "gzip" => '/bin/gzip', // Something like /usr/bin/gzip. If empty, will be found in PATH.
    "id" => '/usr/bin/id', // Something like /usr/bin/id. If empty, will be found in PATH.
    "stat" => '/usr/bin/stat', // Something like /usr/bin/stat. If empty, will be found in PATH.
    );

    $localhosts = array( // list of local interfaces
    "127.0.0.1",
    "localhost",
    );

    $profilePath = '../share'; // Path to user profiles
    $profileMask = 0777; // Mask for files and directory creation in user profiles.
    // Both Webserver and rtorrent users must have read-write access to it.
    // For example, if Webserver and rtorrent users are in the same group then the value may be 0770.

    ?>

    25. Configure rutorrent plugins
    cd /var/www/rutorrent/plugins
    sudo mkdir conf
    sudo nano /var/www/rutorrent/plugins/conf/plugins.ini

    Replace the contents of plugins.ini with the following:
    ;; Plugins' permissions.
    ;; If flag is not found in plugin section, corresponding flag from "default" section is used.
    ;; If flag is not found in "default" section, it is assumed to be "yes".
    ;;
    ;; For setting individual plugin permissions you must write something like that:
    ;;
    ;; [ratio]
    ;; enabled = yes ;; also may be "user-defined", in this case user can control plugin's state from UI
    ;; canChangeToolbar = yes
    ;; canChangeMenu = yes
    ;; canChangeOptions = no
    ;; canChangeTabs = yes
    ;; canChangeColumns = yes
    ;; canChangeStatusBar = yes
    ;; canChangeCategory = yes
    ;; canBeShutdowned = yes

    [default]
    enabled = user-defined
    canChangeToolbar = yes
    canChangeMenu = yes
    canChangeOptions = yes
    canChangeTabs = yes
    canChangeColumns = yes
    canChangeStatusBar = yes
    canChangeCategory = yes
    canBeShutdowned = yes

    ;; Default

    [_getdir]
    enabled = yes
    [cpuload]
    enabled = user-defined
    [create]
    enabled = user-defined
    [datadir]
    enabled = yes
    [diskspace]
    enabled = user-defined
    [erasedata]
    enabled = user-defined
    [show_peers_like_wtorrent]
    enabled = user-defined
    [theme]
    enabled = yes
    [tracklabels]
    enabled = user-defined
    [trafic]
    enabled = user-defined

    ;; Enabled

    [autotools]
    enabled = user-defined
    [cookies]
    enabled = user-defined
    [data]
    enabled = user-defined
    [edit]
    enabled = user-defined
    [extratio]
    enabled = user-defined
    [extsearch]
    enabled = user-defined
    [filedrop]
    enabled = user-defined
    [filemanager]
    enabled = user-defined
    [geoip]
    enabled = user-defined
    [httprpc]
    enabled = yes
    canBeShutdowned = no
    [pausewebui]
    enabled = yes
    [ratio]
    enabled = user-defined
    [ratiocolor]
    enabled = user-defined
    [rss]
    enabled = user-defined
    [_task]
    enabled = yes
    [throttle]
    enabled = user-defined
    [titlebar]
    enabled = user-defined
    [unpack]
    enabled = user-defined

    ;; Disabled

    [chat]
    enabled = no
    [chunks]
    enabled = no
    [feeds]
    enabled = no
    [fileshare]
    enabled = no
    [fileupload]
    enabled = no
    [history]
    enabled = no
    [instantsearch]
    enabled = no
    [ipad]
    enabled = no
    [logoff]
    enabled = no
    [loginmgr]
    enabled = no
    [mediainfo]
    enabled = yes
    [mediastream]
    enabled = yes
    [check_port]
    enabled = no
    [retrackers]
    enabled = no
    [rpc]
    enabled = no
    [rssurlrewrite]
    enabled = no
    [rutracker_check]
    enabled = no
    [scheduler]
    enabled = no
    [screenshots]
    enabled = yes
    [seedingtime]
    enabled = yes
    [source]
    enabled = no

    26. Install the remaining rutorrent plugins
    Build mediainfo from source
    Code:
    sudo wget http://downloads.sourceforge.net/mediainfo/MediaInfo_CLI_0.7.56_GNU_FromSource.tar.bz2
    sudo tar jxvf MediaInfo_CLI_0.7.56_GNU_FromSource.tar.bz2
    cd MediaInfo_CLI_GNU_FromSource/
    sudo sh CLI_Compile.sh
    cd MediaInfo/Project/GNU/CLI
    sudo make install

    Install screenshots dependency ffmpeg
    sudo apt-get install ffmpeg

    27. Confirm that rutorrent works
    Browse to https://<server IP>/rutorrent
    Enter your <WEBusername> and <WEBpassword> when prompted.
    You should be able to download and seed torrents with rutorrent now.



    Optional components
    If you wish to install Webmin, Autodl-irssi and ZNC:


    28. Install Webmin
    Webmin is a GUI settings manager for your server.

    Update sources list
    sudo nano /etc/apt/sources.list

    Add this line to the end of the sources.list file:
    Code:
    deb http://download.webmin.com/download/repository sarge contrib

    Install the PGP key for this new repository so that we're not warned about it.
    Code:
    cd /tmp
    wget http://www.webmin.com/jcameron-key.asc
    sudo apt-key add jcameron-key.asc

    Get package
    sudo apt-get update
    sudo apt-get install webmin

    Test that webmin works by browsing to https://<server IP>:10000
    To use webmin, login with the system <username> and <password> that you created earlier


    29. Autodl-irssi
    Autodl-irssi is a powerful program that can be set up to automatically download torrents that match your description.
    It is more powerful than and recommended over RSS for trackers that have an IRC announce channel.


    Install dependencies
    (irssi was installed earlier in this tutorial)
    Use the set that corresponds to your ubuntu OS version
    Note that this command is one long line, not two separate commands
    For ubuntu 12.04:
    sudo apt-get -y install libarchive-zip-perl libnet-ssleay-perl libhtml-parser-perl libxml-libxml-perl libjson-perl libjson-xs-perl libxml-libxslt-perl libxml-libxml-perl libjson-rpc-perl libarchive-zip-perl
    For ubuntu versions before 12.04:
    sudo apt-get -y install libarchive-zip-perl libnet-ssleay-perl libhtml-parser-perl libxml-libxml-perl libdigest-sha1-perl libjson-perl libjson-xs-perl libxml-libxslt-perl

    Install Autodl-irssi
    Code:
    mkdir -p ~/.irssi/scripts/autorun
    cd ~/.irssi/scripts
    wget --no-check-certificate -O autodl-irssi.zip https://sourceforge.net/projects/autodl-irssi/files/autodl-irssi-v1.10.zip/download
    unzip -o autodl-irssi.zip
    rm autodl-irssi.zip
    cp autodl-irssi.pl autorun/
    mkdir -p ~/.autodl
    touch ~/.autodl/autodl.cfg

    Install the rutorrent plugin for Autodl-irssi
    Code:
    cd /var/www/rutorrent/plugins 
    sudo svn co https://autodl-irssi.svn.sourceforge.net/svnroot/autodl-irssi/trunk/rutorrent/autodl-irssi
    cd autodl-irssi
    sudo cp _conf.php conf.php

    Transfer ownership of Autodl-irssi to the webserver
    cd /var/www/rutorrent/plugins
    sudo chown -R www-data:www-data autodl-irssi

    Configure Autodl-irssi passwords.
    Edit the /var/www/rutorrent/plugins/autodl-irssi/conf.php file to add a port and password.
    sudo nano /var/www/rutorrent/plugins/autodl-irssi/conf.php

    Replace the content of conf.php file with the following
    You can change the port number and password to ones of your choice.
    <?php

    $autodlPort = 38800;
    $autodlPassword = "fab7Rxtpp";

    ?>

    Edit the ~/.autodl/autodl.cfg file
    cd ~/.autodl
    sudo nano autodl.cfg

    Copy the following content into the autodl.cfg file
    Note that the GUI port and password must match the ones from the conf.php file
    [options]
    gui-server-port = 38800
    gui-server-password = fab7Rxtpp

    For ubuntu 12.04 only, make the following edit. This is not needed for earlier ubuntu versions
    cd ~/.irssi/scripts/AutodlIrssi
    sudo nano MatchedRelease.pm
    Look for the following line and edit "SHA1" to "SHA"
    Code:
    use Digest::SHA1 qw/ sha1 /;
    After you edit, the line should look like this:
    Code:
    use Digest::SHA qw/ sha1 /;

    Start irssi manually the first time
    screen -d -m irssi

    Configure irssi to autostart at boot
    sudo nano /etc/init/rtorrent.conf
    Look for the line that reads "su <username> -c "screen -d -m -S rtorrent rtorrent""
    Then add the following lines beneath that
    Note: do not remove the quotation marks in the quote box beow
    sleep 3
    su <username> -c "screen -d -m irssi"

    30. Install ZNC
    ZNC is an IRC bouncer that maintains a stable connection to your IRC server
    sudo apt-get build-dep znc

    31. Configure ZNC
    The following command will open a dialog to configure ZNC.
    Refer to the notes below for further guidance.
    sudo znc --makeconf

    ZNC configuration dialog:
    What port would you like ZNC to listen on? (1 to 65535): 35550 ;this is the port that the server will listen for you on
    Would you like ZNC to listen using SSL? (yes/no):
    no
    Would you like ZNC to listen using ipv6? (yes/no): no
    Listen Host (Blank for all ips): (leave this blank)
    Do you want to load any global modules? (yes/no): yes ;load "webadmin". this is GUI manager for ZNC

    Now we need to setup a user...
    Username (AlphaNumeric): <ZNCusername> ;this is the username you will login to znc with. commonly the same as your <nick>
    Enter Password: <ZNCpassword> ;this is the password you will log into ZNC with
    Confirm Password: <ZNCpassword>
    Would you like this user to be an admin? (yes/no): yes

    Nick: <nick> ;your irc nick
    Alt Nick: <nick>_ ;your alternative name if your primary nick is unavailable
    Ident: <ident> ;the prefix to your hostmask. can be whatever you like. the format is "nick ident@hostmask"
    Real Name: <realname> ;can be whatever you like. perhaps choose your <nick> or <ident>
    VHost (optional): 0.0.0.0 ;0.0.0.0 forces IPv4 connections

    Number of lines to buffer per channel: 200 ;how many lines of the log to save and show you the next time you rejoin IRC
    Would you like to keep buffers after replay?: no
    Default channel modes [+stn]: nrt
    Do you want to automatically load any user modules for this user?: yes ;choose "Clearbufferonmsg"
    IRC server (host only): 91.121.231.82 ;this the IRC server IP for irc.torrent-invites.com

    [irc.torrent-invites.com] Port (1 to 65535): 6667
    [irc.torrent-invites.com] Password (probably empty): (leave this blank). the TI server doesn't use a password
    Does this server use SSL? (probably no) (yes/no): no
    Would you like to add another server? (yes/no): no
    Would you like to add a channel for ZNC to automatically join?: no

    Would you like to setup another user? (yes/no): no
    launch znc now? (yes/no): yes ;if you wish to start using ZNC now


    When using ZNC, you connect to ZNC on your server, rather than directly to the TI IRC
    (Note that <server IP> below refers to your server, not the TI server)
    The normal connect command in your IRC client would be:
    /server
    <server IP> <ZNC port#> <ZNCusername>:<ZNCpassword>



    Reboot your server, to ensure that it starts up properly
    Enter enter your <password> if prompted
    sudo reboot





    Congratulations, that's it! Your server should now be ready to use. \O/
    To access your server:





    Rutorrent
    https://<server IP>/rutorrent
    u: <WEBusername>
    p: <WEBpassword>


    FTP
    IP: <server IP>
    u: <username>
    p: <password>
    port: <SSHport> ;e.g. "21976" if you used the example (not port 22)
    protocol: SFTP - SSH File Transfer Protocol (not "FTP")


    SSH
    IP: <server IP>
    u: <username>
    p: <password>
    port: <SSHport> ;e.g. 21976 if you used the example (not port 22)
    nb root login is disabled. prefix a command with "sudo" if you need root privileges


    Reboot your server
    Enter enter your <password> when prompted
    sudo reboot



    Webmin
    https://<server IP>:10000
    u: <username>
    p: <password>


    ZNC
    If you use ZNC, you connect to ZNC on your server rather than directly to the TI IRC
    The standard connect command to use in your IRC client would be:
    /server <server IP> <ZNCport#> <ZNCusername>:<ZNCpassword>


    To change your system password
    login with SSH, then use the passwd command
    passwd



    To change your rutorrent web login password
    cd /etc/apache2
    sudo htpasswd -b .htpasswd <WEBusername> <NEWpassword>



    Getting started with Autodl-irssi
    Last edited by Sky_; May 13th, 2014 at 01:57 AM.
    Fortune and love favour the brave .-. Ovid ....


  2. To remove ads become VIP. Inquire about advertising here.
  3. #2

    Default

    Great tutorial! Can't imagine how much work went into writing all of this
    If in the future I were to go with a seedbox self-managed I'll definitely give this tut a look ;)

  4. #3

    Default

    Nice tutorial Copper i installed this on my dedi one week ago and T-I give me a lot of help.

  5. #4

    Default

    Wow I can't thank you enough Copper for this fantastic and very thorough guide! I have been considering getting a Kimsufi 2G to supplement my Gbit SSD seedbox and I had no idea how much stuff besides rtorrent had to be installed...you just saved me from spending a massive amount of time on google. And thanks to everyone who's threads helped Copper make this guide!

  6. #5

    Default

    This is really great. I just went through a four day process of setting up seedboxes on Leaseweb and Kimsufi and have been compiling my own knowledge base because I've had to reinstall the OS so many times when I screw things up. I can scrap that completely and just follow your guide now. Can't tell you guys how helpful this forum has been in the whole process, thanks!

  7. #6

    Default

    Thanks! Worked well. I had to make a few changes to .rtorrent.rc because I was getting errors when trying to run rtorrent, but otherwise it worked great!

  8. #7

    Default


    Thanks cul. I've updated rtorrent.rc so it shouldn't cause errors anymore for anyone following this guide.























    Fortune and love favour the brave .-. Ovid ....

  9. #8

    Default

    Hey Copper, thanks again for this guide! I just got done setting up a new server and have a few questions and a few suggestions.


    Why disable DNS?


    Why disable X11 Forwarding? Will this make VNC not work?


    I'd add that it's a good idea to delete info.php after you have confirmed that apache is working.


    All of the restart and reload functions can more easily be done via "service apache2 restart/reload"


    It's common knowledge for most people using linux/unix, but if someone was reading this as a first time user, it would be helpful to tell them that you can paste into nano by right-clicking.




    Step 22: Add sudo to lines 3 & 4


    Step 22: sudo mv rutorrent /var/www/
    This step is uneccessary, the directory rutorrent is already in this location.


    Step 24: Add step to remove /var/www/rutorrent/conf/config.php first, so that you don't have to delete the whole thing in a text editor. sudo rm /var/www/rutorrent/conf/config.php

  10. #9

    Default


    Hey Never,

    Glad you got your server running. And thanks for the constructive comments.

    There are numerous ways to go about installing linux. I have chosen options that I think will make sense for the majority of new users. But anyone who has specific needs can always change those. DNS is commonly disabled because it is a drain on resources and a lot of people wouldn't begin to miss it. If you like DNS and accept the performance penalty, then you can enable it. X11 forwarding is an alternative to VNC and a security risk unless you intend to use and secure it. So it should be disabled by default. It's easy to enable for anyone who intends to actually use it for remote access.

    And thanks for the other suggestions and catches. i'll have a look at them and no doubt add those.

    Cheers












    Fortune and love favour the brave .-. Ovid ....

  11. #10

    Default

    Great tutorial.

    You've written something that if followed will save hours and hours of web searching and trial and error.

Page 1 of 14 1 2 3 4 11 ... LastLast

Similar Threads

  1. Debian/Ubuntu Dedicated Server Setup
    By MikeD in forum Seedbox Tutorials
    Replies: 397
    Last Post: March 16th, 2013, 06:44 AM
  2. Replies: 16
    Last Post: May 9th, 2012, 02:53 PM
  3. Replies: 11
    Last Post: October 14th, 2010, 04:53 PM
  4. Seed box setup
    By Rain in forum Help
    Replies: 7
    Last Post: August 31st, 2010, 02:53 PM
  5. kimsufi seed box
    By sidurham83 in forum BitTorrent Discussion
    Replies: 5
    Last Post: January 26th, 2009, 09:32 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •