3月3日にリリースされていたSqueezeCenter 7.0を新しいサーバにインストールしました.SqueezeCenterはSlimServerの名称が変更になったものですが,バージョン7.0ではインタフェースが一新されました.
Vine Linux 4.2へのインストールですが,一筋縄ではいきません. 本当はインストール手順を書きたいところなのですが,インストール自体が試行錯誤だったので,インストールが成功したときの状態しか記述できません. オフィシャルサイトで配布されているRPMパッケージは動作しませんでした. 後で調べてみたら,スタートアップスクリプトにOSのチェックが入っているのが理由だったのですが,それを回避するだけで動作するかどうかは不明です. どうせ,Shift_JISのキューシートを使うためには,ソースコードを変更しなければならないので,RPMではなく,手動でインストールした方がやりやすいと思います.
SqueezeCenterのインストール先は /opt/squeezecenter-7.0 としました. ソースコード squeezecenter-7.0.tgz をダウンロードして,このディレクトリに解凍しました. 本当は,
$ cd /opt/squeezecenter-7.0 $ Bin/build-perl-modules.plとするだけで,必要なPerlモジュールをビルドできるはずなのですが,Vine Linux 4.2で配布されているPerlモジュールをできるだけ使いたかったので,以下のパッケージをインストールしました.本当は必要ないものが混ざっているかも知れませんが.
- perl-ExtUtils-CBuilder-0.18-0vl1
- perl-Module-Build-0.2806-0vl1
- perl-HTML-Template-2.7-0vl2
- perl-CGI-Session-4.14-0vl2
- perl-FreezeThaw-0.43-5vl1
- perl-DBD-Pg-1.49-0vl3
- perl-GD-2.35-0vl1
- perl-Digest-SHA1-2.11-1vl1
- perl-DBD-MySQL-4.001-0vl1
- perl-DBI-1.53-0vl1
- expat-devel-1.95.8-0vl5
- MySQL-devel-5.0.27-0vl3
次に,build-perl-modules.pl をテキストエディタで開き,packages配列変数の定義のところで,’Encode::Detect’, ‘JSON::XS’, ‘YAML::Syck’ 以外の部分を # でコメントアウトします. そして,Bin/build-perl-modules.pl を実行し,上記の3つのモジュールのみをビルドします. いったん,
$ ./slimserver.plを実行し,http://localhost:9000/ でSqueezeCenterにアクセスできるかどうか確認します. コンソールにエラーが表示されるようであれば,そのエラーメッセージから類推して必要なパッケージのインストールを行います(たぶんここが一番難しい).
/etc/init.dにsqueezecenterというスタートアップスクリプトを作成します.
#!/bin/sh
#
# squeezecenter Startup script for the SqueezeCenter Music Server.
#
# chkconfig: 2345 80 30
#
# description: SqueezeCenter powers the Squeezebox, Transporter and SLIMP3
# network music players and is the best software to stream
# your music to any software MP3 player. It supports MP3, AAC,
# WMA, FLAC, Ogg Vorbis, WAV and more!
#
prog="SqueezeCenter"
SQUEEZECENTER_CONFIG=/opt/squeezecenter-7.0/sysconfig
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
test -r $SQUEEZECENTER_CONFIG || exit 0
. $SQUEEZECENTER_CONFIG
test -x $SQUEEZECENTER_BIN || exit 0
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n $"Starting $prog: "
daemon --user $SQUEEZECENTER_USER $SQUEEZECENTER_BIN $SQUEEZECENTER_ARGS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $SQUEEZECENTER_LOCKFILE
;;
stop)
# Stop daemons.
echo -n $"Shutting down $prog: "
killproc $SQUEEZECENTER_BIN
[ $? = 0 ] && success $"$prog stopped" || failure $"$prog stopped"
echo
rm -f $SQUEEZECENTER_LOCKFILE
;;
restart)
$0 stop
$0 start
;;
status)
status $SQUEEZECENTER_BIN
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
このスクリプトは,/opt/squeezecenter-7.0/sysconfig という設定ファイルが必要なので,以下に習って記述します.
# Edit this to suit your setup
SQUEEZECENTER_USER="squeezecenter-user"
SQUEEZECENTER_HOME="/opt/squeezecenter-7.0"
SQUEEZECENTER_BIN="${SQUEEZECENTER_HOME}/slimserver.pl"
SQUEEZECENTER_LOCKFILE="${SQUEEZECENTER_HOME}/lockfile"
SQUEEZECENTER_CFG_DIR="${SQUEEZECENTER_HOME}/prefs"
SQUEEZECENTER_LOG_DIR="${SQUEEZECENTER_HOME}/log"
SQUEEZECENTER_CACHE_DIR="${SQUEEZECENTER_HOME}/cache"
SQUEEZECENTER_ARGS="--daemon --prefsdir=$SQUEEZECENTER_CFG_DIR --logdir=$SQUEEZECENTER_LOG_DIR --cachedir=$SQUEEZECENTER_CACHE_DIR"
"squeezecenter-user"の箇所には,SqueezeCenterを動作させたいユーザー名を入れます.
最後に,
$ /etc/init.d/squeezecenter startとやれば,SqueezeCenterが起動するはずです.
最近のコメント