记一下VPS CentOS上安装Transmission的过程

记录一下,以防下次要安装的时候忘记掉。

安装过程主要参考 这里,但根据自己遇到的问题做了一定的调整。

1. 首先安装基本套件

yum -y install gcc gcc-c++ m4 make automake libtool gettext openssl-devel pkgconfig perl-libwww-perl perl-XML-Parser curl curl-devel libevent-devel libevent libidn-devel zlib-devel which

如果没有安装rpmforge的话还需手动安装perl-XML-Parser:

32位
rpm -ihv http://acelnmp.googlecode.com/files/perl-XML-Parser-2.36-1.el5.rf.i386.rpm

64位
rpm -ihv http://acelnmp.googlecode.com/files/perl-XML-Parser-2.36-1.el5.rf.x86_64.rpm

下载套件
cd /usr/src
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz
wget http://download.m0k.org/transmission/files/transmission-2.12.tar.bz2

按照顺序安装:
tar zxf intltool-*.tar.gz
cd intltool-*
./configure --prefix=/usr
make -s
make -s install
cd ..
rm -rf intltool-*

 tar zxf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/libiconv
make && make install
cd ..
rm -fr libiconv-*
echo "/usr/local/lib" >> /etc/ld.so.conf
/sbin/ldconfig

tar xjf transmission-*.tar.bz2
cd transmission-*
./configure --prefix=/usr CFLAGS=-liconv
make -s
make -s install
cd ..
rm -rf transmission-*

2. 建立Transmission所对应的用户(密码输入两次)

useradd transmission
passwd transmission

3. 建立 Transmission 的设置目录及下载目录

mkdir -p /usr/local/transmission/
mkdir -p /web/www/transmission/incomplete/
chown -R www:www /web/www/transmission/
chmod 777 /web/www/transmission/

4. 运行Transmission以生产Transmission的配置 (此步驟要执行两次)

/usr/bin/transmission-daemon -g /usr/local/transmission
killall transmission-daemon

5. 修改Transmission的配置文件(下载示例),比较将端口修改为5678.

cp /usr/local/transmission/settings.json /usr/local/transmission/settings.json.bak
vi /usr/local/transmission/settings.json

配置文件设定可以参考官方Wiki的说明。例如:

"download-dir": "/web/www/transmission",, // 下载完成储存的位置
"incomplete-dir": "/web/www/transmission/incomplete",, // 尚未下载完成储存的位置
"blocklist-enabled": true, // 启用黑名单
"dht-enabled": true, // 启用DHT支援
"encryption": 1, // 传输加密
"open-file-limit": 64, // 最大开启档案数量
"peer-limit-global": 240, // 最大连接数
"peer-limit-per-torrent": 60, // 单一任务连接数
"peer-port": 59999, // Transmission连接使用的port
"ratio-limit": 2.0000, // 上下传比例达到多少停止做种
"ratio-limit-enabled": false, // 启用上下传比例
"rpc-enabled": true, // 启用网页管理模块
"rpc-bind-address": "0.0.0.0", // 指定IP位置
"rpc-port": 5678, // 指定网页管理模块的port
"rpc-authentication-required": true, // 启用使用者认证方式
"rpc-username": "useruseruser", // 登入的使用者名称
"rpc-password": "passpassme", // 登入的用户密码
"rpc-whitelist-enabled": false, // 启用IP认证模式,这个模式是认IP的唷! 有安全需要再启动
"rpc-whitelist": "127.0.0.1,其他可以连的IP", // 指定认可的IP位置,以,区隔
"speed-limit-down": 100, // 限制下载速度,以KB/Sec计算
"speed-limit-down-enabled": false, // 启用限制下载速度
"speed-limit-up": 100, // 限制上传速度,以KB/Sec计算
"speed-limit-up-enabled": false, // 启用限制上传速度
"upload-slots-per-torrent": 30 // 每个Torrent的上传连接数量

6.  最后在辑一下iptables规则,加入Transmission使用的端口

/etc/init.d/iptables stop
iptables -A INPUT -p tcp --dport 5678 -j ACCEPT
iptables -A INPUT -p tcp --dport 59999:61000 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart

7.  全部搞定,然后新增一个Transmission启动脚本,内容如下(下载示例

vi /etc/init.d/transmission

#!/bin/bash # # chkconfig: - 16 84 # description: Start up transmission-daemon # # processname: transmission-daemon # config: /etc/sysconfig/transmission # source function library . /etc/rc.d/init.d/functions # Get network config . /etc/sysconfig/network [ "${NETWORKING}" = "no" ] && exit 0 # Defaults TRANSMISSION_HOME=/usr/bin/transmission-daemon DAEMON_USER="transmission" DAEMON_ARGS="-g /usr/local/transmission" # Daemon NAME=transmission-daemon DAEMON=$(which $NAME) DAEMON_PIDFILE=/var/run/$NAME.pid DAEMON_LOCKFILE=/var/lock/subsys/$NAME DAEMON_SCRIPTNAME=/etc/init.d/$NAME DAEMON_LOGFILE=/var/log/$NAME.log [ -x "$DAEMON" ] || exit 0 start() { echo -n $"Starting ${NAME}: " if [ -n "$TRANSMISSION_HOME" ]; then export TRANSMISSION_HOME fi su - $DAEMON_USER -c "$DAEMON $DAEMON_ARGS" sleep 2 status $NAME &> /dev/null && echo_success || echo_failure RETVAL=$? if [ $RETVAL -eq 0 ]; then touch $DAEMON_LOCKFILE pidof -o %PPID -x $NAME > $DAEMON_PIDFILE fi echo } stop() { echo -n $"Shutting down ${NAME}: " killproc $NAME RETVAL=$? [ $RETVAL -eq 0 ] && /bin/rm -f $DAEMON_LOCKFILE $DAEMON_PIDFILE echo } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status $NAME ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|status}" >&2 exit 3 ;; esac

然后设置权限,启动之后打开浏览器输入http://IP或域名:5678/就能远控Transmission了。 

chmod +x /etc/init.d/transmission
chkconfig --level 345 transmission on
chown -R transmission:transmission /usr/local/transmission/
service transmission start

运行成功以后会看到绿色的[OK]字样,如果没有,请对照错误原因寻找解决方案. 这时的web也效果如下.

transmission-web

你也可以配合客户端使用,比如用transmission-remote-dotnet(需要Microsoft .NET Framework支持,仅有Win版本),或者transmisson-remote-gui(多系统支持,不过不支持中文)

transmission-client

注意:谨防账户被Cancel。

4 Responses to 记一下VPS CentOS上安装Transmission的过程

  1. liconv這個問題,安裝一下再重新鞭transmission就可以解決了。

    wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.13.1.tar.gz
    tar zxf libiconv-1.13.1.tar.gz
    cd libiconv-1.13.1
    ./configure --prefix=/usr/local/libiconv
    make && make install
    cd ..
    rm -fr libiconv-*

  2. Pingback: CentOS Linux VPS安装Transmission | 蒙溪-blog

  3. Pingback: CentOS Linux VPS安装Transmission | 蒙溪の恋

窮苦人家的小孩进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注