さてさて"iTunes Server 構築への道"として前回は購入から
基本機能でのセットアップまでご紹介させて頂きました。
先日速報でお伝えしました通り iTunes Server をこのKURO
-BOX上で稼働させる事に成功しておりますので、その方法を
"構築編"としてお伝え致します。
---- [構築編 Agenda] -------------------------------
・KURO-BAX 付属の CD から追加の binary data を ftp
にて KURO-BOX へ転送する。
・開発環境構築に必要な Tarball を展開する
・Howl, libid3tag, mt-daapd のソースを KURO-BOX へ転送
・Howl の導入
・libid3tag の導入
・mt-daapd の導入
・環境ファイルの調整
・判明している問題点
--------------------------------------------------
・[1] KURO-BAX 付属の CD から追加の binary data を ftp
にて KURO-BOX へ転送する
FTP Software を用いて付属の CD から以下の Binary を転送する。
- gcc-2.95.3.tar.gz
- binutils-2.10.91.0.2.tar.gz
- glibc-2.2.3.tar.gz
- libgdbm-1.7.3.tar.gz
- make-3.79.1.tar.gz
- g++-2.95.3.tar.gz
(既に全ての Binary を導入されていれば問題有りません)
・[2] 開発環境構築に必要な Tarball を展開する
cd /
tar xvzf /
上記の様に Tarball(Binary data) を最上位ディレクトリにて展開。
・[3] Howl, libid3tag, mt-daapd のソースを KURO-BOX へ転送
Howl http://www.porchdogsoft.com/products/howl/
libid3tag http://dag.wieers.com/packages/libid3tag/
mt-daapd http://mt-daapd.sourceforge.net/
howl-0.9.7.tar.gz libid3tag-0.15.1b.tar.gz mt-daapd-0.2.0.tar.gz
・[4] Howl の導入
tar xvzf howl-0.9.7.tar.gz
cd howl-0.9.7
./configure
make
make install
・[5] libid3tag の導入
tar xvzf libid3tag-0.15.1b.tar.gz
cd libid3tag-0.15.1b
./configure
make
make install
・[6] mt-daapd の導入
tar zvxf mt-daapd-0.2.0.tar.gz
cd mt-daapd-0.2.0
./configure
make
make install
cp contrib/mt-daapd.conf /etc/
cp contrib/mt-daapd /etc/init.d/
・[7] 環境ファイルの調整
□ /etc/ld.so.conf への項目の追加
vi /etc/ld.so.conf
------------------
/lib
/usr/lib
/usr/local/lib
------------------
□ mt-daapd.conf ファイルの設定変更
vi /etc/mt-daapd.conf
------------------
#
# mp3_dir (required)
#
# Location of the mp3 files to share
#
##mp3_dir /mnt/mp3
mp3_dir /mnt/share/iTunes
#
# servername (required)
#
# This is both the name of the server as advertised
# via rendezvous, and the name of the database
# exported via DAAP
#
##servername mt-daapd
servername KURO-BOX
----------------------
□ 初期リスト曲ファイルの作成
mkdir /var/cache/mt-daapd
touch /var/cache/mt-daapd/songs.gd
□ iTunes からの KURO-BOX 共有音楽の表示

・[8] 判明している問題点
□mt-daapd デーモンの起動・終了スクリプト
実はこのスクリプトは KURO-BOX に実装されていない
killall か killproc コマンドが必要である。
両コマンドをソースからコンパイルする事も試みたが
killproc コマンドは 既知Bug で上手く configure 出来ない
現象があり解決できていない。
現在は手動で起動・終了を行っている。
-------------
起動:
root@KURO-BOX:~# /usr/local/sbin/mt-daapd
終了:
root@KURO-BOX:~# ps -ef | grep mt-daapd
nobody 240 1 0 23:38 pts/0 00:00:00 /usr/local/sbin/mt-daapd
nobody 243 1 0 23:38 pts/0 00:00:00 /usr/local/sbin/mt-daapd
nobody 244 243 0 23:38 pts/0 00:00:00 /usr/local/sbin/mt-daapd
nobody 245 244 0 23:38 pts/0 00:00:00 /usr/local/sbin/mt-daapd
root 247 207 0 23:38 pts/0 00:00:00 grep mt-daapd
root@KURO-BOX:~# kill 240
root@KURO-BOX:~# kill 243
-------------
以下標準の起動・終了スクリプト内容
root@KURO-BOX:/etc/init.d# pwd
/etc/init.d
root@KURO-BOX:/etc/init.d# cat mt-daapd
#!/bin/bash
#
# chkconfig: 2345 85 15
# description: mt-daapd is a multi-threaded DAAP server for iTunes
# processname: mt-daapd
# pidfile: /var/run/mt-daapd
#
# source function library
. /etc/init.d/functions
[ -e /etc/daapd.conf ]
RETVAL=0
start() {
echo -n $"Starting DAAP server: "
daemon /usr/local/sbin/mt-daapd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/mt-daapd
}
stop() {
echo -n $"Shutting down DAAP server: "
# This is broken.
killall -INT mt-daapd
# killproc mt-daapd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mt-daapd
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;
status)
status mt-daapd
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac
exit $RETVAL
---------------------------
□日本語表示
日本語表示は Unicode ベースとなっているので注意
□曲リストの更新
曲リストの更新は mt-daapd deamon の再起動が必要。
指定ディレクトリ内のサブディレクトリ内の曲に関しても
リストアップしてくれる。
-----------------------------------------------
【構築編】は以上になります。
参考になりましたでしょうか?
皆さんもマニアックな世界へ是非その一歩を!(^o^)/