Cara Membuat SeedBox Torrentleech – Bagian Keempat

Artikel ini dapat diunduh dalam format MS Word dan PDF, klik icon disamping ini:
Ikon MS WordIkon PDF

 
rTorrent adalah sebuah klien bittorrent yang cepat, ringan, efisien, dan hemat resource tentunya. Menggunakan engine dari libtorrent yang ditulis dalam pemrograman C++ dan penggunaan ncurses sehingga di desain untuk dapat bekerja dalam lingkungan antarmuka pengguna text dengan penggunaannya bersama tmux atau screen dalam shell SSH. Walaupun developernya tidak menyediakan antarmuka GUI ataupun WebUI, namun terdapat banyak pilihan antarmuka pengguna yang disediakan melalui pihak ketiga.

rTorrent dapat dikendalikan secara remote, melalui xml-rpc dalam SCGI. Selain itu rTorrent merupakan klient bittorrent yang popularitasnya cukup tinggi, bahkan banyak provider penyedia jasa seedbox hosting menggunakannya bersamaan dengan antarmuka WebUI ruTorrent. Namun instalasinya sedikit sulit untuk pemula karena membutuhkan pengetahuan tentang perintah-perintah di command line, dan cara mengcompile di Linux.

Fitur-fitur yang tersedia di rTorrent diantaranya adalah:

  • Dukungan ekstensi DHT, PeX, dan LPD
  • Dukungan magnet link
  • Dukungan terhadap berbagai protokol tracker seperti http, udp, dan https
  • Dukungan XML-RPC untuk remote melalui antarmuka WebUI
  • Dan fitur-fitur lainnya yang disediakan oleh libtorrent

Antarmuka rTorrent melalui console di PuTTY
Gambar 1. Antarmuka rTorrent melalui terminal menggunakan PuTTY.

Instalasi rTorrent Dengan Antarmuka Web Menggunakan ruTorrent

Tampilan WebUI ruTorrent
Gambar 2. Tampilan antarmuka webui ruTorrent pada browser Opera

Siapa yang tidak kenal dengan ruTorrent? ruTorrent merupakan front-end untuk klient bittorrent yang sangat populer, yaitu rTorrent. ruTorrent berbasis Web-based sehingga untuk aksesnya dapat dilakukan dari PC, Notebook, Tablet, hingga Smartphone melalui web browser.

Fitur-fitur yang tersedia di ruTorrent diantaranya adalah:

  • Kompabilitas yang tinggi dengan berbagai macam browser populer seperti Chrome, Firefox, dan Opera di berbagai platform.
  • Opensource, dibuat dalam script PHP sehingga antarmuka web mudah sekali dimodifikasi
  • Extensible, fitur-fitur tambahan yang diinginkan dapat disediakan melalui plugin
  • Ringan dan efisien, sehingga penggunaan bersamaan dengan ruTorrent dapat diinstall pada perangkat portabel seperti router

Seperti yang sudah disebutkan sebelumnya, bahwa rTorrent dan ruTorrent dapat diinstal di berbagai platform mulai dari router yang kompatibel dengan dd-wrt atau open-wrt, perangkat dengan Android, VPS hingga Dedicated server. Namun disini saya hanya akan membahas cara instalasi rTorrent dan ruTorrent saja menggunakan VPS atau Dedicated server.

Karena menggunakan antarmuka WebUI, maka komponen desktop GUI sama sekali tidak diperlukan dalam proses instalasi hingga konfigurasinya. Semua dapat dilakukan menggunakan terminal melalui protokol SSH. Disini saya menganggap bahwa komponen Web dan PHP sudah terinstall di server yang kamu gunakan. (Lihat cara instalasi LAMP: Apache, MySQL, dan PHP). Mari kita lanjut ke instalasi dengan menggunakan Ubuntu 12.04 LTS.

Install paket dan dependency yang diperlukan, caranya ketikkan perintah berikut di PuTTY atau Bitvise:

root@sgpssh3:~# apt-get install subversion build-essential automake libtool libcppunit-dev libcurl3-dev libsigc++-2.0-dev unzip unrar-free curl libncurses5-dev php5-curl libapache2-mod-scgi screen

Apabila kamu menggunakan Centos, kamu bisa melihatnya disini, atau mendownload tutorial dalam bentuk PDF diatas. Selanjutnya install xml-rpc

root@sgpssh3:~# svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
root@sgpssh3:~# cd xmlrpc-c
root@sgpssh3:~# ./configure --disable-cplusplus
root@sgpssh3:~# make
root@sgpssh3:~# make install

Langkah ketiga adalah install libtorrent, disini saya mencontohkan dengan versi 0.13.2, untuk versi terbaru silahkan lihat di url berikut: http://libtorrent.rakshasa.no/downloads

root@sgpssh3:~# wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
root@sgpssh3:~# tar xvf libtorrent-0.13.2.tar.gz
root@sgpssh3:~# cd libtorrent-0.13.2
root@sgpssh3:~# ./autogen.sh
root@sgpssh3:~# make 
root@sgpssh3:~# make install

