QNAP上でsubsonicを稼働させる手順

subsonicJavaで書かれたメディアストリーマー。これ自体はあちこちで紹介されているので、ここではQNAP上でsubsonic動かすまでの手順をまとめます。また、QNAPのパッケージであるqpkgに関するモノ、つまり公式な開発手順にのっとった手順ではないので、ご注意。 なお、subsonicのインストールにはいくつかのパターンがありますが、ここではsubsonic単体で動作させる standalone方法です。

必要なソフトウェア

subsonic 以外に必要なソフトウェアは、QNAPのJREのみ。APP Centerから最新を入れておけば大丈夫。 また、subsonicのパッケージとしては、QNAPインストールに適したStand-aloneバージョンをダウンロードします。

インストールディレクト

インストールといっても、単にstand-aloneのzipファイルを適当なディレクトリに展開するだけです。 /optや独自に作成したディレクトリ、例えば/share/HDA_DATAというようなディレクトリに置くのがよいと思います。 僕の場合は、/share/HDA_DATA/usr/share/subsonicに展開しました。

インストール時の設定

subsonicの設定は、展開したディレクトリにあるsubsonic.shに書き込んでいきます。 必要な設定は、ポート番号、ホームディレクトリ、メモリ、java、言語の設定などです。設定には環境変数を変更、追加します。 私が変更や追加した環境変数は次の通りです。

  • LANG (LANG=ja_JP.UTF-8)
  • LC_ALL, LC_CTYPE, LC_MESSAGE,...などのLC_xxを${LANG}に合わせる
  • SUBSONIC_HOME (インストールディレクトリ)
  • SUBSONIC_MAX_MEMORY (搭載されているメモリに合わせて減らす)
  • JAVA (もしくはJAVA_HOME)

LANGにはUTF8に設定しないと日本語フォルダが読み込まれません。 JAVA_HOMEはAPP Centerで導入したJREのインストールディレクトリです。実体は、qpkgのインストールディレクトの下にあり、 /usr/local/にリンクが張られているかもしれません。調べるにはsshでログイン後which javaとすれば分かると思います。

なお、UTF8については、こちら: QNAP(QTS)に新しいロケールを追加する方法 - tranphonic’s blog

起動方法

このまま、subsonic.shを起動してもよいのですが、これだと他のデーモンとは違った運用になってしまうので、/etc/init.d/に簡単な起動スクリプトを作っておきます。 スクリプトのなかでsubsonic.shで設定したPATH、JAVA_HOMEとLANGを設定してしまいます。 PATHにはインストール先を追加してください。

#! /bin/sh
### BEGIN INIT INFO
# Provides:          subsonic

export PATH=\
/bin:\
/sbin:\
/usr/bin:\
/usr/sbin:\
/usr/bin/X11:\
/usr/local/sbin

QNAP_ROOT=/share/HDA_DATA
DESC="Subsonic Daemon"
NAME=subsonic
PIDFILE=$QNAP_ROOT/var/run/$NAME.pid
DAEMON=$QNAP_ROOT/usr/bin/subsonic

export LANG=ja_JP.UTF-8
export LC_ALL=$LANG
export LC_CTYPE=$LANG
export PATH=$PATH:/opt/bin:/opt/sbin
export JAVA_HOME=/usr/local/jre
export PATH=$PATH:$JAVA_HOME/bin

do_start()
{
    $DAEMON > $PIDFILE
}

do_stop()
{
        kill `cat $PIDFILE`
        rm -f $PIDFILE
}

case "$1" in
  start)
        /sbin/log_tool -a "Starting $DESC" "$NAME"

このスクリプトのファイル名をsubsonic_init.shとすれば、/etc/init.d/subsonic_init.sh startというように起動できます。

アプリケーションの登録

QTS上で起動や停止できる方が楽なので、登録しておきます。 登録方法は/etc/config/qpkg.confにINIファイル形式で必要な情報を書き込むだけです。 次のような内容を記載しておけばQTS上にアイコンが表示され、起動、停止が可能になります。

[subsonic]
Name = subsonic
Version = 4.9
Author = me
Date = 2014-03-16
Shell = /share/HDA_DATA/etc/init.d/subsonic_init.sh
Install_Path = /share/HDA_DATA/usr/share/subsonic
QPKG_File = /share/HDA_DATA/DUMMY
Enable = TRUE

Shellが起動スクリプトInstall_Pathがインストール先です。あとは適当でかまいません。

これで起動して、Subsonicにアクセスします。ポート番号はデフォルトなら4040です。 あとは、起動したSubsonic内で設定を進めればQNAP上でSubsonicが稼働します。

[asin:B00O3Y7F02:detail]