Subsonic のデータベースを MySQL でセットアップする際のバッドノウハウ

CentOS 8

音楽もサブスクのご時世ですが、私はストリーミングサーバーの Subsonic を設置し、iPhone アプリの iSub で聴くスタイルを愛用しています。長年使っていて特に問題はなかったのですが、最近アートワークの画像に別のアルバムのものが表示されたり、タイトルやアーティストが実際の楽曲と異なるものが表示されたりするようになりました。

Subsonic の管理画面からデータベースを再構築しても改善されなかったため、標準で使われている 組み込みデータベースである HSQLDB から、外部データベースの MariaDB に切り替えて解決を図ってみたところ、泥沼にハマったので記録しておきます。

※サーバー移行に伴う新規インストールなので、HSQLDB から MySQL へのデータ移行の記事ではありません。

環境

  • RHEL 8
  • Subsonic 6.1.6
  • MariaDB 10.6

手順

まずは普通に導入

公式サイトの手順に従って進めていきます。

4040 ポートが空いていない場合は開けておく

ブラウザで http://サーバー名:4040/ にアクセスしたところ、初期ログイン画面が表示された。

Subsonic 初期画面

外部データベースを使用するように設定変更

MariaDB に subsonic ユーザーとデータベースを作成

/etc/sysconfig/subsonic の起動オプションにデータベースを読み込むよう修正

Subsonic を再起動

ブラウザでアクセスしたところ、エラー画面になってしまった。

ログを確認

/var/subsonic/subsonic.log を確認するとパスワードが通っていない様子。

接続元のホストが「localhost」ではなく「127.0.0.1」となっていたので、ダメ元で MariaDB でユーザー情報を修正してみる。

Subsonic を再起動してもやっぱりエラーになる。

Subsonic のログも先程と同じく「Access denied for user 'subsonic'@'127.0.0.1' (using password: NO)」となっている。

MariaDB の subsonic ユーザーパスワードを空にしてみる

subsonic ユーザーのパスワードを空にしてみたところ接続できるようになった。

Subsonic の設定ファイルもパスワード無しに修正

  • SUBSONIC_ARGS からパスワードを項目ごと削除
  • メモリを 150 から 300(適当)に変更
  • SUBSONIC_USER を root からユーザーに変更

結論

MariaDB のパスワード無し運用は気持ち悪いが、ホスト制限で内部からしか見れないハズなので良しとしておきます。特に理由がない限りは外部データベースに切り替える必要は無いと感じました。

肝心の iSub 上でアートワークが入れ替わったりする問題は、暫く使って検証します。

参考にしたサイト

コメント

タイトルとURLをコピーしました