Skip to content

Instantly share code, notes, and snippets.

@najashark
Last active August 29, 2015 14:23
Show Gist options
  • Save najashark/abdb76767ecb27d80fff to your computer and use it in GitHub Desktop.
Save najashark/abdb76767ecb27d80fff to your computer and use it in GitHub Desktop.
Pasang ruTorrent ubuntu 14.04

##Pasang ruTorrent ubuntu 14.04

rTorrent merupakan aplikasi yang dikode dengan C++ yang didistribusikan untuk keseluruhan distro linux, jadi untuk pengguna selain Centos atau Ubuntu bisa mengambil referensi dari tutorial ini karena pada dasarnya sama saja. Situs github rTorrent adalah di rutorrent .

Langsung masuk ke tutorial, untuk tutorial kali ini gw memakai webserver apache dengan user punto,

###Install ruTorrent di Ubuntu 14.04

pertama kita perlu install rtorrent dan package yang diperlukan terlebih dahulu dengan apt-get

####untuk ubuntu

sudo apt-get install python-software-properties software-properties-common
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install rtorrent unrar-free mediainfo ffmpeg curl php5*

setelah itu kita buat folder untuk menyimpan sesi kita, semacam cookie. Dan buat folder untuk download dan watch untuk monitoring torrent yang di scedule.

masuk ke folder home kita, misal punto

cd /home/punto
sudo mkdir -p ~/{.session,watch,download}

setelah tergenerate, selanjutnya kita akan membuat file konfigurasi untuk rtorrent yang bernama .rtorrent.rc

sudo nano ~/.rtorrent.rc

konfigurasi bisa dicopy dari /usr/share/doc/rtorrent/rtorrent.rc atau bisa kopas konfigurasi dibawah ini, ubah sesuai kebutuhan

Nah sekarang kita install web interfacenya, rutorrent. Kita langsung download dari halaman webnya untuk versi terbarunya di https://bintray.com/novik65/generic/ruTorrent

cd /var/www/html
sudo wget http://dl.bintray.com/novik65/generic/rutorrent-3.6.tar.gz

download pluginnya juga

sudo wget http://dl.bintray.com/novik65/generic/plugins-3.6.tar.gz

kemudian ekstrak keduanya

sudo tar xvf rutorrent-3.6.tar.gz -C /var/www/html
sudo tar xvf plugins-3.6.tar.gz -C /var/www/html/rutorrent

ubah kepemilikan folder ke www-data agar tidak error

sudo chown www-data:www-data -R /var/www/html/rutorrent

tambah user ke grup www-data

sudo usermod -a -G www-data punto

Selesai setup kita perlu menjalankan rtorrent dengan command rtorrent agar rutorrent bisa berjalan, untuk membuat rtorrent seperti daemon kita bisa pake aplikasi screen, ataupun Byobu. tapi gw lebih prefer byobu. Kita install dulu byobunya ####Untuk byobu

sudo add-apt-repository ppa:byobu/ppa && sudo apt-get update && sudo apt-get install byobu

kemudan kita jalankan byobunya dengan cara

byobu-enable

Untuk penggunaan byobu adalah sbb:

F2 = Buka sesi baru

F3 = Window sebelumnya

F4 = Window selanjutnya

F8 = Ganti nama Window

CTRL + D = Tutup Window

F6 = Detach Session(keluar dari window tapi tetap aktif)

Sekarang pencet F2 untuk buka window baru dan jalankan command rtorrent

sudo rtorrent

setelah itu kamu bisa detach windownya dengan CTRL + D ####Untuk screen

sudo apt-get install screen

jalankan command rtorrent

sudo rtorrent

lalu tekan CTRL+A+D

Agar rTorrent otomatis berjalan pada saat vps anda reboot.

sudo nano /etc/rc.local

paste command berikut ini:

sudo screen -S rtorrent -d -m rtorrent

Akses rutorrent dengan alamat IPADDRESSVPSKAMU/rutorrent. Seharusnya kalau kamu mengikui langkah diatas dengan benar, di tab log tidak akan ada error. Tapi sering juga terjadi error berkaitan akses denied untuk foder default download dan session, coba kamu chmod folder .session ke 0777 ( jangan pernah berikan nama user kamu ke publik karena 0777 artinya siapapun bisa edit, contoh

sudo chmod -R 0777 /home/punto/.session
sudo chmod -R 0777 /home/punto/download

###Membuat User dan Password ruTorrent

Selanjutnya misal kita ingin mempassword rutorrent untuk pribadi, caranya cukup mudah dengan htpasswd, pertama kita install yang diperlukan

####CENTOS

sudo yum install httpd-tools

####UBUNTU

sudo apt-get install apache2-utils

kemudian misal kita ingin menambah user punto cukup dengan

sudo htpasswd -c /folder tersembunyi/.htpasswd punto

ganti owner file htpasswd ####ubuntu

sudo chown www-data:www-data /folder tersembunyi/.htpasswd

####centos

sudo chown apache:apache /folder tersembunyi/.htpasswd

kemudian tinggal edit config apachenya (httpd.conf atau /etc/apache2/apache2.conf) dan tambahkan baris berikut di bagian <directory>

<Directory "/var/www/html/rutorrent">
  AllowOverride AuthConfig
  # The Options below is an example. Use what you deem is necessary.
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
  Order allow,deny
  Allow from all
</Directory>

kemudian kita bikin file .htaccess di folder rutorrent /var/www/html/rutorrent/

sudo nano .htaccess

dan masukan sebagai berikut

AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/folder rahasia/.htpasswd"
Require valid-user

dan restart apachenya. Untuk penambahan grup user dan lain sebagainya mungkin akan dibahas lain kali.

sudo service apache2 restart
# 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.
# Maximum and minimum number of peers to connect to per torrent.
min_peers = 1
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 = 4
# 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/punto/download
# 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/punto/.session
# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=/home/punto/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"
# 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 = 49164-49164
# Start opening ports at a random position within the port range.
#port_random = no
# 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 = yes
# 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 = auto
# UDP port to use for DHT.
#
dht_port = 6881
# Enable peer exchange (for torrents not marked private)
#
peer_exchange = yes
#
# Do not modify the following parameters unless you know what you're doing.
#
# Hash read-ahead controls how many MB to request the kernel to read
# 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 = 10
# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100
# 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 = 10
scgi_port = 127.0.0.1:5000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment