행복둥이들의 이야기

rTorrent & ruTorrent 를 이용하여 Ubuntu 를 토렌트머신으로... 본문

컴퓨터 이야기/리눅스 이야기

rTorrent & ruTorrent 를 이용하여 Ubuntu 를 토렌트머신으로...

행복둥이들 2012. 5. 3. 18:17

컴퓨터 전공자도 아닌 내가 굳이 우분투를 사용하는 가장 중요한 이유 중의 하나는 바로 torrent 머신을 구축하기가 비교적 쉽고(?), 가볍기 때문이다. 서버버전을 사용하면 윈도우처럼 무거운 GUI 를 돌리지 않아도 되기 때문에 비교적 저사양의 컴퓨터로도 구축이 가능하다. 그리고 전 세계의 수많은 사용자가 남겨놓은 수많은 참고 글들이 많이 있으므로 약간의 부지런(?)만 떨면 충분히 내게 맞는 글들을 찾을 수 있다.

아래 내용들은 순전히 구글링을 통하여 얻은 정보들을 혹시라도 차후에 다시 시스템을 손볼 일을 대비하여 모아서 정리해 놓은 글임을 밝힌다. 참고한 원본 글들은 다음과 같다.



우선 대략적인 개요를 보자면 rtorrent 는 실제로 torrent 작업을 하는 텍스트 환경 기반의 토렌트 프로그램이고, 이 rtorrent 라는 프로그램을 바탕으로 웹브라우저를 통해 토렌트 파일을 추가하는 등의 작업을 할 수 있게 해주는 interface 가 rutorrent 이다. 웹 인터페이스를 사용하여 토렌트를 관리하는 것이기 때문에 당연히 웹서버(apache, lighttpd ... 등)가 설치가 되어야 하는데 이 글에서는 apache 서버를 사용하여 설치를 한다.(적절한 설명인지는 ...)



1. rTorrent 설치


일반적으로 우분투에서 프로그램을 설치할 때는 apt-get 과 같은 명령어를 이용하여 패키지 형태로 손쉽게 설치할 수 있듯이, rtorrent 도 패키지가 제공이 되는데, 제공되는 패키지의 버전이 예전 버전이어서인지 원인은 잘 모르겠지만 암튼 실행이 잘 되질 않는다. 따라서 소스 패키지를 받아서 직접 compile 을 해주어야 한다. 이 때 compile 및 실행을 위해 libtorrent 와 xmlrpc-c 프로그램을 필요로 한다.


우선, 혹시 설치되어 있을지 모르는 기존의 rtorrent 패키지를 제거한다.

$ sudo apt-get remove rtorrent libtorrent*


컴파일 및 추후 설치에 필요한 프로그램들을 설치한다.

$ sudo apt-get install build-essential autoconf apache2 automake libtool libncurses5-dev libncursesw5-dev libcurl4-openssl-dev screen openssl php5 php5-cli libapache2-mod-php5 curl libcppunit-dev libsigc++-2.0-dev subversion php5-cgi libapache2-mod-scgi


컴파일할 소스 파일들을 받는다. 이때 그냥 홈폴더에서 작업하여도 무방하지만 기왕이면 깔끔한 폴더 관리를 위하여 임의의 폴더를 만들어 그 폴더에서 작업하는 것을 권장함.

$ svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ xmlrpc-c

$ wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.9.tar.gz

$ wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.9.tar.gz

xmlrpc-c 같은 경우 svn 을 이용하여 최신 버전을 다운받아 실행하여도 좋지만, libtorrent 나 rtorrent 같은 경우 최신 버전보다는 rtorrent 홈페이지에서 stable 버전을 확인하여 이용하는 것을 추천한다.


다운되어진 libtorrent-0.12.9.tar.gzrtorrent-0.8.9.tar.gz 압축풀기

$ tar xvzf libtorrent-0.12.9.tar.gz

$ tar xvzf rtorrent-0.8.9.tar.gz


xmlrpc-c 설치

$ cd xmlrpc-c

$ ./configure --disable-cplusplus

$ make

$ sudo make install


libtorrent 설치

$ cd ../libtorrent

$ ./autogen.sh

$ ./configure

$ make

$ sudo make install

$ sudo ldconfig


rtorrent 설치

$ cd ../rtorrent

$ ./autogen.sh

$ ./configure --with-xmlrpc-c

$ make

$ sudo make install

$ sudo ldconfig


여기까지 하였으면 rtorrent 설치가 끝난다.



2. rTorrent 설정하기


rtorrent 는 기본적으로 프로그램 실행시 사용자의 홈폴더 내에 있는 .rtorrent.rc 파일의 설정을 참고한다. 따라서 이 .rtorrent.rc 파일을 사용자 환경에 맞게 수정해주어야 한다. (rtorrent 홈페이지내의 rtorrent.rc example wiki 페이지 또는 으휴님의 rTorrent 설정하기 (rtorrent.rc) 페이지 를 참고한다.)


