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

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

Koelは、クライアント側でVue.js、サーバー側でLaravelで記述されたWebベースのパーソナルオーディオストリーミングアプリです。このチュートリアルでは、Ubuntu18.04ベースのサーバーにKoelをインストールする方法について説明します。

前提条件

  • Ubuntu18.04を実行しているサーバー。

  • ルート以外のsudoユーザー。

  • すべてが更新されていることを確認してください。

     $ sudo apt update &&sudo apt upgrade 
  • システムに必要なパッケージはほとんどありません。

     $ sudo apt install ca-certificates curl unzip build-essential libpng-dev gnupg2 lsb-release ufw -y 

    これらのパッケージの一部は、システムにすでにインストールされている可能性があります。

ファイアウォールの構成

最初のステップは、ファイアウォールを構成することです。ファイアウォールを有効にする前に、SSHポートを許可する必要があります。許可しないと、サーバーからロックアウトされます。

 $ sudo ufw allow OpenSSH 

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

 $ sudo ufw enable 

HTTPおよびHTTPSポートを許可します。

 $ sudo ufw allow http 
$ sudo ufw allow https

ファイアウォールのステータスを確認してください。

 $ sudo ufw status 

同様の出力が表示されるはずです。

<前>ステータス:にアクション/> - ------ ----
OpenSSHを認めどこ
80 / tcpのどこでも443 /> のOpenSSH(V6)を許可どこでも(V6)
80 / TCP(V6)はどこでも(V6)
443 / TCP(V6)はどこでも(V6)>

Gitのインストール

まず、Gitをインストールします。

 $ sudo apt install git -y 
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

Node.jsをインストール

Koelはノード12と互換性のない古いライブラリをパッケージ化しているため、最新の12.xではなくノード10.xをインストールします。

 curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash-
sudo apt install -y nodejs

ノードが正しくインストールされているかどうかを確認してください。

 $ node --version 

同様の出力が表示されるはずです。

 v10.17.0 

ヤーンのインストール

Yarnパッケージマネージャーをインストールします。

 $ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add-
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update &&sudo apt install -yyarn

糸が正しく機能しているかどうかを確認します。

$ヤーン--バージョン

同様の出力が表示されるはずです。

 1.19.1 

PHPのインストール

必要なすべての拡張機能を備えたPHP7.2をインストールします。

 $ sudo apt install -y php7.2-fpm php7.2-mbstring php7.2-bcmath php7.2-xml php7.2-mysql php7.2-curl php7.2-zip 

PHPが正しく機能しているかどうかを確認します。

 $ php --version 

同様の出力が表示されるはずです。

 PHP 7.2.24-1 + ubuntu18.04.1 + deb.sury.org + 1(cli)(ビルド:2019年10月24日18:29:11)(NTS)
著作権(c)1997-2018 PHPグループ
ZendEngine v3.2.0、Copyright(c)1998-2018 Zend Technologies
with Zend OPcache v7.2.24-1 + ubuntu18.04.1 + deb.sury.org + 1、Copyright(c )1999-2018、ZendTechnologiesによる

MariaDBのインストール

MariaDBはMySQLのドロップイン代替品です。つまり、MariaDBを実行および操作するコマンドはMySQLのコマンドと同じです。 MariaDBをインストールするには、次のコマンドを発行します。

 $ sudo apt install mariadb-server 

MariaDBが正しくインストールされているかどうかを確認してください。

 $ mysql --version 

次の出力が表示されます。

 mysql Ver 15.1 Distrib 10.1.41-MariaDB、readline 5.2を使用したdebian-linux-gnu(x86_64)用

次のコマンドを実行して、rootパスワードの指定、匿名ユーザーの削除、rootログインのリモートでの禁止、テストテーブルの削除などのデフォルト設定を実行します。 はいと入力します すべてに対して、rootパスワードを設定します。

 $ sudo mysql_secure_installation 

ルートパスワードの設定には注意が必要です。 MariaDBはデフォルトで、システムrootユーザーがパスワードなしでMariaDBにログインできるようにします。ただし、サードパーティのアプリケーションを使用してroot経由でアクセスする場合は、パスワードが必須です。そうしないと、PHPMyAdminなどのアプリが失敗します。このためには、MariaDBのデフォルトオプションであるプラグインベースの認証を無効にする必要があります。

プラグイン認証を無効にしてルートパスワードを復元するには、最初に次のコマンドを使用してMySQLプロンプトを入力します。

 $ sudo mysql -u root 

次に、次のコマンドを入力して、プラグイン認証を無効にします。

 use mysql; 
