このチュートリアルでは、Ubuntu 16.04にSubsonicメディアサーバーをインストールする方法と、NginxまたはApacheを使用してSubsonicのリバースプロキシを設定する方法を説明します。
Subsonicは、Javaで記述された無料のWebベースのメディアストリーマーであり、Linux、MacOS、およびWindowsで利用できます。 Subsonicを使用すると、自宅のコンピューターまたは一般向けのコンピューターから音楽をストリーミングしたり、Webブラウザーを使用してどこからでも音楽を聴いたりできます。そのため、音楽をresiliosyncやSyncthingなどのファイル同期アプリケーションと同期する必要はありません。
亜音速機能
- MP3、OGG、AAC、およびHTTP経由でストリーミングするその他のオーディオまたはビデオ形式をサポートします。
- Winamp、iTunes、XMMS、VLC、MusicMatch、WindowsMediaPlayerなどのネットワーク対応メディアプレーヤーで動作します
- アルバムアートディスプレイ、オンザフライプレイリスト、オンザフライトランスコーディング
- Android、iPhone、Windows Phone向けのモバイルアプリ、Mac、Windows、Chrome向けのデスクトップアプリ。 Androidアプリはオフライン再生をサポートしています。
- ポッドキャストを聴いたり、評価を割り当てたり、コメントを追加したり、再生リストを作成したりします。
- 音楽を友達や家族と共有しましょう。
- 動画のストリーミング(プレミアム機能)
- その他
注 そのSubsonicはバージョン6.0以降クローズドソースです。
Ubuntu16.04にSubsonicMediaServerをインストールする方法
SubsonicメディアサーバーはJavaで記述されているため、実行するにはJavaランタイム環境をインストールする必要があります。次のコマンドでopenjdk8をインストールできます。
sudo apt install openjdk-8-jre
以前にOracleJava8をインストールしたことがある場合は、OpenJDKをインストールする必要はありません。次に、バージョン6.1.5をダウンロードする次のコマンドを使用してSubsonicdebパッケージをダウンロードします。 Subsonicのダウンロードページで最新バージョンを確認できます。新しいバージョンが利用できる場合は、6.1.5を新しいバージョン番号に置き換えるだけです。
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb
dpkg
でインストールします 。
sudo dpkg -i subsonic-6.1.5.deb
インストールすると、Subsonicデーモンが自動的に起動します。
systemctl status subsonic
サンプル出力:
● subsonic.service - LSB: Subsonic daemon Loaded: loaded (/etc/init.d/subsonic; bad; vendor preset: enabled) Active: active (running) since Fri 2017-03-24 08:03:27 EDT; 7min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/subsonic.service └─3316 java -Xmx150m -Dsubsonic.home=/var/subsonic -Dsubsonic.host=0
実行されていない場合は、手動で開始できます
sudo systemctl start subsonic
また、システムの起動時に自動起動を有効にします。
sudo systemctl enable subsonic
デフォルトでは、亜音速は0.0.0.0:4040
でリッスンします 、つまり、ローカルネットワークとインターネットからの要求を受け入れます。
SubsonicをローカルのUbuntuコンピューターにインストールした場合は、ブラウザーに次のアドレスを入力して、SubsonicのWebインターフェイスにアクセスします。
http://localhost:4040
インターネットに接続されたUbuntuサーバーにSubsonicをインストールした場合は、ブラウザに次のアドレスを入力してSubsonicWebインターフェイスにアクセスします。
http://your-server-ip:4040
Subsonicメディアサーバーをホームサーバーにインストールし、外部ネットワークからアクセスする場合は、ルーターでポート転送を構成する必要があることに注意してください。
デフォルトのユーザー名とパスワードはadmin
です 。ログイン後、設定>ユーザーに移動する必要があります 管理者パスワードを変更します。
また、設定ページにメディアフォルダを追加し、[保存]ボタンをクリックします。 Subsonicが実行しているユーザーがフォルダにアクセスできる必要があることに注意してください。フォルダを追加したら、[メディアフォルダを今すぐスキャン]ボタンをクリックすると、インデックスページで音楽を聴くことができます。
ユーザーの変更
デフォルトでは、Subsonicプロセスはrootユーザーとして実行されます。セキュリティ上の理由から、通常のユーザーに変更する必要があります。これは、/etc/default/subsonic
を編集して行います。 ファイル。
sudo nano /etc/default/subsonic
次の行を見つけます:
SUBSONIC_USER=root
rootをlinuxbabe
のような独自のユーザーアカウントに変更します 。
SUBSONIC_USER=linuxbabe
ファイルを保存して閉じます。次に、亜音速デーモンを再起動して、変更を有効にします。
sudo systemctl restart subsonic
Subsonic用のNginxリバースプロキシの設定
Subsonic Webインターフェイスにドメイン名を使用する場合は、Nginxリバースプロキシを設定できます。以下のコマンドを使用して、Ubuntu16.04にNginxをインストールします。
sudo apt install nginx
次に、プロキシ用のサーバーブロックファイルを作成します。
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
次のテキストをファイルに入れます。 subsonic.your-domain.com
を置き換えます あなた自身のドメイン名で。 location {…}ブロックは、Subsonicデーモンに対してNginxプロキシリクエストを行います。サブドメインのAレコードを設定することを忘れないでください。
server { listen 80; server_name subsonic.your-domain.com; location / { proxy_pass http://127.0.0.1:4040; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
ファイルを保存して閉じます。次に、Nginx構成をテストします。
sudo nginx -t
テストが成功したら、新しい構成を有効にするためにNginxをリロードします。
sudo systemctl reload nginx
これで、亜音速メディアサーバーがNginxの背後に配置され、ドメイン名(subsonic.your-domain.com
)を使用して亜音速WebUIにアクセスできるようになりました。 )
NginxでHTTPSを有効にする
HTTPSセキュア接続を有効にするには、Let’sEncryptから無料のTLS/SSL証明書を取得してインストールします。 Let’s Encrypt(certbot)クライアントを次のコマンドでインストールします:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
次に、次のコマンドを発行します。このコマンドは、Certbot Nginxプラグインを使用して、TLS証明書を自動的に取得してインストールします。赤いテキストを実際のデータに置き換えます。
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain subsonic.your-domain.com
数秒以内に、以下のようなおめでとうメッセージが表示されます。これは、証明書が正常に取得されたことを意味します。
SubsonicメディアサーバーのWebインターフェイスに再度移動すると、HTTP接続が自動的ににリダイレクトされます。 HTTPSの安全な接続。次に、Nginx構成ファイルを変更する必要があります。
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
CertbotがSSLサーバーブロックを自動的に構成したため(443 sslをリッスン)、2つのサーバー{…}ブロックがあります。 SSLサーバーブロックで、場所/{…}ブロックに次の行を追加します。
proxy_redirect http:// https://;
この行は、httpサーバーの応答をhttpsサーバーの応答にリダイレクトします。これは、Subsonic設定ページを正しく表示するために必要です。ファイルを保存して閉じます。 Nginxの構成をテストしてリロードします。
sudo nginx -t sudo systemctl reload nginx
Apacheリバースプロキシの設定
NginxよりもApacheを使用する場合は、次のコマンドを使用してインストールします。
sudo apt install apache2
Apacheをリバースプロキシとして使用するには、proxy
を有効にする必要があります モジュールとヘッダーモジュール。
sudo a2enmod proxy proxy_http headers
次に、Subsonicメディアサーバーの仮想ホストファイルを作成します。
sudo nano /etc/apache2/sites-available/subsonic-proxy.conf
次の構成をファイルに入れます。 subsonic.your-domain.com
を置き換えます 実際のドメイン名で。このサブドメインのDNSAレコードを作成することを忘れないでください。
<VirtualHost *:80> ServerName subsonic.your-domain.com ErrorDocument 404 /404.html DocumentRoot /var/www ProxyPass / http://localhost:4040/ ProxyPassReverse / http://localhost:4040/ Header always unset X-Frame-Options </VirtualHost>の設定を解除します
ファイルを保存して閉じます。次に、この仮想ホストを有効にします。
sudo a2ensite subsonic-proxy.conf
Apacheを再起動します
sudo systemctl restart apache2
これで、ドメイン名を使用してSubsonicWebUIにアクセスできます。
ApacheでHTTPSを有効にする
HTTPSセキュア接続を有効にするには、Let’sEncryptから無料のTLS/SSL証明書を取得してインストールします。 Let’s Encrypt(certbot)クライアントを次のコマンドでインストールします:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install certbot python3-certbot-apache
次に、apacheプラグインを使用して証明書を取得してインストールします。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple --email your-email-address -d subsonic.your-domain.com
数秒以内に、証明書が正常に取得されたことを意味する以下のようなおめでとうメッセージが表示されます。
TLS証明書が自動的にインストールされます。 SubsonicメディアサーバーのWebインターフェイスに再度アクセスすると、HTTP接続がHTTPSセキュア接続に自動的にリダイレクトされます。
最新バージョンにアップグレードする方法
既存のSubsonicサーバーを最新バージョンにアップグレードするのは非常に簡単です。まず、Subsonicダウンロードページに移動し、最新のDebian / Ubuntuパッケージ( 6.1.2 )をダウンロードします。 この例では)。以下のスクリーンショットに示すように、Firefoxダウンロードマネージャーでダウンロードリンクを取得できます。
次に、ターミナルで wgetの後にダウンロードリンクを貼り付けることができます コマンドラインからSubsonicをダウンロードします。
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.2.deb
次に、dpkgを使用してdebパッケージをインストールします。
sudo dpkg -i subsonic-6.1.2.deb
Subsonic Systemdサービスを再起動すると、完了です。
sudo systemctl restart subsonic
このチュートリアルが、Ubuntu16.04にSubsonicメディアサーバーをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読してください。また、Google +、Twitter、またはFacebookページでフォローすることもできます。