■本家 http://www.fireflymediaserver.org/
■CP932対応 http://www.kzsoft.to/~kazu/mt-daapd/
libid3tag導入
yum install --enablerepo=rpmforge libid3tag libid3tag-devel
mt-daap導入
cd /usr/local/src/
wget http://downloads.sourceforge.net/mt-daapd/mt-daapd-0.2.4.1.tar.gz
tar xvzf mt-daapd-0.2.4.1.tar.gz
cd mt-daapd-0.2.4.1
./configure
make
make install
mt-daapの起動スクリプト、confファイルを配置
cp /usr/local/src/mt-daap-0.2.4.1/contrib/mt-daapd.conf /etc/
cp /usr/local/src/mt-daap-0.2.4.1/contrib/mt-daapd /etc/init.d/
設定ファイル(/etc/init.d/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/mt-daapd.conf ]
RETVAL=0
start() {
echo -n $"Starting DAAP server: "
#set the full path to the installed mt-daapd
daemon /usr/local/sbin/mt-daapd
# daemon 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
設定ファイル(/etc/mt-daapd.conf)の編集
# $Id: mt-daapd.conf 454 2004-12-29 06:20:26Z rpedde $
#
# This is the mt-daapd config file.
#
# If you have problems or questions with the format of this file,
# direct your questions to rpedde@users.sourceforge.net.
#
# You can also check the website at http://mt-daapd.sourceforge.net,
# as there is a growing documentation library there, peer-supported
# forums and possibly more.
#
#
# web_root (required)
#
# Location of the admin web pages.
#
# If you installed from .RPM, .deb, or tarball with --prefix=/usr, then
# this is correct.
#
# If you installed from tarball without --prefix=/usr, then the correct
# path is probably /usr/local/share/mt-daapd/admin-root.
#
#web_root /usr/share/mt-daapd/admin-root
web_root /usr/local/share/mt-daapd/admin-root
#
# port (required)
#
# What port to listen on. It is possible to use a different
# port, but this is the default iTunes port
#
port 3689
#
# admin_pw (required)
#
# This is the password to the administrative pages
#
admin_pw mt-daapd
#
# db_dir (required)
#
# This is where mt-daapd stores its database of song information.
#
# If you installed from .RPM or .deb, then this directory already
# exists. If not, then YOU MUST CREATE THIS DIRECTORY!
#
db_dir /var/cache/mt-daapd
#
# mp3_dir (required)
#
# Location of the mp3 files to share. Note that because the
# files are stored in the database by inode, these must be
# in the same physical filesystem.
#
#mp3_dir /mnt/mp3
mp3_dir /music-data/mp3
#
# servername (required)
#
# This is both the name of the server as advertised
# via rendezvous, and the name of the database
# exported via DAAP. Also know as "What shows up in iTunes".
#
servername mt-daapd
#
# runas (required)
#
# This is the user to drop privs to if running as
# root. If mt-daapd is not started as root, this
# configuration option is ignored. Notice that this
# must be specified whether the server is running
# as root or not.
#
runas nobody
#
# playlist (optional)
#
# This is the location of a playlist file.
# This is for Apple-style "Smart Playlists"
# See the mt-daapd.playlist file in the
# contrib directory for syntax and examples
#
# This doesn't control static playlists... these
# are controlled with the "process_m3u" directive
# below.
#
playlist /etc/mt-daapd.playlist
#
# password (optional)
#
# This is the password required to listen to MP3 files
# i.e. the password that iTunes prompts for
#
#password mp3
#
# extensions (optional)
#
# These are the file extensions that the daap server will
# try to index and serve. By default, it only indexes and
# serves .mp3 files. It can also server .m4a and .m4p files,
# and just about any other files, really. Unfortunately, while
# it can *attempt* to serve other files (.ogg?), iTunes won't
# play them. Perhaps this would be useful on Linux with
# Rhythmbox, once it understands daap. (hurry up!)
#
#
extensions .mp3,.m4a,.m4p
#
# logfile (optional)
#
# This is the file to log to. If this is not configured,
# then it will log to the syslog.
#
# Not that the -d <level> switch will control the log verbosity.
# By default, it runs at log level 1. Log level 9 will churn
# out scads of useless debugging information. Values in between
# will vary the amount of logging you get.
#
logfile /var/log/mt-daapd.log
#
# art_filename (optional)
#
# There is experimental support thanks to Hiren Joshi
# (hirenj@mooh.org) for dynamically adding art to the id3v2
# header as it is streamed (!!). If you were using a music system
# like zina or andromeda, for example, with cover art called
# "_folderOpenImage.jpg", you could use the parameter
# art_file _folderOpenImage.jpg and if the file _folderOpenImage.jpg
# was located in the same folder as the .mp3 file, it would appear
# in iTunes. Cool, eh?
#
#art_filename _folderOpenImage.jpg
#
# rescan_interval
#
# How often to check the file system to see if any mp3 files
# have been added or removed.
#
# if not specified, the default is 0, which disables background scanning.
#
# If background rescanning is disabled, a scan can still be forced from the
# "status" page of the administrative web interface
#
# Setting a rescan_interval lower than the time it takes to rescan
# won't hurt anything, it will just waste CPU, and make connect times
# to the daap server longer.
#
#
rescan_interval 300
# always_scan
#
# The default behavior is not not do background rescans of the
# filesystem unless there are clients connected. The thought is to
# allow the drives to spin down unless they are in use. This might be
# of more importance in IDE drives that aren't designed to be run
# 24x7. Forcing a scan through the web interface will always work
# though, even if no users are connected.
# always_scan 0
always_scan 1
#
# process_m3u
#
# By default m3u processing is turned off, since most m3u files
# sitting around in peoples mp3 directories have bad paths, and
# I hear about it. :)
#
# If you are sure your m3u files have good paths (i.e. unixly pathed,
# with relative paths relative to the directory the m3u is in), then
# you can turn on m3u processing by setting this directive to 1.
#
# I'm not sure "unixly" is a word, but you get the idea.
#
# process_m3u 0
#
# scan_type
#
#
# This sets how aggressively mp3 files should be scanned to determine
# file length. There are three values:
#
# 0 (Normal)
# Just scan the first mp3 frame to try and calculate size. This will
# be accurate for most files, but VBR files without an Xing tag will
# probably have wildly inaccurate file times. This is the default.
#
# 1 (Aggressive)
# This checks the bitrates of 10 frames in the middle of the song.
# This will still be inaccurate for VBR files without an Xing tag,
# but they probably won't be quite as inaccurate as 0. This takes
# more time, obviously, although the time hit will only happen the
# first time you scan a particular file.
#
# 2 (Painfully aggressive)
# This walks through the entire song, counting the number of frames.
# This should result in accurate song times, but will take the most
# time. Again, this will only have to be incurred the first time
# the file is indexed.
#
# scan_type 0
#
# compress
#
# Whether to use gzip content-encoding when transferring playlists etc.
# This was contributed as a patch by Ciamac Moallemi just prior to the 0.2.1
# release, and as such, hasn't gotten as much testing as other features.
#
# This feature should substantially speed up transfers of large databases
# and playlists.
#
# It will eventually default to 1, but currently it defaults to 0.
#
# compress 0
キャッシュディレクトリ、キャッシュファイルの作成
mkdir -p /var/cache/mt-daapd
touch /var/cache/mt-daapd/songs.gdb
サービスの自動起動と設定確認
chkconfig --level 345 mt-daapd on
■設定確認
chkconfig --list | grep mt-daapd
mt-daapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
サービスの開始
/etc/init.d/mt-daapd start
Starting DAAP server: [ OK ]
サービスのプロセス確認
pgrep -fl mt-daap
管理画面へのアクセス
■管理画面URLは適宜変更して読みかえる。
http://127.0.0.1:3689/
■ID/PASSについて
設定は、以下の通り。
■PASSは、/etc/mt-daapd.confに記載のものを使用
ID : admin
PASS: mt-daapd
出先からSSH PortForwardでアクセス(DAAP via SSH)
■mDNSProxyResponderPosixを使用します。
Apple社からソースコードをDL
Bonjour Source Code
http://developer.apple.com/networking/bonjour/download/
cd /usr/local/src/
wget http://www.opensource.apple.com/darwinsource/tarballs/other/mDNSResponder-107.6.tar.gz
tar xvzf mDNSResponder-107.6.tar.gz
cd mDNSResponder-107.6/mDNSPosix
make os=linux
cd build/prod
■ユーザのbinディレクトリにコピーする。
cp mDNSProxyResponderPosix ~/bin
■下記コマンドを実行しPROXYを実行
★”fuchiwaki-share”で囲われているところがiTuneで表示される名前です。
mDNSProxyResponderPosix 127.0.0.1 squeal "fuchiwaki-share" _daap._tcp. 3689
■SSHでmt-daapdが稼働しているサーバへ接続
ssh -L 3689:server-no-IP:3689 username@mt-daap_server-no-IP
コメント