:::: MENU ::::
Posts tagged with: Subsonic

今更ながらSubsonicをSSLでサブドメインにて運用

このサイトでも幾度か、Subsonicの記事を投稿しておりますが、今更ながら、SSL証明書によるHTTPS化して、ついでにサブドメインにてアクセスするように設定した。

環境

  • CentOS 6.x
  • Nginx 1.10.x (ssl設定済み)
  • Subsonic 6.0
  • DNS管理はCloudFlare
  • SSL証明書はLet’sEncyptにて取得

現状は、CentOS上にSubsonicを運用しており、http://localhost:4040にて稼働しております。

今回作業する項目

CloudFlareにてサブドメインを設定し、nginxでサブドメイン用confファイル作成、SSL証明書発行後、confファイルに適用と言う流れになります。

サブドメイン設定

私は、DNS管理をCloudFlareに任せていますので、CloudFlareにログインします。

https://www.cloudflare.com/a/login

上記項目のDNS設定をクリックし、下記の囲んだ部分にサブドメインを記入して、追加します。

  • 左のレコードタイプをA
  • 次にサブドメイン名(今回はsubsonic)
  • サブドメインのIPアドレス (通常、subsonicを動作させているIP)
  • TTLは通常Automaticですが、早く反映させたいので、2min
    DNS反映後は、Automaticに戻しましょう
  • CloudFlareを通さない設定にしておかないと、この後の証明書発行ができませんので、雲マークがオレンジではなくグレイになるようにクリックしておきます

DNS反映には、しばらく時間がかかるので、コーヒーを飲んだり出かけたりすると良いかもしれません
一応、確認としては、CloudFlare上で設定が反映されていれば、
$ dig @ns6.cloudflare.com subsonic.xxx.xxx にて、設定したIPアドレスが表示されればOK
そして、サブドメイン(subsonic)上の端末から、
$ dig subsonic.xxx.xxx にて設定したIPアドレスが表示されれば、次に進めます

NginxのSubsonicサブドメイン用設定ファイル作成

設定ファイルは、/etc/nginx/sites-available/内にsubsonic.confと言う名前(任意でも)で作成します。

# cat subsonic.conf

