星期一, 7月 26, 2010

rTorrent + Rutorrent 安裝- 多使用者環境

租 seedbox 經常會遇到有共用的情況,

如果兩個使用者同時都要用 rtorrent+ rutorrent 的話要如何設定呢?

下面說明下要如何設定才能多個使用者共用

簡單說下其實就是要有不同的 ~/.rtorrent.rc, /etc/init.d/rtorrent.sh, /var/www/rutorrent 還有要修改 /etc/lighttpd/lighttpd.conf

下面的情況假設已經有了一個使用者 snowwolf725,

我們希望增加另一個使用者 useradmin 的情況

(1) 切換身份成為 root

su root

(2) 複製 .rtorrent.rc 的設定檔並修改

cp /home/snowwolf725/.rtorrent.rc /home/useradmin/.rtorrent.rc

vi /home/useradmin/.rtorrent.rc

主要要修改下面幾項資訊

=====================

# 存放下載檔案的路徑
directory = /home/useradmin/data
# rtorrent 的工作目錄
session = /home/useradmin/session

# 每五分鐘查看特定目錄並下載新的種子
schedule = watch_directory,5,5,load_start=/home/useradmin/watch/*.torrent

# DHT 的 port, 不能跟之前的使用者相同
dht_port = 19001

# scgi 的 socket 檔案要不同,這邊用 rpc2.socket 後面幾個檔案也要一致

scgi_local = /tmp/rpc2.socket
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc2.socket"
=====================

(2) 複製 /etc/init.d/rtorrent.sh 的設定檔並修改

cp -a /etc/init.d/rtorrent.sh /etc/init.d/rtorrent2.sh

vi /etc/init.d/rtorrent2.sh

把所有 snowwolf725 的字串取代成 useradmin

(3) 複製 /var/www/rutorrent 並修改

cp –a /var/www/rutorrent /var/www/rutorrent2

vi /var/www/rutorrent2/conf/config.php

主要要修改下面幾項資訊

====================

$XMLRPCMountPoint = "/RPC3";

$scgi_host = "unix:///tmp/rpc2.socket";

====================

(4) 修改 /etc/lighttpd/lighttpd.conf

vi /etc/lighttpd/lighttpd.conf

找到

=======================

scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
)
)

=======================

改成

=======================

scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
),

"/RPC3" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc2.socket",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
)

)

=======================

要注意小括號的數目,及 "/RPC3" 前面有個逗點…

(5) 測試

/etc/init.d/rtorrent.sh start

/etc/init.d/rtorrent2.sh start

/etc/init.d/lighttpd force-reload

開啟瀏覽器分別輸入 http://你的ip/rtorrent/ 和 http://你的ip/rtorrent2/

並且分別上傳不同的種子,

成功的話應該就可以在兩邊看到不同的種子正在下載中了

4 則留言:

  提到...

希望您能盡速回覆這個問題 感激不盡
我購買了SEEDBOX搭配rtorrent
上傳了種子卻出現
Storage error: [Hash checker was unable to map chunk: File name too long]

怎辦??詢問賣的 說是該種子有問題
不過該資源已經完成了80人
另外似乎與Linux下儲存有關係
有什麼解決辦法嘛???
感激不盡

小狼的BLog 提到...

看說明應該是種子內含的檔案名稱過長,
不同檔案系統對於檔名的長度限制不一樣所以有些人可以正常完成檔案,
而你的檔案系統卻沒辦法,
要避免這錯誤大概只能更換檔案系統,
或是要求原本發種者修改檔名,
或是不下載其中檔名過長的檔案,
還有就是透過軟體將種子內的檔案重新映射到較短的路徑(不過似乎只有看到 windows 上有這類的軟體)

  提到...

恩 我瞭解了...所以即便使用其他類的譬如換成Deluge也沒用囉??
因為是Linux本身的問題
唉...
基本上發布的人不會去改檔名 這是為了方便別人補種
所以只能放棄該資源 或是從Windows的系統下載囉???

小狼的BLog 提到...

那是檔案系統的限制所以除了上述的方式基本上換哪套軟體都沒用,
其實 windows 的限制應該更慘...
各個檔案系統允許的長度限制,
其中 linux 中還算常見的 ReiserFS 和 Reiser4 檔案系統可以支援到單一檔案近 4000 個字元
http://en.wikipedia.org/wiki/Comparison_of_file_systems
=====================
Windows 通常限制檔案名稱最多只能有 260 個字元。但檔案名稱實際上必須比限制短,因為完整路徑 (例如,C:\Program Files\filename.txt) 會併入此字元計數中
=====================

=====================
在Linux底下,使用Ext2/Ext3檔案系統時,針對檔案的檔名長度限制為:
1. 單一檔案或目錄的最大容許檔名為 255 個字元;
2. 包含完整路徑名稱及目錄 (/) 之完整檔名為 4096 個字元。
=====================