mt-daapd による iTunes
サーバーを構築する事によって、どのパソコンからも音楽データを iTunes から参照できるようになり、非常に便利になります。いつでもどこでも音楽を楽しみたい!という方は導入しておく事をお勧めします。
|
|
■Howl のダウンロード
インストールした覚えはないけれど、既にRPMパッケージが入っていたのでこれを利用しました。ソースぁらインストールする場合は以下URLからダウンロードしておきましょう。yum
search によると、「Howl is a cross-platform port of Apple's
"Rendezvous" (multicast DNS) service discovery
and IP autoconfiguration.」と記述されていました。
■libid3tag-0.15.1b.tar.gzのダウンロード
libid3tag は、ID3タグをリード/ライトするためのライブラリです。 ID3v1と ID3v2に対応しています。
libid3tagをインストールするには、zlibが必要みたいなので予めインストールしておきましょう。
以下、インストール手順です。
# tar xzvf libid3tag-0.15.1b.tar.gz
# cd libid3tag-0.15.1b
# ./configure
# make ; make check
# make install |
|
■mt-daapd のダウンロード
mt-daapdをインストールする際に、gdbmを求められる場合があるのでインストールされていない場合は予めインストールしておきましょう。私の場合は、既にRPMパッケージがインストールされていました。
以下、インストール手順です。/usr/local/sbin/mt-daapd にインストールされます。なお、CPANにもmt-daapd
のPerlモジュールが置いてあるようなのでそちらからインストールしても良いでしょう。
# tar xzvf mt-daapd-0.2.1.1.tar.gz
# cd mt-daapd-0.2.1.1
# ./configure
# make ; make install |
|
■mt-daapd の設定
初回に、mt-daapd を起動させると libid3tag.so.0 ライブラリがありませんというようなメッセージが表示されます。libid3tag.so.0は実体は、libid3tag.so.0.3.0にシンボリックリンクされており、バージョンが高いためにこのようなエラーメッセージが表示されるのでFC2用のlibid3tag.so.0をコピーしてリンクを貼っておきます。libid3tag.so.0が手に入らない場合はこちらからダウンロードしてください。(ldconfig
-v を実行すれば問題ないかも。)
ソースディレクトリ内のcontrib ディレクトリにmt-daapd.conf とmt-daapd.playlist
が格納されているのでそれを/etc にコピーします。
# /usr/local/sbin/mt-daapd
start
/usr/local/sbin/mt-daapd: error while loading
shared libraries: libid3tag.so.0: cannot
open shared object file: No such file or
directory |
|
まず、MP3 もしくは、AACを格納しているディレクトリを指定します
# vi /etc/mt-daapd.conf
web_root /home/usr/public_html/admin-root
# 管理画面のドキュメントルート
mp3_dir /home/kororo/mp3 #
音楽ファイルを格納するディレクトリ
servername iTune Server #
共有ディレクトリの名前
logfile /var/log/mt-daapd.log
#指定しなければSyslogへ出力(デフォルトは1で最大で9)
# 「mt-daapd -d 3」でログの詳細レベル「3」で起動できる
#rescan_interval 300
# ライブラリ内に追加/削除されたファイルを自動でスキャンするインターバル
# デフォルトではファイルが追加されても自動で更新してくれない
# 管理画面(Webブラウザ)からその都度、ライブラリを更新することもできる |
|
■mt-daapd の自動起動の設定
mt-daapd を起動したら、以下のエラーが発生したので、ldconfigを実行して、/usr/local/lib
を共有ライブラリのディレクトリであると認識させます。
# /usr/local/sbin/mt-daapd
start
/usr/local/sbin/mt-daapd: error while loading
shared libraries: libid3tag.so.0: cannot
open shared object file: No such file or
directory
# ldconfig
# /usr/local/sbin/mt-daapd
# ps aux | grep mt-daapd
nobody 12903 0.0 0.3 1964 856 pts/0
S 19:15 0:00 /usr/local/sbin/mt-daapd
nobody 12904 0.0 0.5 22848 1372 pts/0 Sl
19:15 0:00 /usr/local/sbin/mt-daapd
root 12912 0.0 0.0 1524 176 pts/0 R+ 19:15
0:00 grep mt-daapd |
|
contrib内にある自動起動スクリプトをコピーしておきます。
# cd /usr/local/src/mt-daapd-0.2.1.1/contrib
# cp mt-daapd /etc/rc.d/init.d/
# /etc/rc.d/init.d/mt-daapd restart
# chkconfig --add mt-daapd |
|
だが、実際のところ、この自動起動スクリプトは正常に動作したり、しなかったり、そのようなファイルはありませんと怒られたりしたので調べてみたところ、/etc/rc.d/init.d/mt-daapd
ファイルを覗いてみたら、以下の部分が違っていたので修正しておきました。
[-e /etc/daapd.conf
]
↓
[-e /etc/mt-daapd.conf ]
daemon mt-daapd
↓
daemon /usr/local/sbin/mt-daapd |
|
■管理画面にブラウザからアクセスする
さっそく、mt-daapd.confを編集していきます。以下のディレクティブでは、クライアントから管理者ページにブラウザからアクセスする際のドキュメントルートのPATHを指定しておきます。
# vi /etc/mt-daapd.conf
web_root /home/usr/public_html//admin-root #
管理画面トップページのPATH
port 3689
admin_pw mt-daapd #
管理者ページへアクセスする際のパスワード |
|
■smbmountで外付けHDDからMP3ファイルを読み込む
筆者の場合は、LinuxのHDD容量が少ないため、外付けのLAN HDDからファイルを読み込むようにsmbmountでマウントしてから、マウント後のディレクトリを「mp3_dir」として設定しました。smbmount
でマウントするには以下のように実行します。
# smbmount //サーバ名/iPOD
/mnt/ipod/ -o username=administrator,
password=,codepage=cp932,iocharset=utf8
もしくは、
# mount -t smbfst //サーバ名/iPOD /mnt/ipod/
-o username=administrator,
password=,codepage=cp932,iocharset=utf8 |
|
外付けHDDの共有ディレクトリを/mnt/ipod にマウントすることに成功したら、今度はシステム起動時に自動的にsmbmount
するように/etc/fstabを以下のように付け加えておきます。共有ディレクトリにアクセスするのにパスワードが必要な場合は、パスワードも記入しておきましょう。
# vi /etc/fstab
//ayano/iPOD /mnt/ipod smbfs auto,username=administrator,
password=,codepage=cp932,iocharset=utf8,ro
0 0 |
|
/etc/mt-daapd.conf も編集しておきます。
# vi /etc/mt-daapd.conf
mp3_dir /mnt/ipod |
|
■MP3ファイルの文字化け対策
どうやらAACエンコードしたものは日本語でも文字化けは発生しないみたいでした。問題のあるものはID3タグ情報を持つMP3ファイルの方です。ID3タグのバージョンが2.2以下の場合は文字化けが発生します。これは、v2.2以下の文字コードがLatin-1
になっているためです。ID3タグを ID3v2.3以降(ID3v2.4も含む)になると、Unicodeに変換されるので文字化けは解消できます。
ID3v1.x、ID3v2.2→Latin-1
ID3v2.3以降→Unicode
■トラブルシューティング
以下のようなエラーが発生した場合はmt-daapd のDBが壊れている可能性がありますので、
/var/cache/mt-daapd/songs.gdb を一度削除してから再度、mt-daapdを起動してみましょう。
Aug 1 23:41 ns1 mt-daapd[3950]:
Cannot find item.... corrupt database?
Aug 1 23:4 ns1 mt-daapd[3950]: Aborting
Aug 1 23:41 ns1 mt-daapd[3949]: Rendezvous
socket closed (daap server crashed?) Aborting.
Aug 1 23:41 ns1 mt-daapd[3949]: Aborting |
|