GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu18.04LTSにAirsonicMediaServerをインストールする方法

Airsonicは無料のオープンソースメディアサーバーです。これは、自己ホスト型のWebベースのメディアストリーマーであり、音楽へのユビキタスアクセスを提供し、友人と音楽を共有したり、仕事中に音楽を聴いたりするのを簡単にします。 Airsonicは、SubsonicのフルフォークとしてJavaを使用して作成されており、非常に大規模な音楽コレクションを処理するように設計されており、MP3ストリーム用に最適化されています。 Airsonicは、WMA、FLAC、APEなど、HTTPプロトコルを介してストリーミングできるすべてのオーディオまたはビデオ形式で動作します。

このチュートリアルでは、Ubuntu18.04にAirsonicをインストールする方法を段階的に説明します。 .WARパッケージを使用してスタンドアロンのAirsonicインストールを展開し、Airsonicをサービスとして実行し、NginxWebサーバーをAirsonicのリバースプロキシとして構成する方法を示します。

前提条件
  • Ubuntu 18.04
  • root権限

何をしますか?

  1. JavaOpenJDKをインストールする
  2. AirSonicのインストールと構成
  3. 新しいSSLLetsencrypt証明書を生成する
  4. Nginxをリバースプロキシとして構成する
  5. UFWファイアウォールを設定する
  6. テスト
ステップ1-JavaOpenJDKをインストールします

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システムにインストールされました。

ステップ2-Airsonicをインストールして構成する

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」を取得します。

ステップ3-新しいSSLLetsencrypt証明書を生成する

このチュートリアルでは、ドメイン名が「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'ディレクトリにあります。

ステップ4-Nginxをリバースプロキシとしてインストールして構成する

このステップでは、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

ステップ5-UFWファイアウォールを設定する

このチュートリアルでは、ファイアウォールをオンにし、UbuntuにUFWファイアウォールを使用します。

以下のコマンドを実行して、UFWファイアウォールリストでSSH、HTTP、HTTPSサービスを開きます。

ufw allow ssh
ufw allow http
ufw allow https

次に、ufwファイアウォールを有効にします。

ufw enable

「y」と入力し、Enterキーを押して、UFWファイアウォールを開始して有効にします。

そして、ufwファイアウォールが有効になっています。

ステップ6-テスト

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メディアストリーマーのインストールが正常に完了しました。


Ubuntu
  1. Ubuntu20.04にPlexMediaServerをインストールする方法

  2. Ubuntu18.04にPlexMediaServerをインストールする方法

  3. Ubuntu18.04LTSにMinecraftサーバーをインストールする方法

  1. Subsonic Media ServerUbuntu18.04をインストールする方法

  2. Ubuntu18.04LTSにIcecast2メディアストリーミングサーバーをインストールする方法

  3. Ubuntu Server18.04LTSのインストール方法

  1. Ubuntu18.04LTSサーバーにDockerをインストールする方法

  2. Ubuntu20.04LTSサーバーをインストールする方法

  3. Ubuntu18.04LTSにPlexMediaServerをインストールする方法