koel は、パーソナルオーディオストリーミングサービスになります。
Laravel と Vue.js (ES6) をベースに作成されており、おもしろそうなサービスでしたのでローカルで立ち上げてみます。
Contents
koel
Composerのインストール
1 2 |
$ sudo su - # curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer |
node.js のインストール
node.js については下記をご参照ください。
http://vistylee.com/node-js-server-side-javascript/
プロジェクトの準備
1 2 3 4 5 |
$ git clone https://github.com/phanan/koel.git $ cd koel $ sudo npm install -g npm $ sudo npm install $ composer install |
Laravel の .env ファイル生成
値は仮です。いったんベースから .env をコピーして値を変更します。変更箇所を分り易くする為、sed で置換していますが、直接編集でかまいません。
1 2 3 4 5 6 7 8 9 |
$ php -r "copy('.env.example', '.env');" $ sed -i 's/ADMIN_EMAIL=/ADMIN_EMAIL=admin@localhost/g' .env $ sed -i 's/ADMIN_NAME=/ADMIN_NAME=admin/g' .env $ sed -i 's/ADMIN_PASSWORD=/ADMIN_PASSWORD=admin-pass/g' .env $ sed -i 's/DB_CONNECTION=/DB_CONNECTION=mysql/g' .env $ sed -i 's/DB_HOST=/DB_HOST=127.0.0.1/g' .env $ sed -i 's/DB_DATABASE=homestead/DB_DATABASE=koel/g' .env $ sed -i 's/DB_USERNAME=homestead/DB_USERNAME=koel-db-user/g' .env $ sed -i 's/DB_PASSWORD=secret/DB_PASSWORD=koel-pass/g' .env |
データベースの準備
koel 用の DB とユーザーを用意します。
1 2 3 4 5 |
$ mysql -u ユーザー -p Enter password: mysql> CREATE DATABASE koel DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; mysql> CREATE USER 'koel'@'localhost' IDENTIFIED BY 'koel-pass'; mysql> GRANT ALL PRIVILEGES ON koel.* TO 'koel-db-user'@'localhost' WITH GRANT OPTION; |
初期化
DBの環境ファイルをセットできたら、artisan で koel の構成を用意します。
マイグレーションされ、テーブル構成ができあがります。
1 |
$ php artisan koel:init |
サーバー
既にサーバー内でセットしている場合は必要ありませんが、artisan で簡易にサーバーを立てることもできます。
1 |
$ php artisan serve |
エラー
yarn が入っていなかった為、koel:init で yarn の処理が飛ばされ、mix-manifest.json が生成されてなかったようです。yarn をインストールして再度実行します。
1 |
file_get_contents(/var/www/local.localhostcom/public/public/mix-manifest.json): failed to open stream: No such file or directory (View: /var/www/local.localhostcom/public/resources/views/index.blade.php) |
yarn のインストール
1 2 3 |
$ sudo 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-get update && sudo apt-get install yarn |
再度、初期化
再度エラーが表示されます。どうやら webpack の実行でエラーとなっているようです。
1 |
$ php artisan koel:init |
assets
git clone する際に --recursive
オプションをつけ忘れて、
master ブランチを clone すると assets ディレクトリの中身が空になっているので、注意が必要です。
github 上で追っていくと、koel / core のリポジトリにリンクされていましたので、こちらを別途追加します。
あるいは、下記でサブモジュールを追加します。
1 |
git submodule update --init --recursive |
再々度、初期化
これで、webpack も最後まで実行でき、css ファイルも生成されましたので、動作させることができました。
1 |
$ php artisan koel:init |
確認
まとめ
koel:init 時に yarn がインストールされていることを確認した上で実行する必要があります。
また、ログをしっかり見ないと、エラーを見落としやすいですので、実行結果を確認することは重要ですね。
構築時に指定したメールアドレスと、パスワードでログインできます。
良いですね。いろいろ試してみようと思います。
興味ありましたら、下記リンクからでも確認できます。