CentOS搭建Seedbox

上次小老外整理了别人的技术自己写了一篇用Debian搭建rtorrentftpd的文章,今天网上查了查,发现国外有人做了份CentOS系统的Transmission的教程,今天抽空翻译一下。

翻译自:http://www.diyseedbox.com/tutorial-dedicated-torrent-seedbox-server/

原创翻译,转载请注明原文地址:http://www.d0z.net/2010/09/15/build-seedbox-on-centos/

为什么需要Seedbox等之类一些废话我就不翻译了,相信只要混过PT,就应该知道为什么。

搭建所需条件

.

  • 中等水平的电脑技术
  • 知晓Linux的基本命令
  • 一台VPS或者独立主机
  • SSH客户端,如PuTTY(Win下)或者Terminal(Mac下)。Linux自带SSH命令可直接连接。
  • 十分钟。(我自己搭建只用了4分钟)

如果你还没有VPS或者主机,请自行寻找。原作者推荐Burst.net但小老外并不推荐。

在购买VPS的时候,系统模板请选择Linux,CentOS 5.5 – 64 Bits。

安装

.

我默认你已经拿到root账号,那么请你先登陆SSH。

安装先决条件

首先我们得安装运行Seedbox和网页控制端的基层程序。输入以下命令:
yum -y install gcc gcc-c++ m4 make automake libtool gettext openssl-devel pkgconfig perl-libwww-perl perl-XML-Parser curl curl-devel vsftpd libevent-devel libevent libidn-devel zlib-devel
这一步根据服务器性能情况可能会耗费1-2分钟。

安装intltool

CentOS自带的intltool已经有一段时间没有更新了,所以我们要手动安装最新版本。别担心,一条一条输入以下命令就好。(注:作者安装的是0.40.6版本,官方已经出了0.9版本,请自行斟酌安装!)
cd /tmp
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
tar zxvf intltool-*.tar.gz
cd intltool-*
./configure --prefix=/usr
make
make install

安装Transmission
Transmission是BT客户端,是它真正下载上传你的torrent。输入以下命令:
cd /tmp
wget http://download.m0k.org/transmission/files/transmission-2.04.tar.bz2
tar xvjf transmission-*.tar.bz2
cd transmission-*
./configure --prefix=/usr
make
make install

现在要加入一个系统用户用于运行Transmission:
useradd -mr transmission
chmod g+rwx /home/transmission/

创建init行脚本,用于运行Transmission。本代码修改自Jason Friedland的脚本
wget -O /etc/init.d/transmissiond http://pastie.org/pastes/962731/download
chmod 755 /etc/init.d/transmissiond

设置开机运行Transmission:
chkconfig --add transmissiond
chkconfig --level 345 transmissiond on

运行并停止Transmission。这一步尤其重要,除了验证是否成功配置Transmission之外,第一次运行它会产生一个配置文件,到时候要配置Transmission就要设置这个文件。打完命令后你应该看到两个绿色的[OK]
service transmissiond start
service transmissiond stop

现在我们应该配置Transmission了,把下面粗体的username和password换成你自己的用户名和密码。
cd /home/transmission/.config/transmission/
sed -i 's/^.*rpc-whitelist-enabled.*/"rpc-whitelist-enabled": false,/' settings.json
sed -i 's/^.*rpc-authentication-required.*/"rpc-authentication-required": true,/' settings.json
sed -i 's/^.*rpc-username.*/"rpc-username": "username",/' settings.json
sed -i 's/^.*rpc-password.*/"rpc-password": "password",/' settings.json

创建一个文件夹供存放Transmission要下载的内容:
mkdir -p /home/transmission/Downloads/
chown -R transmission.transmission /home/transmission/Downloads/
chmod g+w /home/transmission/Downloads/

然后正式运行Transmission:
service transmissiond start

安装服务器防火墙、安全软件。

我们也要安装ConfigServer Security & Firewall安全防护软件,它可以在极大程度上保护服务器安全,并为Transmission开放必要的端口供其正常工作。这是很重要的一步,请不要忽略。不同的母机配置不同,可能封了部分端口,安装这个可以保证开启必要端口,关闭不必要的端口。
cd /tmp
wget http://www.configserver.com/free/csf.tgz
tar zxvf csf.tgz
cd csf
./install.generic.sh

现在我们装好了CSF,然后就要修正配置文件开启/关闭一些端口。
cd /etc/csf
sed -i 's/^TESTING =.*/TESTING = "0"/' csf.conf
sed -i 's/^TCP_IN =.*/TCP_IN = "21,22,9091,51413,30000:35000"/' csf.conf
sed -i 's/^TCP_OUT =.*/TCP_OUT = "1:65535"/' csf.conf
sed -i 's/^UDP_IN =.*/UDP_IN = "20,21,51413"/' csf.conf
service csf restart

安装FTPd (vsftpd)

你必须通过FTP下载文件,FTP客户端可以使用像FileZilla等开源的程序,或者使用FireFTP作为Firefox的插件。

创建一个新用户用于登陆FTP,请修改粗体部分改成自己的用户名。
useradd -d /home/transmission/Downloads/ -G transmission username
创建密码:
passwd username
修改vsftpd设置,禁用匿名登录,设置白名单仅允许你自己登陆。
sed -i 's/^anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf
echo -e "\nuserlist_deny=NO\npasv_min_port=30000\npasv_max_port=35000" >> /etc/vsftpd/vsftpd.conf
tail -n1 /etc/passwd | awk -F : '{print $1}' > /etc/vsftpd/user_list

设置开机运行vsftpd:
chkconfig --add vsftpd
chkconfig --level 345 vsftpd on

启动vsftpd:
service vsftpd start

可选步骤:

清理刚刚安装时所生成的临时文件:
rm -rf /tmp/*
确认在你主机上的程序都是最新的,并升级:
yum -y upgrade

测试运行:

.

现在你的Transmission和FTPd已经运行起来了,玩玩吧!

测试Transmission:

打开以下网址:
http://[主机IP]:9091/transmission/web/
会跳出一个窗口来要你输入账号密码,把在刚刚安装步骤里你自己的用户名和密码填进去。登陆后,你应该可以看见Transmission的WebUI。点击Open输入以下URL测试下载速度:
http://ftp.osuosl.org/pub/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-LiveCD.torrent
你应该可以看见下载栏逐渐增加的进度条了。

原文另有Transmission的远程控制软件,请移步原文,本文只介绍搭建Seedbox。

(完)

作者:小老外

我还需要不断地学习。

4条评论

  1. 现在要加入一个系统用户用于运行Transmission:
    useradd -mr transmission
    chmod g+rwx /home/transmission/

    跟着教程做到这步就没反应了。。。。求解呀~~~

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据