要点
短く言うと: rTorrent を XML-RPC/SCGI 経由で動かせるようにし、ウェブ上で操作するために rtGui をウェブサーバに配置して設定します。この記事は必要な依存関係、ビルド手順、Apache と PHP の設定、よくある問題と代替 GUI の選び方までをカバーします。
概要
このガイドは、rtGui を rTorrent と組み合わせて使うための手順を、日本語で整理したものです。対象は Linux サーバで rTorrent をソースからビルドしているユーザーです。主要な作業は: libtorrent / rTorrent のビルド、XML-RPC の準備、Apache の SCGI 設定、PHP モジュールの確認、rtGui の配置と設定です。
重要: ビルドやインストール作業は root 権限を必要とする場合があります。テスト環境で動作確認してから本番へ移行してください。
必要条件
- 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 モジュール - 詳細: http://www.php.net/
- Web ブラウザ(例: Firefox) - http://www.mozilla.com/
注意: バージョンはソースの記述に従っています。お使いの配布版や新しいバージョンでは手順や必要モジュールが異なる場合があります。
インストール手順
I. rTorrent / libtorrent の準備
1. rTorrent と libtorrent をダウンロードしてインストール
まずは libtorrent のインストール手順を参照してください:
http://libtorrent.rakshasa.no/wiki/Install
一般的なビルド手順:
./configure
make
make install (as superuser)
管理者権限でのインストールが必要です。
2. XML-RPC をダウンロードしてインストール
ダウンロード: http://xmlrpc-c.sourceforge.net/downloading.php
展開とビルドの基本手順:
tar xvzf xmlrpc-XXXXXXXXX.tgz
./configure
もし ./configure でエラーが出る場合は、以下のオプションで試してみてください:
./configure --disable-cplusplus
make
make install (as superuser)
これは C++ ラッパーの機能を無効化してビルドを成功させるための回避策です。
3. Apache と PHP(必要なモジュール付き)のインストール
公式サイト:
- PHP: http://www.php.net/
- Apache: http://www.apache.org/
配布パッケージを使う場合は、Apache2 と PHP の XML-RPC モジュールが利用可能か確認してください。
II. rTorrent を XML-RPC 経由で動かす設定
1. XML-RPC / SCGI の構成要件
必要なコンポーネント:
- Apache 用の SCGI モジュール(例: http://python.ca/scgi/)
- xmlrpc-c 1.00 以降(64bit 整数サポートが必要な場合は 1.07 以降を推奨)
- rtorrent 0.7.5 以降
rtorrent をビルドするときに –with-xmlrpc-c フラグを付けてください。
Apache の設定ファイル(httpd.conf または apache2.conf)に以下を追加します:
SCGIMount /RPC2 127.0.0.1:5000
rtorrent.rc: scgi_port = localhost:5000
上記は、Apache 側で /RPC2 エンドポイントをローカルの 5000 ポートにマウントし、rTorrent がそのポートで SCGI を待ち受けるように指示する設定例です。
2. rtGui のインストール
- ウェブサーバのドキュメントルートへ移動(例):
cd /var/www/htdocs
- ダウンロードしたアーカイブを展開:
tar xvzf rtgui-0.1.tgz
- 必要に応じて設定ファイルを編集:
vi rtgui/config.php
config.php 内では、rTorrent の SCGI エンドポイント(/RPC2 など)へのパスや認証情報を確認してください。
- ブラウザで rtGui を開く: 例: http://localhost/rtgui
動作しない場合は Apache のエラーログと rTorrent のログ(標準出力や指定ログファイル)を確認してください。
代替 GUI と選択肢
rtGui 以外にも rTorrent 用の GUI はいくつかあります。用途や好みに応じて選んでください:
- nTorrent
- wTorrent
- n2hell
- rTWi
- rtorstat
- ruTorrent(比較的よく使われる別の選択肢; プラグインが豊富)
選ぶ際のポイント: メンテナンス状況、必要な PHP/JS のバージョン、機能(スケジュール、フィルタ、RSS、プラグイン)を確認しましょう。
管理者チェックリスト
- libtorrent と rTorrent を –with-xmlrpc-c でビルドした
- xmlrpc-c をインストール済み
- Apache に SCGI (SCGIMount) を設定した
- rtorrent.rc に scgi_port を設定した
- PHP の XML-RPC モジュールが有効
- rtGui の config.php を環境に合わせて編集した
よくある問題と対処法
- Apache から /RPC2 にアクセスできない: Apache の SCGI 設定(SCGIMount とバインド先IP/ポート)とファイアウォールを確認。
- XML-RPC の型エラー(64bit 整数): xmlrpc-c のバージョンが古い可能性があるため 1.07 以降を使用。
- パーミッションエラー: rTorrent を実行するユーザーと Apache(ウェブサーバ)ユーザーの権限を確認。
- rtGui が応答しない: ブラウザのデベロッパーツールでネットワークタブを確認し、/RPC2 へリクエストが届いているかを検証。
Important: 本番環境では rTorrent の制御インターフェースを公開ネットワークに直結しないでください。HTTP レベルでの認証や VPN、IP フィルタリングを利用してアクセスを制限してください。
簡易導入フロー(ミニ手順)
- libtorrent / rTorrent をビルド(–with-xmlrpc-c)
- xmlrpc-c をインストール
- Apache に SCGI を設定(SCGIMount)
- rtorrent.rc に scgi_port を設定
- PHP と XML-RPC モジュールを有効化
- rtGui をウェブサーバに配置し config.php を編集
- ブラウザで確認
いつ失敗するか(反例)
- rTorrent がパッケージ版で xmlrpc サポート無しでビルドされている場合、GUI から制御できません。ソースから再ビルドが必要になります。
- xmlrpc-c のバージョンとシステムのアーキテクチャ(32bit/64bit)が合っていないと整数の扱いで不具合が出ることがあります。
1行用語集
- SCGI: Lightweight HTTP gateway protocol。rTorrent と Apache をつなぐために使われるプロトコル。
- XML-RPC: XML を使ったリモートプロシージャコール。rTorrent の制御に使われる。
参考と謝辞
原文とリソース: http://libtorrent.rakshasa.no/ および http://xmlrpc-c.sourceforge.net/
オリジナル投稿者によるメッセージ(訳): 楽しいセットアップになりますように。問題が起きたらログを参照して順を追って確認してください。
PeTIK Team より
原文サイト: http://petik.uw.hu