server {
 listen 80;
 server_name subsonic.xxx.xxx;
 access_log /var/log/nginx/subsonic-access.log;
 error_log /var/log/nginx/subsonic-error.log;

location / {
 proxy_pass http://127.0.0.1:4040;
proxy_redirect http:// https://;
 }

保存後に、sites-enabled内にシムリンクを張ります

# ln -s /etc/nginx/sites-available/subsonic.conf /etc/nginx/sites-enabled/

書式に間違いないか確認

# service nginx configtest

エラー表示がなく、Syntax OKが表示されれば、適用します

# service nginx reload

これで問題がなければ、サブドメインのURLでアクセスすると、Subsonicの画面が表示されるはずです。

SSL証明書取得・設定

ここでは、無料のSSL証明書(Let’sEncypt)をサブドメインに適用します

Let’sEncryptをインストール

すでに、Let’sEncryptのプログラムは導入済みなのですが、初めての方は下記でインストールします。

# git clone https://github.com/letsencrypt/letsencrypt <directory>
# cd <directory>

サブドメイン用の証明書取得

# ./letsencrypt-auto —nginx
(初めて起動の方は、ここで、いろいろなプログラムがインストールされます)

1. aaa.xxx.xxx
2. bbb.xxx.xxx
3. subsonic.xxx.xxx
….

サーバー内nginx設定ファイルが自動で読み込まれるので、適用するドメインを使用します。
ここでは、subsonicなので3を選択

登録するにあたり、規約のPDFを見て承諾するか尋ねられるので、AgreeのAを打ち込む

初めての方は、登録するメールアドレスを求められるので記入します

1: Easy – Allow both HTTP and HTTPS access to these sites
2: Secure – Make all requests redirect to secure HTTPS access

今まで通りhttpでもアクセス可能にするか、全てhttpsで接続させるかを任意で指定

これで、Congratulations!が表示されれば、サブドメインのsubsonic.confにssl設定が追記されています

一応、設定ファイルを読み込んでおきます

# service nginx reload

そして、サブドメインのSubsonic(subsonic.xxx.xxx)へhttpでアクセスして、httpsへリダイレクトされてログイン出来れば完成です。

作業時間より、この記事書くほうが時間かかってしまいました。(^_^;)


Subsonicをアップデートしたらエラー警告がでるようになった

Subsonicのbeta版で特に問題なく利用できていたので、ずーっと放置状態でしたが、年末に時間がとれたので、beta版から正式の6.0へアップデートしました。

アップデート作業は、以前記事にした通りなので割愛します。

Subsonic 4.xから6.0betaへアップデート

問題なく設定も引き継がれたのですが、ブラウザで開いてみたところ、下記のエラーが出るようになりました。

Failed to find parameter: instanceId (check server log for more info).

どうやら、ブラウザのキャッシュの問題のようで、ブラウザを変更してみるか、ブラウザのキャッシュ・クッキーを削除して解決


Subsonic 4.xから6.0betaへアップデート

このサイトでも何度かSubsonicのアップデート情報を書いてますが、さほど変わりはありません。

環境は、sl6上で、Subsonic 4.xから6.0betaへのアップデートです。

たぶん、rpm -Uvhでアップデートかけても大丈夫かと思いますが、今回のアップデート作業は下記の手順で行いました。

  1. Subsonicが起動していたら停止
    # service subsonic stop
  2. javaのインストール
    # sudo yum install java-1.7.0-openjdk
  3. 最新版をダウンロード
    (http://www.subsonic.org/pages/download.jsp)でrpmをダウンロード
  4. アップデート
    # sudo yum install --nogpgcheck subsonic-x.x.rpm

もし、アップデートが上手くいかなければ、古いパッケージを削除してからインストールしましょう。

# sudo yum remove subsonic

バージョンアップ後は、4.xからの設定等もそのまま引き継がれました。
5.xのバージョンをすっ飛ばしてのバージョンアップなので、結構UIが洗練されてますね。

6.0betaではHTML5Audioが採用されていますが、やっぱりiPhone/iPadのブラウザ上での再生はダメか。
また、DLNAを有効にしても、我が家のムービーファイルは再生出来なかった。(T_T)


Mac用Subsonicクライアント「Thumper」はソースからインストール

Mac用のSubsonicクライアントアプリとして、Thumperと言うアプリがありますが、App Storeでインストールしようとすると、日本国内では利用することが出来ません。

米国アカウントを持っていれば、インストール可能ですが、そのままソースをダウンロードした方が早いでしょう。

こちら(https://github.com/danielwestendorf/Thumper)から、ダウンロードし、Thumper.app.zipを解凍。
解凍されたThumper.appをアプリケーションフォルダに移動して完了です。


Subsonicを4.7betaへアップデート

Redhat系Linux(CentOS/sl6など)での、Subsonic アップデート。

  1. Subsonicホームページから、プラットフォームに合ったバージョンをダウンロード
  2. サーバ上でSubsonicが動いていたら停止
    # service subsonic stop
  3. アップデート
    # rpm -Uvh subsonic-4.7.beta2.rpm
  4. Subsonic 起動
    # service subsonic start

特に難しい事はないです。


SubsonicでFLAC再生時のエラー

Subsonic上でflac形式を再生したところ、何も反応せず。

ログ(/var/subsonic/subsonic.log)を見てみると、下記のエラー。

java.io.IOException: Cannot run program “/var/subsonic/transcode/ffmpeg”: java.io.IOException: error=2, No such file or directory

java.io.IOExceptionって何だろう?と思っていたら、単にffmpegがインストールされていないだけだった。(faadも)(><)

sl6上で、subsonicを起動しているので、下記でインストールしたら、再生出来た。

# yum install ffmpeg --enablerepo=rpmforge