CentOS 7にAirSonicをインストールする方法

AirSonicは無料でオープンソースのメディアストリーミングサーバーです。このチュートリアルでは、CentOS 7サーバーインスタンスにAirSonicサーバーインスタンスを最初からデプロイするプロセスについて説明します。

前提条件

  • 2 GB以上のメモリを備えた、新しくデプロイされたVultr CentOS 7サーバーインスタンス。IPv4アドレスがあるとします203.0.113.1
  • sudoのユーザー
  • airsonic.example.com上記のサーバーインスタンスをポイントしているドメイン。

ステップ1:基本的なシステム構成

スワップファイルを作成する

システムパフォーマンスを向上させるために、2 GBのメモリを搭載したマシンに2 GB(2048M)のスワップファイルを作成することをお勧めします。

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

注: 別のサーバーサイズを使用している場合は、スワップパーティションの適切なサイズが異なる場合があります。

マシンのホスト名と完全修飾ドメイン名(FQDN)を設定する

Let's Encrypt SSL証明書でHTTPSセキュリティを有効にするには、マシンのホスト名とFQDNを適切に設定する必要があります。

次のコマンドは、マシンのホスト名airsonicとFQDN airsonic.example.comをセットアップします。

sudo hostnamectl set-hostname airsonic
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 airsonic.example.com airsonic
127.0.0.1 airsonic
::1       airsonic
EOF

結果は以下で確認できます。

hostname
hostname -f

インバウンドHTTPおよびHTTPSトラフィックを許可するためにファイアウォールルールを変更する

ポート80HTTP)および443HTTPS)のCentOS 7のデフォルトブロックを削除します。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

リポジトリをインストールする

EPEL YUMリポジトリをインストールしてから、システムを更新します。

sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now

システムが再起動したら、同じsudoユーザーとして再度ログインして次に進みます。

ステップ2:OpenJDK Javaランタイム環境(JRE)8をインストールする

OpenJDK JRE 8をインストールしてから、CentOS 7で結果を確認します。

sudo yum install -y java-1.8.0-openjdk.x86_64
java -version

2番目のコマンドの出力は次のようになります。

openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

さらに、JAVA_HOME次のように環境変数を設定する必要があります。

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

手順3:AirSonicをインストールする

AirSonicは、さまざまな方法で導入できます。このチュートリアルでは、AirSonic WARパッケージを使用してAirSonicをインストールします。

次の名前の専用ユーザーと専用グループを作成しますairsonic

sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic

最新のAirSonic WARパッケージをダウンロードします。

cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic

事前定義されたAirSonic systemdユニットファイルをダウンロードして、AirSonicサービスを開始します。

sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/sysconfig/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service

注: ご使用のマシンで2つのAirSonic systemdユニットファイルを確認してカスタマイズする必要がある場合があります。

ステップ4:インストールをテストする

AirSonicが起動して実行され、ポートでリッスンします8080。次のコマンドを使用して、これが事実であることを確認できます。

ps -ef|grep airsonic

AirSonicサイトに直接アクセスすることもできますが、最初にファイアウォールルールを一時的に変更する必要があります。

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo systemctl reload firewalld.service

次に、お気に入りのWebブラウザでをポイントし、次にhttp://203.0.113.1:8080/airsonicリストされているデフォルトの認証情報を使用してログインします。

  • ユーザー名: admin
  • パスワード: admin

セキュリティ上の理由から、ログイン後すぐに管理者のパスワードを変更する必要があります。

結果が確認されたら、ポート8080でのアクセスを再度制限します。

sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo systemctl reload firewalld.service

ステップ5:AirSonicサイトのLet's Encrypt SSL証明書を取得する

セキュリティ上の理由から、新しく作成したすべてのWebサイトでHTTPSセキュリティを有効にすることをお勧めします。そのための最も便利な方法は、Let's Encrypt SSL証明書を次のように展開することです。

CentOS 7にCertbotユーティリティをインストールします。

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

Certbotを使用して、ドメインのLet's Encrypt SSL証明書を申請しますairsonic.example.com

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d airsonic.example.com

証明書とチェーンは次の場所に保存されます。

/etc/letsencrypt/live/airsonic.example.com/fullchain.pem

キーファイルはここに保存されます:

/etc/letsencrypt/live/airsonic.example.com/privkey.pem

Let's Encrypt SSL証明書は3か月で有効期限が切れるように設計されています。cronジョブを設定して、証明書を自動的に更新できます。

sudo crontab -e

を押してI、次のエントリを入力します。

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

保存して終了:

:wq

このcronジョブは、毎日正午にLet's Encrypt証明書を更新しようとします。

ステップ6:Nginxをリバースプロキシとしてインストールする

Nginxを使用すると、訪問者のアクセスを容易にし(8080ポート番号を入力する必要がなくなるため)、AirSonic WebサイトでHTTPSセキュリティを有効にすることができます。

YUMを使用してNginxをインストールします。

sudo yum install -y nginx

次に、AirSonicの構成ファイルを作成します。

cat <<EOF | sudo tee /etc/nginx/conf.d/airsonic.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name airsonic.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  airsonic.example.com;
    ssl_certificate      /etc/letsencrypt/live/airsonic.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/airsonic.example.com/privkey.pem;

    # Proxy to the Airsonic server
    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://;
    }
}
EOF

構成を有効にするためにNginxを再起動します。

sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

最後にお気に入りのWebブラウザを指すhttp://airsonic.example.com/airsonicか、https://airsonic.example.com/airsonicあなたのAirSonicのウェブサイトを探索を開始します。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。