【VPS活用】koelを使って自分専用ミュージックストリーミングサーバーを作ってみた

ミュージックストリーミング用のサーバーは多数公開されています。今回はその中から、「koel」を使ったサーバーの構築方法をご紹介します。最新の日本語による解説記事が少ないため、海外での事例を参考にしています。購入済みの大量にある音楽データを、わかりやすく管理できます。これで自分専用のサーバーで音楽を楽しむことができますね。

ミュージック ストリーミング サーバー「koel」とは

「koel(コウアル)」は、オープンソースのアプリケーションとして公開されています。一般的なサーバー操作に慣れていれば、ふだんお使いのサーバーにインストールして利用することができます。公式サイト上にはデモ用のページが用意されています。

ストリーミングサーバーを探していたkoel開発者は良いものが見つけられず、結局自分で開発してしまったエピソードが公式サイトに紹介されています。もともと、mp3の楽曲データを大量に保管して困っていたようです。

そもそも「koel」とは、英語で鳥の種類を意味しています。さらにオランダ語には、クール(かっこいい)の意味があります。音楽をクールに楽しむことを意識していたのでしょうか。

今までのミュージックストリーミングサーバーとの違い

koelを動かすために「Laravel(ララベル)」が使われています。Laravelとは、PHPフレームワーク(枠組み)と呼ばれている「道具」の一つです。この道具を使えば、難しい操作も比較的簡単に実現できるようになります。
koelの最大の特徴は、この仕組みを使って進化していることです。ここが、他のミュージックストリーミングサーバーとの最大の違いではないでしょうか。

「koel」の導入方法

それでは「koel」を実際にインストールしていきましょう。前半は事前にインストールするソフトウェア(パッケージ)、後半は「koel」本体について解説しています。かなり長いですが、一つ一つはとてもシンプルです。なおこの検証は以下の環境で実施しました。

企業名 カゴヤ・ジャパン
プラン名 KAGOYA CLOUD VPS [KVM]
CPU 2コア
メモリー 2GB
ストレージ SSD 30GB
OSテンプレート Ubuntu16.04(64bit)
料金 日額35円/月額979円(税込価格)

事前にインストールが必要なソフトウェア(パッケージ)

多くのインストールが必要です。たとえ初めて聞くようなものでも、まずはコマンド通りに進めてみてください。必要に応じて、各機能や目的を確認すると応用可能です。

なお、Laravelはこちらの事前準備でインストールする必要はありません。以下の一連の作業を通して、Laravelが動作するように設定していきます。

一般ユーザー作成

まずは作業用の一般ユーザーを作成し、管理者権限を付与します。

xxxxxxxの部分が一般ユーザー名です。

ここからはソフトウェアのインストールや設定をしていきます。公開されている情報により、設定の順番は若干異なります。ここからは特に明記していない場合を除き、作成した一般ユーザーで作業をします。

システムの最新化

【コマンド】

設定に必要なソフトウェアのインストール

これらを省略すると、koelが正しく動きません。ご注意ください。

【コマンド】

Gitのインストール

【コマンド】

Node.jsのインストール

【コマンド】

Yarnのインストール

【コマンド】

PHPのインストール

【コマンド】

バージョン7.2をインストールします。バージョン5.xで動作する情報もありますが、可能な限り新しいPHPバージョンを選択しましょう。

MariaDBのインストールとkoel用データベースの作成

【コマンド】

上記のMariaDBインストール後に初期設定を行います。

【コマンド】

あとは画面の指示にそって進めます。続いてkoel用データベースを作成します。

【コマンド】

設定したパスワードを入力し画面が変わったら、以下の例のように入力します。

【コマンド】

上記は、データベース名(koel)、ユーザー名(koel)、パスワード(yyyyyyyy’)の例です。わかりやすく安全なものに変更します。

Nginx(Webサーバー)のインストールとkoel用設定ファイルの作成

【コマンド】

続いてkoel用設定ファイルを作成し、必要事項を入力してから保存します。以下には多く書かれていますが、一般的な内容がほとんどで、一部(赤字の部分)を差し替えるだけで、そのまま設定ファイルになります。

【コマンド】

上記にある「server_name koel.example.com;」の赤字の部分は、利用状況に合わせて変更します。今回の検証ではドメインではなく、IPアドレスにしています。

最後に有効化し、Nginxを再起動します。

【コマンド】

Composerのインストール

Koel本体のセットアップ方法

事前の準備作業に比べ、Koel本体のインストールや設定は比較的簡単です。

ファイアウォールでポートを開ける

koelは通常「8000」のポートを使用します。閉じている場合は以下のように設定します。

【コマンド】

【参考ページ】
カゴヤ・ジャパン サポートサイト「iptables の設定

koelの保管場所の設定とその場所への移動

【コマンド】

xxxxxxxの部分は、前項の冒頭で作成した一般ユーザーです。

koel本体のデータ入手

【コマンド】

v4.3.1の部分を最新のバージョンに変更して実行します。こちらのページにアクセスして、バージョンを確認しましょう。

koel本体の稼働(初回のみ)

【コマンド】

(注)php artisan serveについて
上記は手元のPCでkoelを利用する場合です。個人の利用でVPSなどを利用する場合は、以下のように「–host 0.0.0.0」を追加します。「0.0.0.0」の部分に、サーバーのIPアドレスを入れることができます。

【コマンド】

koelの保管場所の所有権の再設定

【コマンド】

設定ファイルの編集

【コマンド】

KoelにログインするためのID(メールアドレス)やパスワードなどを入力し保存します。これで基本設定は終了です。

koelにアクセスする

お使いのブラウザに「http://zzz.zzz.zzz.zzz:8000」と入力します。「zzz.zzz.zzz.zzz」には今回設置したサーバーのIPアドレス、「8000」はポート番号になります。すると以下のような画面が表示されたら成功です!

設定ファイル(「.env」ファイル)で編集したID(メールアドレス)やパスワードを入力しログインしましょう。

セットアップの注意点

公式サイトには必要最小限のコマンドしか記載されていないため、利用者は各種フトウェア(パッケージ)を都度インストールや設定をしなければなりません。その分作業量が増えています。筆者が検証時に気づいた点を以下まとめてみました。

SSHでの接続が切れるとkoelサイトに接続できなくなる!

「設定に必要なソフトウェアのインストール」の項目にあるように、以下のコマンドによって解消されます。

【コマンド】

「Yarn」は最新バージョンでは使えない?

そんなことはありません。これまで解説した作業を、順番にすれば大丈夫です。むしろ以前のバージョンではセキュリテイや動作上の問題があり、おすすめできません。

koelサーバーの公開は慎重に!

koelやWebサーバーの設定により、インターネット上に公開は可能になります。ストリーミングとはいえ、音楽データの公開には関連する法規を守り、著作者の権利を守ることが重要と考えます。

まとめ

ここまでいかがでしたか。koelでミュージックストリーミングサーバーを立てる手順をご紹介しました。

検証用として、すぐに利用開始できるカゴヤ・ジャパンのKAGOYA CLOUD VPSがおすすめです。ぜひ活用して簡単に、早くそしてクールに楽しみましょう。

なんでもできるVPS すぐにインスタンスの追加が可能!

高速でセキュアな環境で運用できるWordpressユーザー向けに特化したWordPress専用サーバー

人気記事ランキングトップ10

カテゴリ一覧

新着記事Pick Up!