- 対象OSはDebianまたはUbuntuです
- が、内容は環境に依存するものではないと思います
- Madsonic でも同様の方法で解決できます
サービス起動の確認
とりあえずはサービスの起動確認をしましょう。きちんと「active (running)」になっていることを確認します。
# service subsonic status ... Active: active (running) since 土 2016-03-05 17:56:24 JST; 12min ago ...
ログを見る
その上で所定のURLにアクセスしてもエラーでログイン画面が表示されない場合ですが、まずは何はともあれログを見ましょう。/var/subsonic には subsonic.log と subsonic_sh.log がありますが(作られますが)、この場合の原因は /var/subsonic/subsonic_sh.log の方に書いてあります。見てみましょう。
# cat /var/subsonic/subsonic_sh.log /usr/bin/subsonic: 116: /usr/bin/subsonic: java: not found
見事に java が見つかってません。
環境変数を定義する
/usr/bin/subsonic の116行目を見てみると分かるのですが、環境変数を用いて java の位置を指定しています。これが失敗しているので not found になっています。なので、環境変数を明示的に設定してあげましょう。
書き込むファイルは /etc/default/subsonic です。このファイルはポート番号やURLのディレクトリを設定するファイルでもあります。ファイルの任意の場所(最後でいいと思います)に次の一行を追加しましょう。なおこれは私の環境(Oracle の Java 8)の場合であり、インストールしてある Java によって「java-8-oracle」の部分は書き換えて下さい。/usr/lib/jvm の配下のディレクトリ一覧を見ましょう。
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
サービスを再起動する
service subsonic restart
再度、Webブラウザでアクセスする
これでログイン画面が無事表示されたはずです。