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

ApacheまたはNginxを使用してUbuntu16.04にSonerezhMusicStreamingServerをインストールする方法

Sonerezhは、PHPおよびHTML5で記述された自己ホスト型のWebベースの音楽ストリーミングサーバーです。 Javaで記述されたSubsonicと比較して軽量です。 Sonerezhはオープンソースソフトウェアであり、AGPLの条件の下で配布されています。このチュートリアルでは、ApacheまたはNginxを使用してUbuntu16.04にSonerezhをインストールする方法を説明します。

Sonerezhの機能:

  • モダンで使いやすいWebインターフェイス
  • プレイリスト管理:プレイリストにタイトル、アルバム、アーティストを追加します。
  • ユーザー管理システムを介して音楽を共有する
  • メタデータの自動抽出とファイルのインポート
  • mp3への自動トランスコード
  • シンプルな検索エンジン

Sonerezhを使用すると、Webブラウザとインターネット接続を使用してどこからでも音楽を聴くことができます。

このチュートリアルに従うには、Ubuntu16.04にLAMPまたはLEMPがインストールされている必要があります。まだ行っていない場合は、次のチュートリアルを確認してください。

  • Ubuntu 16.04にLAMP(Apache、MariaDB、PHP7)をインストールする方法
  • Ubuntu 16.04にLEMP(Nginx、MariaDB、PHP7-FPM)をインストールする方法

LAMPまたはLEMPをインストールしたら、ここに戻って読み進めてください。

Ubuntu16.04へのSonerezhのインストール

最新の安定バージョンは、2016年12月19日にリリースされたSonerezh1.1.3です。GithubリポジトリからGitを使用してダウンロードできます。

ディレクトリを/var/www/に変更します 。

cd /var/www/

gitをインストールします gitを使用してGithubからSonerezhのクローンを作成します。

sudo apt install git

sudo git clone --branch master https://github.com/Sonerezh/sonerezh.git

Webサーバーを設定します(www-data )新しいディレクトリの所有者として。

sudo chown www-data:www-data /var/www/sonerezh/ -R

Sonerezh用のMariaDB/MySQLデータベースを作成する

次のコマンドを使用して、MariaDB/MySQLデータベースサーバーにログインします。

mysql -u root -p

次に、Sonerezhのデータベースを作成します。このチュートリアルでは、データベースにsonerezhという名前を付けます 。好きな名前を使用できます。

create database sonerezh;

データベースユーザーを作成し、このユーザーにsonerezhデータベースに対するすべての権限を付与します。 your-passwordを置き換えます ご希望のパスワードを使用してください。

grant all privileges on sonerezh.* to sonerezh@localhost identified by 'your-password';

特権をフラッシュして終了します。

flush privileges;

exit;

Apache仮想ホストの設定

sonerezh.confを作成します /etc/apache2/sites-available/のファイル ディレクトリ。

sudo nano /etc/apache2/sites-available/sonerezh.conf

次の行をコピーしてファイルに貼り付けます。赤いテキストをご希望のドメイン名に置き換えてください。また、ドメイン名のAレコードを作成する必要があります。ホームサーバーにSonerezhをインストールする場合は、ルーターでポート転送を構成する必要もあります。

<VirtualHost *:80>
   ServerName music.your-domain.com
   DocumentRoot /var/www/sonerezh

   <Directory /var/www/sonerezh>
     Options -Indexes
     AllowOverride All

    # Apache 2.2.x
    <IfModule !mod_authz_core.c>
      Order Allow,Deny
      Allow from all
    </IfModule>

   # Apache 2.4.x
   <IfModule mod_authz_core.c>
     Require all granted
    </IfModule>
 </Directory>

 CustomLog /var/log/apache2/sonerezh-access.log "Combined"
 ErrorLog /var/log/apache2/sonerezh-error.log
</VirtualHost>

ファイルを保存して閉じます。

sudo a2ensite sonerezh.conf

次に、mod_rewriteモジュールを有効にし、Apacheウェブサーバーをリロードして変更を有効にします。

sudo a2enmod rewrite

sudo systemctl reload apache2

次に、music.your-domain.com/installにアクセスします 。いくつかの要件をリストしたSonerezhWebインストーラーが表示されます。これらの要件を満たすには、次のコマンドを実行します。

sudo apt install php7.0-gd libav-tools

HTTPS(Apache)の有効化

インストールを完了するには、データベースの詳細を入力し、管理者アカウントを作成する必要があります。ただし、その前に、Let’s Encryptから無料のTLS証明書をインストールして、Webインストーラーに入力した内容が盗聴されないようにします。

certbot(Let’s Encrypt)クライアントをインストールします。

sudo apt install letsencrypt python-letsencrypt-apache

次に、次のコマンドを発行して、無料のTLS/SSL証明書を取得します。赤い色のテキストを実際のデータに置き換えます。

sudo letsencrypt --apache --agree-tos --redirect --hsts --email your-email-address -d music.your-domain.com

説明:

  • –apache :Apacheプラグインを使用して、証明書を自動的に取得してインストールします。
  • –同意する :利用規約に同意します。
  • –リダイレクト :すべてのHTTPトラフィックを仮想ホストのHTTPSにリダイレクトします
  • –hsts :ブラウザに常にTLSを使用するように強制します。

