前言
某些IDC的OpenVZ VPS沒有提供Debian jessie,唯有折騰Debian wheezy。
本文章只適用於Debian 7,並添加rTorrent支援IPv6。若想用於其他/不同版本的系統,請自行修改指令和軟件包名稱。
適用於Debian 8的文章:https://npchk.info/debian8-install-rtorrent/
rtorrent的版本是最新版本0.9.6,詳情可參閱作者的Github https://rakshasa.github.io/rtorrent/
感謝兵藤一誠@U2的指導 和 ノエル@U2的建議
如果你是小白,請確保系統是Debian7和系統沒嘗試過安裝rtorrent (保持乾淨的安裝環境),否則請重裝Debian7,然後跟着Copy and Paste指令就OK
安裝及配置rtorrent
安裝編譯工具與依賴
apt-get update apt-get install git build-essential automake libcppunit-dev libtool zlib1g-dev gawk libsigc++-2.0-dev libssl-dev libncurses5-dev libncursesw5-dev libcurl4-openssl-dev subversion screen unzip
下載並編譯安裝XMLRPC-C
svn checkout http://svn.code.sf.net/p/xmlrpc-c/code/stable xmlrpc-c cd xmlrpc-c/ ./configure make make install
下載libtorrent
cd ~ git clone https://github.com/memoz/libtorrent.git
編譯並安裝libtorrent 需時10-30分鍾
cd libtorrent \ && git checkout in-use \ && ./autogen.sh \ && ./configure --disable-debug \ && make \ #可加入 -j 參數使用多核編譯,但用在某些低性能CPU會出現ERROR && make install
刷新動態庫
ldconfig
下載rtorrent
cd ~ git clone https://github.com/memoz/rtorrent.git
編譯並安裝rtorrent 需時10-30分鍾
cd rtorrent \ && git checkout in-use \ && ./autogen.sh \ && ./configure --with-xmlrpc-c --with-ncurses --enable-ipv6 --disable-debug \ && make \ #也可加入 -j 參數使用多核編譯 && make install \ && cd ~
新增系統使用者 例如:peter
adduser peter
使用者切換到peter 建立rtorrent配置文件
nano ~/.rtorrent.rc #內容如下# directory = /home/peter/Downloads session = /home/peter/rtorrent/.sessions schedule = watch_dir,5,5,"load.start=/home/peter/rtorrent/torrents/*.torrent, d.directory.set=/home/peter/rtorrent/incoming" schedule = untied_directory,5,5,stop_untied= schedule = untied_directory,5,5,close_untied= schedule = untied_directory,5,5,remove_untied= schedule = tied_directory,5,5,start_tied= schedule = low_diskspace,10,30,close_low_diskspace=100M upload_rate = 0 download_rate = 0 port_range = 34543-34543 port_random = no encryption = allow_incoming,try_outgoing,enable_retry dht = auto check_hash = no encoding_list = UTF-8 scgi_port = 127.0.0.1:5000 ip = *.*.*.* #這裡填IPv4地址 如果用了IPv6補丁的話需要這個參數,否則Tracker只知道IPv6地址
根據上面的配置文件新增文件夾
mkdir ~/Downloads mkdir ~/rtorrent/ mkdir ~/rtorrent/incoming mkdir ~/rtorrent/.sessions mkdir ~/rtorrent/torrents/
安裝及配置RuTorrent
切換回root進行以下步驟 安裝RuTorrent的網頁伺服器軟體
apt-get install nginx-full php5-fpm apache2-utils php5-cgi php5-cli curl
※ 禁用Nginx默認網站 新建站點配置文件※
rm /etc/nginx/sites-enabled/default touch /etc/nginx/sites-available/rutorrent.conf ln -s /etc/nginx/sites-available/rutorrent.conf /etc/nginx/sites-enabled/000-rutorrent.conf mkdir /var/www nano /etc/nginx/sites-available/rutorrent.conf #內容如下# server { server_name _; root /var/www; index index.html; location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/htpasswd; try_files $uri $uri/ =404; } location /RPC2 { scgi_pass 127.0.0.1:5000; include scgi_params; scgi_param SCRIPT_NAME /RPC2; } location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
配置php5-fpm
nano /etc/php5/fpm/pool.d/www.conf ###將listen = /var/run/php5-fpm.sock 改為listen = 127.0.0.1:9000
重啟php5-fpm和nginx以套用新設置
service php5-fpm restart service nginx restart
下載RuTorrent並移動到www目錄
wget https://github.com/Novik/ruTorrent/archive/master.zip unzip master.zip mv ruTorrent-master /var/www/rt
為RuTorrent加入登錄密碼 例如用戶名為peter
htpasswd -c /etc/nginx/htpasswd peter
設置RuTorrent與使用者peter的權限
chown peter -R /var/www/rt/share
使用peter啟動rtorrent
screen -S rt ###創建名為"rt"的screen窗口,可自行改名 rtorrent ##啟動rtorrent
安裝完成!在瀏覽器輸入 http://你的IP地址/rt/ 即可進入RuTorrent。
Q&A
Q1:首次啟動RuTorrent會出現報錯: Bad response from server: (500 [error,list]) Warning: XMLRPC call is failed.
A1:在命令行按CTRL+Q退出rtorrent,接着清除瀏覽器緩存。最後輸入”rtorrent”以再次啟動rtorrent,便可正常訪問RuTorrent。
Q2:RuTorrent各種報錯 例如:Plugin will not work. rTorrent user can’t access external program (mediainfo)…….
A2:那是RuTorrent內置插件,你可以安裝缺少的程序或在”Plugins”停用它。
Q3:我在RuTorrent設定中修改數值後,會出現Bad response from server: (500 [error,setsettings]) Warning: XMLRPC call is failed.或Bad response from server: (500 [error,list]) Link to XMLRPC failed. May be, rTorrent is down?
A3:你輸入的數值不合法,例如”整體最大可開啟的檔案數量”的數值為1 – 2^16 (65536),如果超出範圍輸入0或70000,rtorrent就會崩潰或Bad response from server。如果rtorrent崩掉請回screen再次啟動rtorrent
Q4:關掉SSH後怎樣返回rtorrent命令行?
A4:由於關掉SSH時會連帶rtorrent一起關掉,所以要把rtorrent放在screen運行。輸入以下指令可返回rtorrent screen:
screen -r rt ###按CTRL+A-D可關閉screen去背景 ###按CTRL+K可殺掉screen
Q5:為甚麼在RuTorrent刪除種子後,檔案仍留在硬碟需手動刪除?
A5:這與php5-fpm、RuTorrent和peter的權限有關,修改php5-fpm配置文件:
nano /etc/php5/fpm/pool.d/www.conf ### user = www-data 改為user = peter ### group = www-data 改為group = peter
重啟php5-fpm套用新設置
service php5-fpm restart
Q6:為甚麼已在”Plugins”啟用GeoIP插件,但仍然沒有顯示Peer國家?
A6:修改PHP配置文件
nano /etc/php5/fpm/php.ini ##加入一行:extension=geoip.so
下載最新的GeoIP庫:
rm /usr/share/GeoIP/GeoIP.dat cd /usr/share/GeoIP wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz gunzip GeoIP.dat.gz
安裝php5-geoip
apt-get install php5-geoip
重啟php5-fpm套用新設置
service php5-fpm restart