우선 홈폴더에서 rtorrent 를 통해 다운로드된 파일이 저장될 다운로드 폴더(torrent) 및 세션 파일이 저장될 폴더(.session)를 만든다. (세션 파일이 저장될 폴더는 숨김폴더로 만들어 주는 센스... ^^)

$ mkdir torrent

$ mkdir .session


아무 것도 없는 상태에서 rtorrent.rc 파일을 만들기는 어려우므로 rtorrent 홈페이지의 wiki 페이지에서 예제 파일을 가져와 수정을 하여 사용을 한다.

$ wget http://libtorrent.rakshasa.no/export/1303/trunk/rtorrent/doc/rtorrent.rc

$ mv rtorrent.rc .rtorrent.rc

$ vi .rtorrent.rc


.rtorrent.rc 파일에서 대부분 기본 세팅(?)만을 사용해도 큰 문제는 없지만 몇몇 설정들만을 자신의 환경에 맞게 고쳐주면 된다.


여기까지 설정을 마쳤으면 rtorrent 가 제대로 설치가 되었는지 테스트 해보자.

$ rtorrent


(hh:mm:ss) XMLRPC initialized ....
(hh:mm:ss) The SCGI socket is bound to ...

이와 같은 메시지가 하단에 나오면 제대로 설치가 된 것이다. [Ctrl+Q]로 프로그램을 종료한다.



3. rTorrent 백그라운드로 실행하기


성공적으로 rtorrent 를 설치하였으니 이제는 rtorrent 를 서버가 부팅될 때마다 백그라운드로 자동으로 실행이 되도록 만들어야한다. rtorrent 홈페이지의 rtorrentInit.sh 스크립트를 약간 손을 봐서 사용한다.

$ cd /etc/init.d

$ sudo wget http://libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh

$ sudo mv rtorrentInit.sh rtorrent

$ sudo vi rtorrent


rtorrent 스크립트 파일의 34행의 user="user" 항목에 rtorrent 를 실행할 사용자를 적으면 되겠다. 그 부분만 수정하면 작동하는데 아무런 지장이 없으나 이 스크립트를 그대로 update-rc.d 명령을 사용하여 등록하면 몇 줄의 에러 아닌 에러를 나타내므로 맨 위에 다음 몇 줄을 추가하여 준다.

#!/bin/bash

### BEGIN INIT INFO
# Provides: rtorrent
# Required-Start: $network
# Required-Stop: $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start rtorrent as a daemon

### END INIT INFO


rtorrent 스크립트에 실행 속성을 부여하여 주고 시작프로그램에 등록한다.

$ sudo chmod a+x /etc/init.d/rtorrent

$ sudo /etc/init.d/rtorrent start

$ sudo update-rc.d rtorrent defaults



4. ruTorrent 설치하기


이제 rtorrent 의 front-end 인 rutorrent 를 설치한다. rutorrent 홈페이지 에서 최신 버전을 확인한 후 다운을 받는다. 이 때 기왕이면 웹서버 폴더인 /var/www 폴더에 다운받는다.

$ cd /var/www

$ sudo wget http://rutorrent.googlecode.com/files/rutorrent-3.4.tar.gz

$ sudo tar xvzf rutorrent-3.4.tar.gz


rutorrent 용 플러그인도 다운받는다.

$ cd rutorrent

$ sudo wget http://rutorrent.googlecode.com/files/plugins-3.4.tar.gz

$ sudo tar xvzf plugins-3.4.tar.gz


/var/www/rutorrent/ 폴더의 owner 를 변경한다.

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


Apache 서버의 경우 다음을 추가해준다.

$ sudo apt-get install libapache2-mod-scgi


Apache 서버를 재시작해준다.

$ sudo /etc/init.d/apache2 restart


이제 모든 설치는 끝났다. 웹브라우저에서 http://서버주소/rutorrent 를 하면 다음과 같은 화면이 뜰 것이다.




PS1. rutorrent 의 플러그인에 대한 설명은 rutorrent 의 plugin wiki 페이지 에 잘 나와있다. 필요한 것만을 남기고 불필요하다고 생각되는 것들은 과감히 지울 것.


PS2. rutorrent plugin 중 geoip plugin 은 초기 설정에서는 실행되지 않는다. geoip installing 페이지 의 note에서 해결책을 찾을 수 있다.

$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$ gunzip GeoLiteCity.dat.gz
$ sudo mkdir -v /usr/share/GeoIP
$ sudo mv -v GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

$ sudo apt-get install php5-geoip


Comments