update user set plugin ='' where User ='root';
flush特権;
exit

この後、MariaDBサービスを再起動します。

 $ sudo systemctl restart mariadb.service 

それでおしまい。次回MySQLにログインするときは、次のコマンドを使用します

 $ sudo mysql -u root -p 

プロンプトが表示されたら、rootパスワードを入力します。

Koel用にMariaDBを構成する

次に、Koelアプリケーションで使用するデータベースを設定する必要があります。これを行うには、MySQLプロンプトにログインします。チュートリアルの残りの部分では、MariaDBのデフォルトの認証方法を使用している(つまり、rootパスワードを使用していない)と想定します。

 $ sudo mysql -u root 

プロンプトが表示されたら、次のコマンドを入力して、 koelmusicという名前のデータベースをセットアップします。 およびkoeluserという名前のデータベースユーザー データベースへのアクセスを許可します。

 mysql> CREATE DATABASE koelmusic; 
mysql> CREATE USER'koeluser' @'localhost' IDENTIFIED BY'yourpassword';
mysql>GRANT ALL PRIVILEGESONkoelmusic。*TO'koeluser'@'localhost ';
mysql> FLUSH PRIVILEGES;
mysql> exit

Nginxをインストール

Nginxサーバーをインストールします。

 $ sudo apt install nginx 

正しく機能しているかどうかを確認します。

 $ nginx -v 

次の出力が表示されます。

 nginxバージョン:nginx / 1.14.0(Ubuntu)

次のコマンドを実行して、Koelの構成ファイルを追加します。

 $ sudo nano /etc/nginx/sites-available/koel.conf 

次のコードをエディターに貼り付けます。

 server {
listen *:80;
server_name koel.example.com;
root / var / www / koel;
index index.php;

gzip on;
gzip_types text / plain text / css application / x-javascript text / xml application / xml application / xml + rss text / javascript application / json;
gzip_comp_level 9;

#index.php、robots.txt、およびいくつかの特別なルートのみをホワイトリストに登録
if($ request_uri!〜^ / $ | index \ .php | robots \ .txt |(public | api) / | remote | api-docs | sw \ .js){
return 404;
}

location / media / {
internal;

エイリアス$upstream_http_x_media_root;

access_log /var/log/nginx/koel.access.log;
error_log /var/log/nginx/koel.error.log;
}

location / {
try_files $ uri $ uri / /index.php?$args;
}

location〜 \ .php $ {
try_files $ uri $ uri / /index.php?$args;
fastcgi_param PATH_INFO $ fastcgi_pat h_info;
fastcgi_param PATH_TRANSLATED $ document_root $ fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
fastcgi_pass unix:/var/run/php/php7.2-fp fastcgi_index index.php;
fastcgi_split_path_info ^(。+ \。php)(/.+)$;
fastcgi_intercept_errors on;
include fastcgi_params;
}
}

このファイルは、Koelをドメインkoel.example.comにインストールすることを前提としています。 およびディレクトリ/var/www/koel

この構成ファイルをsites-enabledにリンクして、アクティブ化します。 ディレクトリ。

 $ sudo ln -s /etc/nginx/sites-available/koel.conf /etc/nginx/sites-enabled/ 

構成をテストします。

 $ sudo nginx -t 

構成が正しいことを示す次の出力が表示されます。

 nginx:構成ファイル/etc/nginx/nginx.confの構文は問題ありません
nginx:構成ファイル/etc/nginx/nginx.confテストは成功しました

Nginxサービスをリロードします。

 $ sudo systemctl reload nginx 

Composerのインストール

これは、インストールに進む前に必要な最後のことです。

次のコマンドを入力してComposerをインストールします。

 $ php -r "copy('https://getcomposer.org/installer'、'composer-setup.php');" 
$ php composer-setup.php
$ php- r "unlink('composer-setup.php');"
$ sudo mv composer.phar / usr / local / bin / composer

正しく機能しているかどうかを確認します。

 $ composer --version 

次の出力が表示されます。

作曲家バージョン1.9.12019-11-0117:20:17 

Koelのインストール

Koelの空のドキュメントルートフォルダを作成します。

 $ sudo mkdir -p / var / www / koel 

-p 引数は、親ディレクトリがvarであることを確認します およびwww 存在しない場合は自動的に作成されます。

ドキュメントのルートフォルダに移動します。

 $ cd / var / www / koel 

ドキュメントルートの所有権をuserに変更します これは、チュートリアルで使用したroot以外のユーザーです。

 $ sudo chown -R user:user / var / www / koel 

