1. 簡介

mt-daapd 是一個 iTunes (DAAP) server,在 Linux / POSIX unixes / Windows 都可以運作。

1.1. 支援的功能

1.2. 已知問題

1.3. 問題回報

2. 下載

3. 安裝需求

參考 Debian Packages

裝好相依套件後,只需做以下動作即可安裝好。

$ sudo dpkg -i mt-daapd_0.9-svn-1696_etch_i386.deb

如果不在意用舊版 (目前是 0.2.4)

$ sudo aptitude install mt-daapd

4. 編譯

參考 Debian Source Packages

$ tar zxvf mt-daapd-svn-1586.tar.gz
$ cd mt-daapd-svn-1586
$ ./configure --prefix=/usr/local/mt-daapd --enable-sqlite3
$ make
$ sudo make install

如果需要 ogg/flac/mpc 的支援,可再加上 —enable-flac —enable-musepack —enable-oggvorbis (不確定預設是否已有,所以指定一下會比較安心)。

其他還有些許多選項,不過我不太清楚怎麼看預設是不是已經有了,也不清楚到底那些有必要、那些沒必要指定,如果你知道的話,教教我吧!

列出一些看起來好像比較重要的選項:

--enable-howl
--enable-avahi
--enable-mdns
--enable-upnp

如果 ./configure 的時候抓不到系統的某些 lib,或者部分系統的 lib 是自行編譯安裝的,可利用 —with-XXX-libs=[DIR] 這系列的選項來指定 library 的所在。

make install 後,必需手動將設定檔 contrib/mt-daapd.conf 複製到 /usr/local/mt-daapd/etc (請依你指定的安裝資料夾適度調整)。

5. 設定

用文字編輯器開啟設定檔 /usr/local/mt-daapd/etc/mt-daapd.conf

其實設定檔的註解已經很清楚了,不過還是提一下重要設定:

port = 3689 (預設使用的 port 是 3689)
admin_pw = mt-daapd (用瀏覽器進入管理頁面時預設的密碼)
db_type = sqlite3 (database 的格式,可指定 sqlite/sqlite3)
mp3_dir = /path/to/your/music (要分享的音樂資料夾)
servername = Firefly %v on %h (Server 名稱,會顯示在 player)
runas = mt-daapd (如果用 root 跑,就會切換到這個 user 來跑)
password = xxxx (如果要限制使用者在使用 daap 前必需先輸入密碼,就要在此指定密碼)
extensions = .mp3,.m4a,.m4p (指定要支援的音樂檔案類型)
ssc_codectypes = ogg,flac,alac,mp4a,wma,mpc
(指定需即時轉換成 wav 檔再餵給 client 端的檔案類型)

特別注意 mp3_dir 的權限,執行 mt-daapd Server 的 user 必需對資料夾有 rx 的權限,對檔案有 r 的權限。

如果不用 root 跑,runas 就會被忽略。runas 在 windows 中這個選項也會被忽略。

依據我個人經驗,有些 player (eg. winamp, xmms2) 對 daap 的支援不夠好,不支援密碼驗證,所以建議一開始先不要設 password。

如果編譯的時候有指定 —enable-oggvorbis, —enable-flac, —enable-musepack,可在 extensions 加入 .flac,.mpc,.ogg,如果沒指定也沒關係,可在 ssc_codectypes 中指定即時轉換。

6. 實際使用

$ sudo /usr/local/mt-daapd/sbin/mt-daapd

如果需要 debug,可加上 -f -d <0-9> 這兩個選項, -f 是讓 mt-daapd 在前景執行, -d 是指定 debug level,數字愈大,代表愈資訊愈詳細。

執行後,應可在瀏覽器的網址列輸入 localhost:3689 ,會出現詢問 user/password 的頁面,user 可空白, password 預設是 mt-daapd,輸入後即可進入管理頁面。

如果你在 configuration 頁面出現黃色方塊提醒你無法修改設定,別擔心,這是檔案權限的關係,將 mt-daapd.conf 的 owner 修改成 runas 指定的 user 即可。

打開 Rhythmbox,就會自動找到 Server 上分享的音樂嘍!

如果用 xmms2,可用

$ xmms2 radd daap://ServerIP:Port
(將 mt-daapd 分享的音樂加人 medialib 與 playlist 內)

$ xmms2 mlib addpath daap://ServerIP:Port
(將 mt-daapd 分享的音樂加入 medialib 內。)

7. 參考資訊