原文地址:http://wangyan.org/blog/rtorrent-and-rutorrent-tutorial.html

rTorrent 是一款非常简洁优秀的BT客户端,它完全基于文本并可以在Linux终端中运行。ruTorrent 是基于PHP的一个rTorrent前端,提供图形化的界面来管理 rTorrent。

一、编译安装 libtorrent

1.1 安装编译工具

1.yum -y install gcc-c++ libtool

2.yum -y install libsigc++20 libsigc++20-devel

1.2 下载、编译、安装

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

2.tar -zxf libtorrent-0.12.9.tar.gz

3.cd libtorrent-0.12.9

4../configure

5.make && make install

二、编译安装 rtorrent

2.1 安装依赖的软件包

1.yum -y install gcc-c++ libtool

2.yum -y install libsigc++20 libsigc++20-devel

2.2 配置环境变量

注:如果不先做这步,可能出现无法找到 libtorrent.so.5 等错误。

1.echo "/usr/local/lib/" >> /etc/ld.so.conf

2.ldconfig

3.export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

2.3 安装 xmlrpc

如果你想直接通过web界面管理rtorrent,则此步不能省。rtorrent 0.7.5 以后的版本web gui是通过xmlrpc来驱动。

1.yum -y install xmlrpc-c-devel

2.4 编译安装 rtorrent

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

2.tar -zxf rtorrent-0.8.9.tar.gz

3.cd rtorrent-0.8.9

4../configure --with-xmlrpc-c

5.make && make install

三、rTorrent 使用方法

3.1 rtorrent 后台启动脚本

该脚本用于管理rtorrent,包括启动、停止、重启操作,脚本内容见下面链接。

https://gist.github.com/1326099

注:若不想以root身份运行该脚本,请修改替换rtorrent.sh中的root字符。

1.wget http://wangyan.org/download/shell/rtorrent.sh

2.mv rtorrent.sh /etc/init.d/rtorrent

3.chmod a+x /etc/init.d/rtorrent

3.2 rtorrent 运行方法

方法一(推荐):使用上述管理脚本

方法二(推荐):通过Screen使用rTorrent,然后通过+A+D挂起、screen -r 恢复,详细快捷键见screen相关文档。

方法三:直接在终端运行,然后通过+Q 退出。详细快捷键见官方文档《RTorrentUserGuide》

1./usr/local/bin/rtorrent

3.3 rtorrent 配置

配置 rtorrent 是通过位于/home/username/.rtorrent.rc文件来完成。官方示例配置文件见《rtorrent.rc example》

配置文件中文解释见下面链接,我不直接贴代码了,以免浪费文章篇幅。

https://gist.github.com/1325923

注:配置文件里面所指定的目录要保证存在,否则启动rtorrent出错,可通过下面命令创建。

mkdir -p ~/rtorrent/{download, .session, .watch}

四、ruTorrent 安装配置

ruTorrent 是用来可视化管理 rtorrent的,它本身非常简洁,但可通过插件实现非常强大的功能。

4.1 rtorrent xmlrpc-c 配置

安装配置ruTorrent需保证,支持php和xmlrpc-c的Web环境已经配置好,否则出错。web套件可以是 lighttpd、apache、nginx。

xmlrpc-c 配置可参见官方文档《Using XMLRPC with rtorrent》本文以Nginx为例来说明。

方法一:(官方不推荐)

1.cat >>~/.rtorrent.rc<<-EOF

2.scgi_port = localhost:5000

3.EOF

方法二:(官方推荐)

注意:下面三行代码一行都不能少,先后顺序不能变,否则出现 "Could not prepare socket for listening: Address already in
use" 错误!

1.cat >>~/.rtorrent.rc<<-EOF

2.execute_nothrow=rm,/tmp/rpc.socket

3.scgi_local = /tmp/rpc.socket

4.schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket"

5.EOF

4.2 Nginx xmlrpc 配置

修改nginx站点配置文件,在server字段加入下面内容。

