Fedora Core5による自宅サーバー構築とその備忘録 〜第4章〜 mt-daapd(iTunesサーバー)

 mt-daapdを使ってiTunesサーバーを作ります。

前提条件
1.クライアントは全てWindows
2.使用するディレクトリは/home/MP3
3.LAN内のみで使用。
4.必要に応じて権限は適宜変更(ただしあくまでログインはtestuser)
5.リポリトジは追加済み(第1章参照)
6.LAN内のどのパソコンからでも設定や操作ができるようにする

はじめに
 実は、これまでの第1章から第3章までは、Vmwareでの最小インストール(Gnome、グラフィカルインターネット、Windowsサーバーなど必要最小限と思える構成)から再現してチェックしながら書きました。最小限の状態からのインストールと、あえていろいろ入れた環境との差がどんなものになるかをみたかったからですが、このiTunesサーバーに関してだけは必要最低限の環境が何になるかはっきりしませんでした。gcc、gdbm、libid3tag、mt-daapdが必要なのははっきりしていますが、gccのライブラリに最低限何が必要なのかが絞りきれませんでした。最初はgcc、gdbm、libid3tagのみをyumでインストールしてみましたがこれだけではmt-daapdの./configureが通りませんでした。試行錯誤を繰り返したすえ、あきらめてyum -y install gcc*でgccのライブラリをまとめてインストール。今度はすんなり./configure、make、make installが通りました。試行錯誤の最中にautoconf、libid3tag-develなどもいれたかな・・何を使えば最小限ですむのか、はっきりせずじまいです。(2006年6月11日追記:どうやらlibid3tag-develは必要なようです)

下準備
最初に許可するユーザーを設定(LAN内のみ許可)第2章〜第4章共通作業(既に設定済みの場合は不要)
まず、hostsファイルを編集、LAN内部からのアクセスを許可、外部からのアクセスを遮断します

LAN内部からのアクセスを許可

% vi /etc/hosts.allow
ALL : 127.0.0.1
ALL : 192.168.1.*

を記入してセーブ

次に、外部からのアクセスを拒否

% vi /etc/hosts.deny
ALL : ALL

を記入してセーブ
ここまで共通作業

セキュリティ設定の変更
デスクトップ→管理→セキュリティレベルとファイアーウォールの設定で許可するポートに3689番を追加する必要があります

Gccのインストール

% yum -y install gcc*

でインストール。ライブラリもまとめてインストールする方法で、本質的にはどうかなと思います。本来ならば必要最小限のライブラリですますべきですね。

libid3tagのインストール

% yum -y install libid3tag

libid3tag-develのインストール(2006年6月11日追記)

% yum -y install libid3tag-devel

libid3tagのライブラリの場所を設定。

% vi /etc/ld.so.conf

以下の内容を追加

/usr/X11R6/lib
/usr/lib
/usr/local/lib

設定を反映させる

% ldconfig

gdbmのインストール

% wget ftp://ftp.ring.gr.jp/pub/GNU/gdbm/gdbm-1.8.3.tar.gz
% tar zxvf gdbm-1.8.3.tar.gz
% cd gdbm-1.8.3
% ./configure
% make
% make install

mt-daapdのインストール
 mt-daapdのサイトから最新版を落としてきます。Fedora Core用は3までしか出ていませんのでソースからインストールします。なお、ソースからインストールした場合とrpmでインストールした場合は設定が変わります。(Fedora Core3にインストールしたときはこのことに気がつかず悩みました。)また、文字化け対策のパッチがでていますのでそれも落としてくる必要があります。ここから2.4用のものを落としました。とりあえずホームディレクトリに入れておきます。mt-daapdのファイルを解凍後srcディレクトリにパッチを移してパッチを当てます。

% tar zxvf mt-daapd-0.2.4.tar.gz
% mv mt-daapd-0.2.4-cp932.patch /home/testuser/mt-daapd-0.2.4/src/
% cd mt-daapd-0.2.4/src
% patch < ./mt-daapd-0.2.4-cp932.patch
% cd ..
% ./configure
% make
% make install
% cp contrib/mt-daapd.conf /etc/
% cp contrib/mt-daapd /etc/init.d/

mt-daapdの起動用ファイルの修正

% vi /etc/init.d/mt-daapd

daemon mt-daapd

daemon /usr/local/sbin/mt-daapd

killall -INT mt-daapd
# killproc mt-daapd

# killall -INT mt-daapd
killproc mt-daapd

曲データベースのファイル作成

% mkdir /var/cache/mt-daapd
% touch /var/cache/mt-daapd/songs.gdb
% chmod 666 /var/cache/mt-daapd/songs.gdb

mt-daapd.confファイルを修正

% vi /etc/mt-daapd.conf

web_root /usr/share/mt-daapd/admin-root

web_root /usr/local/share/mt-daapd/admin-root

mt-daapd管理者パスワードの設定

admin_pw mt-daapd

admin_pw 適当に設定

Webブラウザから管理ができます。http://自分のアドレス:3689/でアクセスできます。SambaにおけるSwatみたいな感覚ですが、使ってみた感想としてはSwatほどこなれてないですね・・・今ひとつ使いどころが不明です。

共有ディレクトリ指定(無ければ作成)

mp3_dir /mnt/mp3

mp3_dir /home/MP3

 第3章で作ったSambaがここで役に立ちます。各人所有のMP3をそれぞれの名前をつけて作ったフォルダにまとめて放り込めば管理が非常に楽です。

曲リスト自動更新(2006年6月11日追記:単位は秒数)

#rescan_interval 300

rescan_interval 300

サーバ名指定

servername mt-daapd

servername 適当な名前

私自身はFedora5-iTunesServerに設定しています。あんまりセンスはよくないですね。
設定ファイルに対する修正はこれで終わりです。

mt-daapdの起動

% /etc/init.d/mt-daapd start

自動起動の設定

% chkconfig mt-daapd on

確認

% chkconfig --list mt-daapd

3、4、5がonになっていればok

あとはiTunesを立ち上げて日本語の表示がきちんとできれば完了。iTunesの編集→設定→共有で共有されている音楽を検索するにチェックを入れておく必要があります。
以上で全ての構築が終了しました。今、こうして構築したサーバーで曲を聴きながらこれを書いてます。たいしたトラブルも無く完成してよかったです。

謝辞
よりみちWEBサイト --Blog版--
 今回のサーバー構築そのものの発想がこのサイトを見なければ思いつかなかったと思います。ここここをみれば、何をすればいいかは一目瞭然です。この項目の内容はほぼこのサイトの丸写しに近いです。本当に助かりました。この場を借りて厚く御礼申し上げます。

注意(免責)
 最後に、Fedora Core5に限らず、OSは全て生き物です。今日正解の方法が明日も正解であり続ける保障はどこにもありません。また、この項目についてはあくまで「自分のための覚え書き」として作ったものです。よって当サイトの各コンテンツ内容を保証する義務等は負いません。また、当方は、いかなる損害賠償等の法的責任は一切負いませんので、あらかじめご了承願います。