2014年11月12日星期三

owncloud+rtorrent+screen打造个人离线下载

环境

  • centos6 vps 1g memory/100g ssd
  • httpd+mysql

安装owncloud。

$yum -y install owncloud
发现默认owncloud把自己的本体安装到了/usr/share/owncloud目录下。 按上面链接的方法搬运到现在使用的/var/www目录下,并修改/etc/httpd/conf.d/owncloud.conf。
alias /owncloud /var/www/owncloud

<Location /owncloud>
    AllowOverride All
#   SSLRequireSSL # https
</Location>
接下来用mysql建表。
# mysql -u root -p
> create database owncloud;
>  grant all privileges on owncloud.* to 'owncloud'@'localhost' identified by '密码' with grant option;
顺带一提用sqlite也是可以的。这样的话就不需要授权啊密码之类麻烦的事情了。
接下来修改owncloud/config/config.php。
特别注意默认的path还是/usr/share/,需要将其改称 /var/www。
改好之后service httpd restart一下httpd服务器进入主页面开始一键安装。
安装好之后入下图效果。

安装rtorrent

rtorrent是终端下面开源的p2p下载工具。我们需要用这个和owncloud连携。
%wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.4.tar.gz

%tar xvf rtorrent-0.94-tar.gz

%cd rtorrent-0.94

%./configure

%make

%make install
安装完之后进行rtorrent的设定。
%vim .rtorrent.rc
enable_trackers = no
session = ~/torrent/.rtorrent
directory = ~/torrent/tmp
max_uploads = 2
upload_rate = 30
download_rate = 1000
schedule = watch_added,5,5,load_start=/var/lib/owncloud/data/owncloud账号/files/torrent/*.torrent
schedule = untied_directory,5,5,stop_untied=
on_finished = move_complete,"d.set_directory=/var/lib/owncloud/data/owncloud账号/files/torrent/;\
execute=mv,-u,$d.get_base_path=,/var/lib/owncloud/data/owncloud账号/files/torrent/"
简单说明一下这个配置,其实很明显,允许最大2线程下载,上传速度限定死30,下载速度限定死1000kbps。希望vps的运营商别来找我麻烦。
下面的第一行schedule绑定种子上传目录,当发现目录里面有种子文件的话会开始下载。
第二行schedule指明当下载完成之后就把暂存在directory的文件转移到指定的目录里边去。
以上步骤之后基本ok。登陆自己的owncloud,建立一个叫做torrent的文件夹吧。然后随便传个毛片种子上去。
这时候打开rtorrent,发现rtorrent已经开始下载了哈哈。
不久就下载完成了。

这个时候刷新一下自己owncloud的torrent目录,发现下完的毛片已经静静地躺在里面。速度http满速到本地吧。

screen

当然目前为止还有一个问题没解决,那就是rtorrent在断开ssh之后会自己停止。 我们需要的是只需通过网页往torrent文件夹里上传种子就可以让其自动下载资源的效果,所以我们还需要让在ssh断开之后还保持执行。
这个时候第一个想到nohup命令。
%nohup rtorrent &
但是nohup需要退出的时候得自己通过lsof -i:portnumber命令找到对应端口进程然后调用kill -9 进程号手动杀死。搞得不好还杀不干劲拖泥带水。
这个时候就该用到screen这个工具了。
%yum install screen

%screen
安装之后执行screen命令会跳到一个新打开的终端。
在这个终端执行rtorrent
这个时候rtorrent开始工作,然后我们使用^+a,^+d可以断开这个终端。当然这个终端还是存在的。我们可以随时用screen -r命令找回暂时断开的终端。

2 条评论:

  1. 在vps上用bt没问题吗?好像绝大部分的运营商的TOS里都写着不允许bt,博主用的哪家的vps?

    回复删除