Langkah keempat adalah instalasi rtorrent, disini saya mencontohkan dengan versi 0.13.2, untuk versi terbaru silahkan lihat di url berikut: http://libtorrent.rakshasa.no/downloads. Versi libtorrent dan rtorrent yang akan diinstall harus sama.

root@sgpssh3:~# wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz
root@sgpssh3:~# tar xvf rtorrent-0.9.2.tar.gz
root@sgpssh3:~# cd rtorrent-0.9.2
root@sgpssh3:~# ./autogen.sh
root@sgpssh3:~# ./configure --with-xmlrpc-ce 
root@sgpssh3:~# make install
root@sgpssh3:~# make 
root@sgpssh3:~# make install
root@sgpssh3:~# ldconfig

Sampai disini, instalasi libtorrent dan rutorrent sudah selesai. Selanjutnya untuk langkah kelima adalah membuat direkori, user, dan konfigurasi rtorrent dan rutorrent. Dimulai dengan membuat direktori (ganti tulisan simpleaja dengan yang diinginkan), ketikkan perintah berikut:

root@sgpssh3:~# useradd simpleaja
root@sgpssh3:~# mkdir /home/simpleaja/rtorrent
root@sgpssh3:~# mkdir /home/simpleaja/rtorrent/session
root@sgpssh3:~# mkdir /home/simpleaja/rtorrent/watch
root@sgpssh3:~# mkdir /home/simpleaja/rtorrent/downloads

Kemudian sesuaikan owner dan permissionnya. Selanjutnya membuat konfigurasi rtorrent, yang dapat diambil dari link berikut: http://simple-aja.info/files/downloads/rtorrent.rc. Kamu tinggal menyesuaikan isnya saja menggunakan nano. Ketikkan perintah berikut:

root@sgpssh3:~# cd /home/simpleaja
root@sgpssh3:~# wget http://simple-aja.info/files/downloads/rtorrent.rc -O .rtorrent.rc
root@sgpssh3:~# nano .rtorrent.rc

Selanjutnya adalah instalasi rutorrent, ketikkan perintah berikut:

root@sgpssh3:~# cd /var/www
root@sgpssh3:~# wget http://rutorrent.googlecode.com/files/rutorrent-3.5.tar.gz
root@sgpssh3:~# tar xvf rutorrent-3.4.tar.gz
root@sgpssh3:~# wget http://rutorrent.googlecode.com/files/plugins-3.5.tar.gz
root@sgpssh3:~# tar xvf plugins-3.4.tar.gz
root@sgpssh3:~# mv plugins /var/www/rutorrent
root@sgpssh3:~# chown -R www-data:www-data /var/www/rutorrent

Kemudian membuat init script agar rtorrent dapat berjalan sebagai service, ketikkan perintah berikut:

root@sgpssh3:~# nano /etc/init.d/rtorrent_simpleaja

Kemudian masukkan entri berikut:

[expand title=”init script rtorrent“]

#!/bin/sh
# chkconfig: 2345 85 15
# description: Start-stop rtorrent
### BEGIN INIT INFO
# Provides:          rtorrent_simpleaja
# Required-Start:    $local_fs $network $syslog
# Required-Stop:     $local_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start-stop rtorrent
# Description:       Start-stop rtorrent
### END INIT INFO
 
NAME=rtorrent_simpleaja
USER=simpleaja
SESSIONNAME=rtorrent
 
resetPath() {
	PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH"
}
resetPath
 
# Make sure the path is correct, and make sure we're in the home dir.
USER_INIT="umask 022; cd; PATH=$PATH:$PATH"
 
# Run user command, ignoring any messages sent to stdout (eg. 'No mail.')
runUserCmd() {
	su - $USER -c "$USER_INIT; $1" >/dev/null && return 0
	return 1
}
 
isStarted() {
	su - $USER -c "$USER_INIT; screen -ls | grep -qE "[ 	][0-9]+.$SESSIONNAME[ 	]"" >/dev/null && return 0
	return 1
}
 
startIt() {
	isStarted && return 0
 
	local START_IRSSI=n
	local START_RTORRENT=n
	which irssi > /dev/null 2>&1 && START_IRSSI=y
	which rtorrent > /dev/null 2>&1 && START_RTORRENT=y
 
	case $START_IRSSI$START_RTORRENT in
		yy)
			runUserCmd "screen -S $SESSIONNAME -d -t rtorrent -m rtorrent"
			runUserCmd "screen -d -r $SESSIONNAME -X screen -t irssi irssi"
			;;
		yn)
			runUserCmd "screen -S $SESSIONNAME -d -t irssi -m irssi"
			;;
		ny)
			runUserCmd "screen -S $SESSIONNAME -d -t rtorrent -m rtorrent"
			;;
		nn)
			;;
	esac
	return 0
}
 
