Airsonicは無料のオープンソースメディアサーバーです。これは、自己ホスト型のWebベースのメディアストリーマーであり、音楽へのユビキタスアクセスを提供し、友人と音楽を共有したり、仕事中に音楽を聴いたりするのを簡単にします。 Airsonicは、SubsonicのフルフォークとしてJavaを使用して作成されており、非常に大規模な音楽コレクションを処理するように設計されており、MP3ストリーム用に最適化されています。 Airsonicは、WMA、FLAC、APEなど、HTTPプロトコルを介してストリーミングできるすべてのオーディオまたはビデオ形式で動作します。
このチュートリアルでは、Ubuntu18.04にAirsonicをインストールする方法を段階的に説明します。 .WARパッケージを使用してスタンドアロンのAirsonicインストールを展開し、Airsonicをサービスとして実行し、NginxWebサーバーをAirsonicのリバースプロキシとして構成する方法を示します。
- Ubuntu 18.04
- root権限
何をしますか?
- JavaOpenJDKをインストールする
- AirSonicのインストールと構成
- 新しいSSLLetsencrypt証明書を生成する
- Nginxをリバースプロキシとして構成する
- UFWファイアウォールを設定する
- テスト
AirsonicはJavaベースのアプリケーションソフトウェアであるため、サーバーにJavaをインストールする必要があり、OpenJDK1.8xシリーズをインストールする必要があります。この最初のステップでは、PPAリポジトリwebupd8teamからJavaOpenJDKをインストールします。
'software-properties-common'パッケージをインストールしてから、JavaOpenJDKPPAリポジトリを追加します。
次のaptコマンドを実行します。
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y
次に、JavaOpenJDKをインストールします。
sudo apt install oracle-java8-installer -y
インストールが完了したら、JavaOpenJDKのバージョンを確認してください。
java -version
これで、JavaOpenJDK1.8シリーズがUbuntu18.04システムにインストールされました。
Airsonicはさまざまなインストールパッケージを提供しています。このガイドでは、「スタンドアロンWARインストール」を使用します。
「airsonic」という名前の新しいユーザーを作成し、「/ opt/airsonic」という新しいディレクトリを作成します。
useradd airsonic
mkdir -p /opt/airsonic
次に、「/ opt / airsonic」ディレクトリに移動し、wgetを使用してAirsonicの「.WAR」パッケージファイルをダウンロードします。
cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war
そして、「/ opt/airsonic」ディレクトリの所有者を「airsonic」ユーザーとグループに変更します。
chown -R airsonic:airsonic /opt/airsonic
Airsonicの「.WAR」バイナリパッケージがダウンロードされました。
次に、Airsonicの新しいサービスファイルを作成し、「/ etc / systemd / system」ディレクトリに移動して、新しいサービスファイル「airsonic.service」を作成する必要があります。
cd /etc/systemd/system/
vim airsonic.service
次のAirsonicサービス構成をそこに貼り付けます。
[Unit] Description=Airsonic Media Server After=remote-fs.target network.target AssertPathExists=/opt/airsonic [Service] Type=simple Environment="JAVA_JAR=/opt/airsonic/airsonic.war" Environment="JAVA_OPTS=-Xmx700m" Environment="AIRSONIC_HOME=/opt/airsonic" Environment="PORT=8080" Environment="CONTEXT_PATH=/airsonic" Environment="JAVA_ARGS=" EnvironmentFile=-/etc/sysconfig/airsonic ExecStart=/usr/bin/java \ $JAVA_OPTS \ -Dairsonic.home=${AIRSONIC_HOME} \ -Dserver.context-path=${CONTEXT_PATH} \ -Dserver.port=${PORT} \ -jar ${JAVA_JAR} $JAVA_ARGS User=airsonic Group=airsonic [Install] WantedBy=multi-user.target
保存して終了します。
systemdシステムをリロードし、「/ etc/default」ディレクトリに新しいairsonicデフォルト設定ファイルを作成します。
sudo systemctl daemon-reload
vim /etc/default/airsonic
次のデフォルトのエアソニック構成をそこに貼り付けます。
# Set the location of the standalone war to use JAVA_JAR=/opt/airsonic/airsonic.war # Set any java opts separated by spaces JAVA_OPTS=-Xmx700m # Set a different location for the airsonic home. # If this path is /opt/libresonic or even contains "libresonic", # the data from a previous libresonic can be used as is (i.e. without # renaming libresonic.properties,db/libresonic*, etc AIRSONIC_HOME=/opt/airsonic # Change the port to listen on PORT=8080 # Change the path that is listened to on CONTEXT_PATH=/airsonic # Add any java args. These are different than JAVA_OPTS in that # they are passed directly to the program. The default is empty: #JAVA_ARGS= # Note that there are several settings for spring boot, not explicitly listed # here, but can be used in either JAVA_OPTS or JAVA_ARGS. The full list # can be found here: # https://docs.spring.io/spring-boot/docs/1.4.5.RELEASE/reference/htmlsingle/#common-application-properties # For example to set debug across the board: #JAVA_ARGS=--debug # Or to change the IP address that is listened to: JAVA_ARGS=--server.address=127.0.0.1
保存して終了します。
次に、Airsonicサービスを開始し、システムの起動時に毎回起動できるようにします。
systemctl start airsonic
systemctl enable airsonic
airsonicの「スタンドアロン」インストールが完了し、稼働しているので、netstatコマンドを使用して確認します。
netstat -plntu
また、JavaAirsonicサービスで使用される「LISTEN」状態のデフォルトポートAirsonic「8080」を取得します。
このチュートリアルでは、ドメイン名が「music.hakase-labs.io」のNginxリバースプロキシのHTTPS接続でAirsonicをデプロイします。
このステップでは、LetsencryptからSSL証明書を生成します。次のaptコマンドを使用してLetsencryptツールをインストールします。
sudo apt install letsencrypt -y
Letsencryptツールがインストールされました。
次に、以下のコマンドを使用して、「music.hakase-labs.io」ドメインの新しいSSL証明書を生成する必要があります。
certbot certonly --standalone -d music.hakase-labs.io
メールアドレスの入力を求められ、更新通知に使用されます。 Letsencrypt TOS契約の場合は「A」と入力して同意し、共有メールアドレスの場合は「N」と入力して「いいえ」と入力します。
すべてが完了すると、次のような結果が得られます。
'music.hakase-labs.io'ドメインのSSLLetsencryptが生成され、すべての証明書は'/etc/letsencrypt/live/domain'ディレクトリにあります。
このステップでは、Nginx Webサーバーをインストールし、ポート8080でAirsonicソフトウェアのリバースプロキシとして構成します。
次のaptコマンドを使用してNginxWebサーバーをインストールします。
sudo apt install nginx -y
次に、「/ etc / nginx」ディレクトリに移動して、新しい仮想ホストファイル「airsonic」を作成します。
cd /etc/nginx/
vim sites-available/airsonic
次の構成をそこに貼り付けます。
server { listen 80; listen [::]:80; server_name music.hakase-labs.io; # enforce https return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name music.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/music.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/music.hakase-labs.io/privkey.pem; location /airsonic { 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 https; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header Host $http_host; proxy_max_temp_file_size 0; proxy_pass http://127.0.0.1:8080; proxy_redirect http:// https://; } }
保存して終了します。
「airsonic」仮想ホストファイルをアクティブにして、構成をテストします。
ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t
エラーがないことを確認してから、nginxサービスを再起動し、システムの起動時に毎回起動できるようにします。
systemctl restart nginx
systemctl enable nginx
Nginx Webサーバーは、ポート8080でAirsonicのリバースプロキシとして実行されており、httpsセキュア接続で実行されています。
以下のnetstatコマンドを使用して確認してください。
netstat -plntu
このチュートリアルでは、ファイアウォールをオンにし、UbuntuにUFWファイアウォールを使用します。
以下のコマンドを実行して、UFWファイアウォールリストでSSH、HTTP、HTTPSサービスを開きます。
ufw allow ssh
ufw allow http
ufw allow https
次に、ufwファイアウォールを有効にします。
ufw enable
「y」と入力し、Enterキーを押して、UFWファイアウォールを開始して有効にします。
そして、ufwファイアウォールが有効になっています。
Webブラウザーを開き、アドレスバーにAirsonicインストールURLを入力します。私のは:
https://music.hakase-labs.io/airsonic/
これで、Airsonicログインページが表示されます。
デフォルトユーザー「admin」としてパスワード「admin」でログインし、「ログイン」ボタンを押します。
ログインすると、Airsonicダッシュボードが表示されます。
-デフォルトのパスワードを変更する
[管理者パスワードの変更]ボタンをクリックします。
次に、「admin」ユーザーを選択し、「パスワードの変更」にマークを付けてから、新しい管理者パスワードを入力して「保存」をクリックします。
Airsonicのデフォルトの管理者パスワードが変更されました。
-メディアフォルダを設定する
ターミナルシェルサーバーに戻り、新しいメディアフォルダを手動で作成し、メディアフォルダディレクトリの所有者を「airsonic」ユーザーに変更します。
mkdir -p /var/music
chown -R airsonic:airsonic /var/music
次に、Airsonic管理ダッシュボードで、[設定]ボタンをクリックし、[メディアフォルダ]タブをクリックします。
デフォルトの「音楽」メディアフォルダが有効になっていることを確認してから、「保存」ボタンをクリックします。
次に、[ユーザー]タブに移動し、[admin]ユーザーを選択して、以下のように[Music]メディアフォルダーを確認します。
デフォルトの「音楽」メディアフォルダが有効になり、「admin」ユーザーがメディアフォルダにアクセスできるようになりました。
以下は、いくつかの変更を加えた後のAirsonicダッシュボードです。
Ubuntu18.04でリバースプロキシとしてNginxを使用したAirsonicメディアストリーマーのインストールが正常に完了しました。