uTorrent install on CentOS 6.3

KVMで仮想化環境を構築したら色々なディストリを試すのが面白いので、ISOイメージ落とすのとかに使えそうなtorrentクライアントを入れてみようというお話。

前はtorrent-fluxを使っていたんですが、無駄にMySQLを使用してたり、わざわざhttpd起動しないとアクセスできないとかがあったので今回はμTorrent(uTorrent)を使用します。

参照というか丸写しのサイト:http://blog.kxr.me/2011/12/utorrent-server-on-linux-step-by-step.html

構築環境:

・KVMゲスト(HostはCentOS)

・CentOS 6.3 64bit Minimum Desktopでインストールし、yum updateした直後

まず必要なライブラリのインストールを行います。

64bit版のインストール

yum install glibc libgcc openssl krb5-libs libcom_err zlib keyutils-libs libselinux

32bit版のインストール(OSが64bitでも必要になります)

yum install glibc.i[36]86 libgcc.i[36]86 openssl.i[36]86 krb5-libs.i[36]86 libcom_err.i[36]86 zlib.i[36]86 keyutils-libs.i[36]86 libselinux.i[36]86

Sambaの共有ディレクトリを/var/wwwに設定しているため、今回は/var/www/utorrent下にインストールを行います。

mkdir /var/www/utorrent
mkdir /var/www/utorrent/conf
mkdir /var/www/utorrent/data
mkdir /var/www/utorrent/pid
mkdir /var/www/utorrent/webui
mkdir /var/www/utorrent/log
mkdir /var/www/utorrent/install

他のディレクトリにインストールする際は/var/wwwをインストールしたいディレクトリに変更してください。

本体を持ってきて配置します。

cd /var/www/utorrent/install
wget http://download.utorrent.com/linux/utorrent-server-3.0-ubuntu-10.10-27079.tar.gz
tar zxvf utorrent-server-3.0-ubuntu-10.10-27079.tar.gz
cd utorrent-server-v3_0/
cp utserver ../../
cp webui.zip ../../webui/

ライブラリのチェックを行います。

ldd -r /var/www/utorrent/utserver
[root@centos utorrent-server-v3_0]# ldd -r /var/www/utorrent/utserver 
 linux-gate.so.1 => (0x00950000)
 libssl.so.0.9.8 => not found
 libcrypto.so.0.9.8 => not found
 libpthread.so.0 => /lib/libpthread.so.0 (0x00860000)
 libm.so.6 => /lib/libm.so.6 (0x00c6d000)
 librt.so.1 => /lib/librt.so.1 (0x00b23000)
 libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00ec5000)
 libc.so.6 => /lib/libc.so.6 (0x00d01000)
 /lib/ld-linux.so.2 (0x00436000)
undefined symbol: SSL_CTX_free, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_library_init, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: BIO_read, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_CTX_new, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_load_error_strings, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_free, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_new, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_connect, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: BIO_s_mem, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: BIO_test_flags, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: OPENSSL_add_all_algorithms_noconf, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_write, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_read, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: BIO_new, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: BIO_write, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: BIO_ctrl_pending, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSLv23_client_method, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_set_bio, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: SSL_state, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: ERR_get_error, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: ERR_load_BIO_strings, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)
undefined symbol: ERR_reason_error_string, version OPENSSL_0.9.8 (/var/www/utorrent/utserver)

opensslに関するエラーが表示されていますので、リンクを貼り直します。

[root@centos utorrent-server-v3_0]# find /*/lib /*lib -type f -name "libssl.so.*"
/usr/lib/libssl.so.1.0.0
[root@centos utorrent-server-v3_0]# ln -s /usr/lib/libssl.so.1.0.0 /usr/lib/libssl.so.0.9.8
[root@centos utorrent-server-v3_0]# ln -s /usr/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.0.9.8

もう一度ライブラリのチェックを行います。

[root@control utorrent-server-v3_0]# ldd -r /var/www/utorrent/utserver
/var/www/utorrent/utserver: /usr/lib/libssl.so.0.9.8: no version information available (required by /var/www/utorrent/utserver)
linux-gate.so.1 => (0x00799000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x001d8000)
libcrypto.so.0.9.8 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x00365000)
libm.so.6 => /lib/libm.so.6 (0x00155000)
librt.so.1 => /lib/librt.so.1 (0x00995000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00c1f000)
libc.so.6 => /lib/libc.so.6 (0x00e1a000)
/lib/ld-linux.so.2 (0x00471000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x00d93000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0x00230000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x0076f000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00fcc000)
libresolv.so.2 => /lib/libresolv.so.2 (0x005f8000)
libcrypto.so.10 => /usr/lib/libcrypto.so.10 (0x0079a000)
libdl.so.2 => /lib/libdl.so.2 (0x00a90000)
libz.so.1 => /lib/libz.so.1 (0x00724000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x00110000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00bc9000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0011b000)

noinformation availableと表示されていますが、大丈夫っぽいので引き続き設定を行います。

cd /var/www/utorrent/conf/

wget http://kxr.me/blog/uts/utserver.conf

vi utserver.conf

dir_root: /var/www/utorrent/data

admin_name: admin

admin_password: admin

3箇所を変更します。

試しに起動してみます。

[root@control conf]# /var/www/utorrent/utserver -settingspath "/var/www/utorrent/webui/" -configfile "/var/www/utorrent/conf/utserver.conf" -logfile "/var/www/utorrent/log/ut.log" -pidfile "/var/www/utorrent/pid/utserver.pid" -daemon
/var/www/utorrent/utserver: /usr/lib/libcrypto.so.0.9.8: no version information available (required by /var/www/utorrent/utserver)
/var/www/utorrent/utserver: /usr/lib/libssl.so.0.9.8: no version information available (required by /var/www/utorrent/utserver)
server started - using locale ja_JP.UTF-8

webguiにアクセスしてみます。

http://server-ip:8080/gui/

設定したユーザ名、パスでログインし、

このような画面が出ればおkです。

テスト用に起動したデーモンをkillします。

kill `cat /var/www/utorrent/pid/utserver.pid`

次に起動用スクリプトを設置します。

cd /var/www/utorrent
wget http://kxr.me/blog/uts/utsctl
vi utsctl
uts_bin="/var/www/utorrent/utserver"
pid_file="/var/www/utorrent/pid/utserver.pid"
settings_path="/var/www/utorrent/webui/"
config_file="/var/www/utorrent/conf/utserver.conf"
log_file="/var/www/utorrent/log/ut.log"






pathを設定したものに書き換えます。

実行権限を与えます。

chmod +x utsctl
ln -s /var/www/utorrent/utsctl /usr/bin/utsctl

あとは

utsctl start

で起動

utsctl stop

で停止できます。

ディレクトリ名以外はすべてコピペの内容ですので参照元ブログのほうがわかりやすいかもしれません。