stopIt() {
	isStarted || return 0
 
	runUserCmd "screen -d -r $SESSIONNAME -p irssi -X stuff "/quit
/quit
""
	runUserCmd "screen -d -r $SESSIONNAME -p rtorrent -X xon"
 
	for i in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4; do
		isStarted || break
		sleep 1
	done
 
	# If it's still not stopped, kill the whole screen session
	if isStarted; then
		echo -n "Couldn't stop it. Killing screen session..."
		runUserCmd "screen -d -r $SESSIONNAME -p rtorrent -X xon"
		sleep 2
		runUserCmd "screen -d -r $SESSIONNAME -X quit"
		echo "Done."
	fi
 
	return 0
}
 
v_restartIt() {
	v_stopIt
	v_startIt
}
 
v_showStatus() {
	if isStarted; then
		echo "$NAME is running."
	else
		echo "$NAME is stopped."
	fi
}
 
. /lib/lsb/init-functions
 
v_startIt() {
	log_begin_msg "Starting $NAME..."
	startIt
	log_end_msg $?
}
 
v_stopIt() {
	log_begin_msg "Stopping $NAME..."
	stopIt
	log_end_msg $?
}
 
resetPath	# Some include files may have reset it
LOCKFILE=
updateLock() {
	[ -z "$LOCKFILE" ] && return
	if isStarted; then
		touch $LOCKFILE
	else
		rm -f $LOCKFILE
	fi
}
 
RETVAL=0
case $1 in
	start)
		v_startIt
		;;
	stop)
		v_stopIt
		;;
	force-reload|restart)
		v_restartIt
		;;
	try-restart)
		isStarted && v_restartIt
		;;
	status)
		v_showStatus
		;;
	*)
		echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}"
		RETVAL=1
		;;
esac
 
updateLock
exit $RETVAL

[/expand]

Simpan dan kemudian ketikkan perintah berikut:

root@sgpssh3:~# cd /etc/init.d
root@sgpssh3:~# chmod 755 rtorrent_simpleaja
root@sgpssh3:~# chmod +x rtorrent_simpleaja

Ulangi langkah diatas apabila kamu membuat user lainnya, tentu dengan menyesuaikan nama file dan usernya. Selanjutnya adalah membuat direktori user di rutorrent dengan mengetikkan perintah berikut:

root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/conf/users/simpleaja
root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/share/users/simpleaja
root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/share/users/simpleaja/settings
root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/share/users/simpleaja/torrents

Ubah owner dari semua direktori yang sudah dibuat tadi ke www-data. Buat permission writeable untuk direktori settings dan torrents ke 777. Selanjutnya kamu bisa menyalin file access.ini, config.php, dan plugins.ini ke direktori /var/rutorrent/rutorrent/conf/users/simpleaja. Lalu sesuaikan file config.php pada direktori user rutorrent seperti contoh berikut ini:

<?php
$topDirectory = "/home/simpleaja/downloads";
$scgi_port = 0;
$scgi_host = "unix:///home/simpleaja/rtorrent/session/rpc.socket";
$XMLRPCMountPoint = "/RPC00001";
?>

Untuk membuat user lainnya ulangi kembali mulai dari poin ke lima. Dengan demikian instalasi hingga konfigurasi rtorrent dan rutorrent sudah selesai. Selanjutnya tinggal mensetting virtual host untuk rutorrent dan mengamankan direktori apache saja untuk rutorrent-nya.

root@sgpssh3:~# ln -s /etc/apache2/mods-available/scgi.load /etc/apache2/mods-enabled/scgi.load
root@sgpssh3:~# a2enmod auth_digest

Buatlah dan sesuaikan konfigurasi virtual host di apache.

[expand title=”virtual host apache“]

<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>

[/expand]

Buat http authentication dengan mengetikkan perintah berikut:

root@sgpssh3:~# cd /etc/apache2
root@sgpssh3:~# htpasswd -c pwd_rutorrent simpleaja

Selanjutnya akan ditanyakan untuk mengisi passwordnya. Untuk membuat password akses rutorrent untuk user lainnya, kamu bisa mengulangi perintah diatas, tanpa menggunakan parameter -c. Sesuaikan kembali autentikasi password dengan konfigurasi virtual direktori apache. Kamu sudah bisa mencobanya dengan mengakses rutorrent dengan alamat http://alamatipserverkamu/rutorrent/

Sampai disini pembahasan tutorial instalasi rTorrent dengan Web-based UI ruTorrent selesai. Walaupun dirasa cukup sulit, namun apabila instalasi sudah berhasil maka akan terbayar dengan kemampuan dan fitur-fitur menarik. Selain itu kamu dapat menambahkan user lainnya, sehingga apabila kamu memiliki disk space yang cukup banyak, kamu bisa berbagi kepada kenalan atau teman. Atau bahkan bisa membuat usaha penyewaan torrent leech dengan menjual akun torrent yang kamu buat.

Artikel Terkait

[related_posts limit=”5″]

 

4 Comments

  1. Joko 03 Dec 2014 21:15
    • Venantius venantius 03 Dec 2014 22:39
  2. Alan 21 Nov 2014 10:39
    • Venantius venantius 21 Nov 2014 18:00

Leave a Reply