Koel Gitリポジトリのクローンを作成し、最新バージョンをチェックアウトします。最新バージョンはリリースページから確認できます。

 $ git clone--recurse-submoduleshttps://github.com/phanan/koel.git。
$ git checkout v4.1.1

依存関係をインストールします。

$composerインストール

次のコマンドを実行して、データベースと管理者アカウントを設定します。 mysqlと入力します データベースタイプとして、ポートをスキップし、上記で作成したデータベースクレデンシャルを入力します。メディアフォルダには、/home/user/songsのように入力できます。 。

 $ php artisan koel:init 

ドキュメントルートフォルダの所有権をwww-dataに戻します ユーザー。

 $ sudo chown -R www-data:www-data / var / www / koel 

これでセットアップは完了です。 koel.example.comを開きます ブラウザで、上記で作成した資格情報を使用してログインし、ストリーミングを開始します。 Koelのウェブサイトにはモバイルからもアクセスできます。

Koelの構成

.envを編集して構成できる詳細があります。 次のコマンドでファイルします。

 $ sudo nano /var/www/koel/.env 

ここでは、SMTPの詳細を入力したり、Koel用にYoutubeとLast.fmを構成したり、さらに多くのことを実行したりできます。

Nginxサーバーをリロードして変更を実装します。

管理者パスワードをリセットする場合は、次のコマンドを発行してリセットできます。

 $ php artisan koel:admin:change-password 

メディアライブラリをスキャンして更新されたファイルを探す場合は、次のコマンドで実行できます。

 $ php artisan koel:sync 

次の出力が表示されます。

Koelの同期が開始されました。
953/953[????????????????????????????] 100%
完了しました! 944個の新規または更新された曲、0個の変更されていない曲、および9個の無効なファイル。

コマンドに-vを付けます 同期エラーなどの詳細を提供するフラグ。

たとえば、このコマンドをcronジョブとして設定して、毎晩深夜に実行することもできます。これを行うには、次のコマンドを実行します。

 $ crontab -e 

1( nano )を選択します )エディタとして。

ファイルの最後に次の行を貼り付けます。

 0 0 * * * cd / var / www / koel &&/ usr / bin / php artisan koel:sync> / dev / null 2>&1 

Ctrl + Xを押してファイルを保存します Yと入力します プロンプトが表示されたら。これで、メディアライブラリは毎晩深夜に同期されます。

詳細については、Koelの公式ドキュメントを参照してください。

Let'sEncryptを使用したHTTPSの設定

Let's Encryptを使用するには、 Certbotをインストールする必要があります パッケージ。

リポジトリを追加します。

 $ sudo add-apt-repository ppa:certbot / certbot 

Certbotをインストールします。

 $ sudo apt install python-certbot-nginx 

証明書をインストールします。

 $ sudo certbot --nginx -d koel.example.com 

このサーバーでこのツールを初めて使用する場合は、利用規約に同意し、メールアドレスを入力する必要があります。 いいえと言います メールをEFF財団と共有するかどうか尋ねられたとき。

それが成功した場合は、certbot HTTPS設定をどのように構成するかを尋ねられます。

 HTTPトラフィックをHTTPSにリダイレクトして、HTTPアクセスを削除するかどうかを選択してください。
--------------------------- -------------------------------------------------- -
1:リダイレクトなし-Webサーバーの構成にそれ以上の変更を加えません。
2:リダイレクト-すべてのリクエストを安全なHTTPSアクセスにリダイレクトします。
新しいサイトの場合、またはサイトがHTTPSで動作することが確実な場合は、これを選択してください。この変更は、Webサーバーの構成を編集することで元に戻すことができます。
------------------------------ -------------------------------------------------
適切な番号[1-2]を選択してから[Enter]を選択します(キャンセルするには「c」を押します):

2を選択し、ENTERを押します 。これで、証明書がインストールされ、アクティブ化されました。証明書は90日以内に自動更新されます。

結論

これでチュートリアルは終了です。サーバーから心ゆくまでメディアをストリーミングできます。


Ubuntu
  1. Ubuntu18.04および16.04LTSにRabbitMQサーバーをインストールする方法

  2. Ubuntu18.04および16.04LTSにGitlabサーバーをインストールする方法

  3. Ubuntu20.04にMsSQLServer2019をインストールする方法

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

  2. UbuntuServer21.04にAnsibleをインストールする方法

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

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

  2. Ubuntu20.04にAmpacheMusicStreamingServerをインストールする方法

  3. Fedora33にAmpacheMusicStreamingServerをインストールする方法