1.location /RPC2 {

2.include scgi_params;

3.#scgi_pass 127.0.0.1:5000;

4.scgi_pass unix:///tmp/rpc.socket;

5.}

4.3 ruTorrent 安装配置

ruTorrent 详细配置可查看官方文档《ruTorrent Configuration》

1.wget http://rutorrent.googlecode.com/files/rutorrent-3.3.tar.gz

2.tar -zxf rutorrent-3.3.tar.gz

3.mv rutorrent  /var/www

4.chown -R www-data:www-data  /var/www/rutorrent/share/

5.sed -i 's/\/\/ $scgi/$scgi/g' /var/www/rutorrent/conf/config.php

6.sed -i 's/$scgi_port = 5000/\/\/ $scgi_port =
5000/g'/var/www/rutorrent/conf/config.php

7.sed -i 's/$scgi_host = "127/\/\/ $scgi_host =
"127/g'/var/www/rutorrent/conf/config.php

4.4 ruTorrent 访问密码保护

创建密码文件

1.htpasswd -b -c
/var/www/rutorrent/.htpasswds username passwd

修改nginx站点配置文件

1.location /rtorrent {

2.auth_basic "ruTorrent
login";

3.auth_basic_user_file
/var/www/rtorrent/.htpasswds;

4.}

五、结束

安装完成后,通过 http://youdomain/rutorrent 访问,然后输入帐号和密码即可看到以下界面。嗯,欢呼吧!混PT的小水管们。。。

参考资料:

1. http://libtorrent.rakshasa.no/wiki
2. https://wiki.archlinux.org/index.php/RTorrent
3. http://blog.45639.com/post-27.html
4. http://snowwolf725.blogspot.com/...

rTorrent + ruTorrent 安装和配置的更多相关文章

  1. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  2. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  3. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  4. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  5. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  6. ZooKeeper安装与配置

    一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...

  7. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  8. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

  9. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

随机推荐

  1. shell脚本 ------ 输出带颜色的字体

    shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e “\033[字背景颜色:文字颜色m字符串\033[0m” 例如: echo -e “\03 ...

  2. github git 无法读取远程仓库或无权限

    解决方法:重新设置ssh密钥 ssh-keygen -t rsa -C "http://github.com"//输入命令后按提示输入id_rsa.pub的存储地址 和密钥密码 地 ...

  3. AndroidStudio3.0以上版本的坑

    原文:https://blog.csdn.net/ytfunnysite/article/details/78864556 1.Error:Failed to resolve: com.android ...

  4. Atom组件

    Atom组件 最近用Atom写博客比较多,然后发现一个很严重的问题.. 没有一个我想要的上传图片的方式,比如某乎上边就可以直接copy/paste文件,然后进行上传. 然而在Atom上没有找到类似的插 ...

  5. 兼容到ie10的js文件导出、下载到本地

    话不多说,上代码: try { let reader = new FileReader(); let blob = new Blob([res.data], { type: 'application/ ...

  6. 【LOJ】#2077. 「JSOI2016」飞机调度

    题解 考虑一架飞机飞完自己之后还能飞到哪些航线,用floyd求两点最短路 这个图建出来是个DAG,求最小路径覆盖即可,二分图匹配 注意判断时是航班的起飞时刻+直飞时间+加油时间+最短路时间 代码 #i ...

  7. Centos下命令行编译MapReduce代码(Java)并打包在Hadoop中执行

    前提条件:搭建好Hadoop系统 新建文件夹:input  和  output hdfs dfs -mkdir /inputhdfs dfs -mkdir /output 查看文件系统 hdfs df ...

  8. [代码审计]phpshe开源商城后台两处任意文件删除至getshell

    0x00 背景 这套系统审了很久了,审计的版本是1.6,前台审不出个所以然来.前台的限制做的很死. 入库的数据都是经过mysql_real_escape_string,htmlspecialchars ...

  9. Java中实现多线程的两种方式之间的区别

    Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线 ...

  10. Django的URL别名

      项目的urls.py配置文件   from message.views import getform       urlpatterns = [   url(r'^admin/', admin.s ...