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
で停止できます。
ディレクトリ名以外はすべてコピペの内容ですので参照元ブログのほうがわかりやすいかもしれません。
32bit版のインストール(OSが64bitでも必要になります)
この部分でかなりハマッていたので、とても助かりました。
ありがとうございます。