数秒以内に次のように表示されます。これは、無料のTLS / SSL証明書が取得され、Apacheサーバーにインストールされていることを意味します。

デフォルトのTLS/SSL構成は、SSLラボテストでA+を獲得します。

Nginxサーバーブロックの設定

Apacheの代わりにNginxを使用する場合は、Nginxサーバーブロックファイルを作成します。

sudo nano /etc/nginx/conf.d/sonerezh.conf

次の行をコピーしてファイルに貼り付けます。赤いテキストをご希望のドメイン名に置き換えてください。また、ドメイン名のAレコードを作成する必要があります。ホームサーバーにSonerezhをインストールする場合は、ルーターでポート転送を構成する必要もあります。

server {
    listen      80;
    server_name music.your-domain.com;
    root        /var/www/sonerezh/app/webroot;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
        expires 14d;
        add_header Cache-Control 'public';
    }

    # The section below handle the thumbnails cache, on the client (browser)
    # side (optional but recommended)
    location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ {
        try_files /img/resized/$1 /index.php?$args;
        add_header Cache-Control 'public';
        expires 14d;
        access_log off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        include fastcgi.conf;

        # If fastcgi.conf is not available on your platform you may want to
        # uncomment the following line
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

ファイルを保存して閉じます。次に、構成をテストします。

sudo nginx -t

テストが成功した場合は、Nginxをリロードします。

sudo systemctl reload nginx

次に、music.your-domain.com/installにアクセスします 。いくつかの要件をリストしたSonerezhWebインストーラーが表示されます。これらの要件を満たすには、次のコマンドを実行します。

sudo apt install php7.0-gd libav-tools

HTTPS(Nginx)の有効化

インストールを完了するには、データベースの詳細を入力し、管理者アカウントを作成する必要があります。ただし、その前に、Let’s Encryptから無料のTLS証明書をインストールして、Webインストーラーに入力した内容が盗聴されないようにします。

certbot(Let’s Encrypt)クライアントをインストールします。

sudo apt install letsencrypt

次に、次のコマンドを発行して、無料のTLS/SSL証明書を取得します。赤い色のテキストを実際のデータに置き換えます。

sudo letsencrypt certonly --webroot --agree-tos --email your-email-address -d music.your-domain.com -w /var/www/sonerezh/app/webroot/

数秒以内に次のように表示されます。これは、無料のTLS/SSL証明書が取得されたことを意味します。

次に、Sonerezhサーバーブロックファイルを編集してTLSを構成します。

sudo nano /etc/nginx/conf.d/sonerezh.conf

構成を次のように変更します。

server {
    listen      80;
    server_name music.your-domain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name music.your-domain.com;
    root        /var/www/sonerezh/app/webroot;

    ssl_certificate /etc/letsencrypt/live/music.your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/music.your-domain.com/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;

    # modern configuration. tweak to your needs.
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;

    # HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
    add_header Strict-Transport-Security max-age=15768000;

    # OCSP Stapling ---
    # fetch OCSP records from URL in ssl_certificate and cache them
    ssl_stapling on;
    ssl_stapling_verify on;

    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
        expires 14d;
        add_header Cache-Control 'public';
    }

    # The section below handle the thumbnails cache, on the client (browser)
    # side (optional but recommended)
    location ~* /([^/]+_[0-9]+x[0-9]+(@[0-9]+x)?\.[a-z]+)$ {
        try_files /img/resized/$1 /index.php?$args;
        add_header Cache-Control 'public';
        expires 14d;
        access_log off;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_index index.php;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        include fastcgi.conf;

        # If fastcgi.conf is not available on your platform you may want to
        # uncomment the following line
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

ファイルを保存して閉じます。次に、構成をテストします。

sudo nginx -t

テストが成功した場合は、Nginxをリロードします。

sudo systemctl reload nginx

インストールを完了します

これで接続がHTTPS対応になり、Webインストーラーでデータベースの詳細を入力できます。また、管理者アカウントを作成し、音楽フォルダを指定します。

SonerezhWebベースの音楽ストリーミングサーバー

証明書の自動更新

Let's Encrypt証明書を自動的に更新するには、rootユーザーのcrontabファイルを編集します。

sudo crontab -e

ファイルの最後に次の行を追加します。

@daily letsencrypt renew --quiet && systemctl reload apache2

Nginxを使用する場合は、apache2をnginxに置き換えます。

@daily letsencrypt renew --quiet && systemctl reload nginx

Webサーバーが新しい証明書を取得するには、リロードが必要です。

それでおしまい!このチュートリアルが、ApacheまたはNginxを使用してUbuntu16.04にSonerezh音楽ストリーミングサーバーをインストールするのに役立つことを願っています。 Subsonic音楽ストリーミングサーバーのインストール方法も確認してください。


Ubuntu
  1. Ubuntu16.04にNginxを使用してHTTPGitサーバーをインストールする方法

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

  3. Ubuntu20.04にNginxを使用してHTTPGitサーバーをインストールする方法

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

  2. Ubuntu16.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  3. Ubuntu18.04にApacheを使用してJenkinsAutomationServerをインストールする方法

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

  2. Ubuntu20.04にNginxを使用してJellyfinMediaServerをインストールする方法

  3. Apache/Nginxを使用してUbuntu20.04にFileRunをインストールする方法