개요
이 튜토리얼은 rTorrent에서 rtGui라는 웹 인터페이스를 설치하고 구성하는 방법을 설명합니다. rtGui는 웹 브라우저에서 rTorrent를 제어할 수 있게 해주는 경량 GUI입니다.
원본 프로젝트: http://code.google.com/p/rtgui/
중요: rTorrent과 libtorrent는 XML-RPC 인터페이스가 활성화된 상태여야 합니다.
요구 사항
- rTorrent 0.8.0 / libtorrent 0.12.0 이상, XML-RPC 지원으로 컴파일되어야 합니다. 자세한 내용: http://libtorrent.rakshasa.no/
- XML-RPC 라이브러리: http://xmlrpc-c.sourceforge.net/
- Apache 웹서버 + XML-RPC/SCGI 설정: http://libtorrent.rakshasa.no/wiki/RTorrentXMLRPCGuide
- PHP 5 및 XML-RPC 모듈(웹 GUI가 PHP 기반일 경우): http://www.php.net/
- 웹 브라우저: http://www.mozilla.com/
중요: 64비트 정수 지원이나 특정 XML-RPC 버전 요구사항이 있는 경우 각 프로젝트 문서를 확인하세요.
설치 및 구성
I. rTorrent 및 libtorrent 설치
설치 안내: http://libtorrent.rakshasa.no/wiki/Install
./configure
make
sudo make install
환경에 따라 추가 라이브러리나 개발 헤더가 필요할 수 있습니다. 빌드 오류가 발생하면 의존성 패키지를 먼저 설치하세요.
II. XML-RPC 라이브러리 설치
다운로드: http://xmlrpc-c.sourceforge.net/downloading.php
tar xvzf xmlrpc-XXXXXXXXX.tgz
./configure
make
sudo make install
만약 ./configure 단계에서 C++ 관련 오류가 발생하면 다음 옵션으로 시도합니다:
./configure --disable-cplusplus
make
sudo make install
III. Apache 및 PHP 설치
- PHP: http://www.php.net/
- Apache: http://www.apache.org/
운영체제 패키지 매니저(예: apt, yum)를 통해 설치하고 필요한 모듈(php-xmlrpc, libapache2-mod-scgi 등)을 활성화하세요.
IV. rTorrent와 XML-RPC(SCGI) 연동
필요 요소:
- Apache용 SCGI 모듈: http://python.ca/scgi/
- xmlrpc-c 1.00 이상(64비트 정수 지원 필요 시 1.07 권장)
- rtorrent 0.7.5 이상
rTorrent을 컴파일할 때 XML-RPC를 사용하도록 설정합니다:
./configure --with-xmlrpc-c
Apache 설정(httpd.conf 또는 apache2.conf)에 다음 줄을 추가합니다:
SCGIMount /RPC2 127.0.0.1:5000
그리고 rTorrent 설정 파일(rtorrent.rc)에 SCGI 포트를 지정합니다:
scgi_port = localhost:5000
이 구성은 Apache가 /RPC2 경로로 들어오는 요청을 로컬의 rTorrent SCGI 포트(5000)로 전달하도록 합니다.
V. rtGui 설치
웹서버 루트로 이동(예: Debian/Ubuntu의 경우 /var/www/htdocs):
cd /var/www/htdocs
다운로드한 rtGui 아카이브를 추출합니다:
tar xvzf rtgui-0.1.tgz
필요 시 설정 파일을 편집합니다:
vi rtgui/config.php
웹 브라우저에서 다음 경로로 접속합니다:
접속이 되지 않으면 Apache 로그와 rTorrent 로그(/var/log/apache2/, rTorrent 콘솔 출력)를 확인하세요.
빠른 체크리스트 (역할별)
시스템 관리자
- rTorrent/libtorrent 컴파일 시 XML-RPC 옵션 확인
- Apache SCGI 모듈 설치 및 SCGIMount 설정 추가
- 방화벽에서 로컬 포트(예: 5000)가 차단되지 않았는지 확인
- PHP 및 필요한 모듈 설치
웹 사용자
- 브라우저에서 http://서버/rtgui 로 접근
- 로그인/세션 관련 문제가 있으면 PHP 로그 확인
구성 요약(치트 시트)
주요 설정 라인:
- Apache 설정:
SCGIMount /RPC2 127.0.0.1:5000
- rTorrent 설정(rtorrent.rc):
scgi_port = localhost:5000
- rtGui 설치 위치 예시:
/var/www/htdocs/rtgui
대안 및 추가 옵션
다른 rTorrent GUI 대안:
- nTorrent
- wTorrent
- n2hell
- rTWi
- rtorstat
rTorrent 관리용 대체 접근법:
- ruTorrent: 더 많은 플러그인과 활발한 커뮤니티
- Flood: 현대적 UI, 웹소켓 기반
- CLI 스크립트 + cron: UI 없이 자동화 중심 운영
각 대안은 요구하는 PHP/플러그인, 호환성, 보안 모델이 다르므로 운영 환경에 맞게 선택하세요.
호환성 및 마이그레이션 팁
- libtorrent와 rTorrent 버전이 일치하지 않으면 XML-RPC 기능이 비활성화될 수 있습니다. 문서의 권장 버전을 따르세요.
- 64비트 시스템에서는 xmlrpc-c 1.07 이상을 권장합니다(정수 처리 관련).
- Apache 2.4와 모듈 호환성 문제를 확인하세요. SCGI 모듈은 배포판별로 패키지명이 다를 수 있습니다.
문제 발생 시 점검 포인트
- Apache 에러 로그(/var/log/apache2/error.log)를 확인하세요.
- rTorrent가 SCGI 포트(예: localhost:5000)에서 수신 중인지 확인하세요(netstat, ss 사용).
- PHP XML-RPC 모듈이 활성화되어 있는지 확인하세요.
- 방화벽/SELinux가 로컬 포트 접근을 차단하고 있지 않은지 확인하세요.
참고: SCGI 구성이 잘못되면 요청이 502/504 또는 연결 거부로 이어질 수 있습니다.
짧은 용어집
- SCGI: Simple Common Gateway Interface, 웹서버와 백엔드(여기선 rTorrent) 간 통신 규약
- XML-RPC: 간단한 원격 프로시저 호출(원격 명령을 XML로 인코딩해 HTTP로 전송)
- rtGui: rTorrent용 경량 웹 인터페이스
예외 상황 / 실패하는 경우
- rTorrent이 XML-RPC로 컴파일되지 않은 경우: GUI는 작동하지 않습니다. rTorrent를 재컴파일해야 합니다.
- 잘못된 포트/바인드 설정: Apache가 rTorrent로 요청을 전달하지 못합니다.
- 호환되지 않는 xmlrpc-c 버전: 정수 처리나 일부 API가 깨질 수 있습니다.
유지보수 및 보안 권장 사항
- 공개 인터넷에 GUI를 노출하지 마세요. VPN 또는 역방향 프록시 + 인증을 통해 접근을 제한하세요.
- 업데이트 정책을 수립해 rTorrent, libtorrent, Apache, PHP를 정기적으로 패치하세요.
- rtGui/웹서버 접근 로그를 주기적으로 검토하세요.
요약
rtGui를 rTorrent와 함께 사용하려면 rTorrent가 XML-RPC(SCGI)를 지원하도록 컴파일되어야 하고, Apache에 SCGIMount 설정을 추가하여 /RPC2 경로를 rTorrent의 SCGI 포트로 매핑해야 합니다. rtGui는 웹서버 루트에 설치하고 config.php를 환경에 맞게 수정하면 됩니다. 문제 발생 시 로그와 포트 바인딩 상태를 우선 확인하세요.
즐거운 사용 되세요! 중간에 문제가 생기지 않길 바랍니다 ;)
감사합니다.
PeTIK Team