Edited at

Welcome to Laravel Voyager

More than 1 year has passed since last update.

この記事はオールアバウトアドベントカレンダー 7日目の記事になります。


Laravel Voyagerとは

https://the-control-group.github.io/voyager/

VoyagerはLaravelのAdmin PackageでBREAD(CRUD)操作やメニュービルダー、メディアマネージャなどの機能を持っています。

WordPressやConcrete5などのCMSの管理画面のPackageだとイメージするとわかりやすいでしょう。


Laravelの準備


インストール

LaravelのAdmin PackageなのでまずはLaravelをインストールしましょう。

Laravel5.3インストール

のCreate Projectに従って以下のコマンドでLaravelをインストールしてみました。

$ composer create-project --prefer-dist laravel/laravel voyager

Installing laravel/laravel (v5.3.16)
- Installing laravel/laravel (v5.3.16)
Downloading: 100%

Created project in voyager
> php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing vlucas/phpdotenv (v2.4.0)
Loading from cache
---
中略
---
> php artisan key:generate
Application key [] set successfully.

これでコマンドを実行したディレクトリを見るとLaravelがインストールされていることがわかります。


Apache/ DB等の設定

ちょうど手元にApache/MySQLDBがあったのでそれを使用するようにApacheの設定等をしました。

Apache自体の設定方法はこの記事では省略します。


envの変更

envを適宜変更します。今回はAPP_URLとDB_HOST/DATA_BASEなどを設定します。

APP_URL=http://ytakky-voyager.com

DB_CONNECTION=mysql
DB_HOST=aaa.bbb.ccc.ddd
DB_PORT=3306
DB_DATABASE=voyager
DB_USERNAME=user
DB_PASSWORD=password

※記事内のDBのユーザとPassはサンプル用に適当にセットしたものなので適宜変更しましょう。


パーミッション設定

Laravel5.3ではstorageとbootstrap/cacheに書き込み権限が必要なのでパーミッションを変更しておきます。


接続確認

一旦これで、設定したAPP_URLに接続してみると (必要あれば/etc/hostsを変更して名前解決させると) Laravelのデフォルト画面が出てくると思います。


voyagerの準備


インストール

次にvoyagerをインストールしてみましょう。

基本的には

https://github.com/the-control-group/voyager

通りにコマンドを実行していけばよいです。

以下のコマンドを実行します。

composer require tcg/voyager


config/app.phpのproviders追加

config/app.phpのproviders部分に以下を追加します

    TCG\Voyager\VoyagerServiceProvider::class,


artisanコマンド実行

php artisan voyager:install

を実行します。


パーミッション設定

voyager install後にstorage/app配下にディレクトリが作られるようなのでもう一度パーミッションを変更しておきます。


確認

右上にLOGIN REGISTERが追加されていればvoyagerのインストールが完了です。


Adminページへのログイン

http://[host]/admin/login

へアクセスします。

adminページへのログインページが表示されます。

デフォルトのemail/passwordは以下ページの最下部にあるので、それでログインします.

https://github.com/the-control-group/voyager

するとdashboardが表示されます。


いろいろいじってみる


記事のpost

SEO対策のカラムがデフォルトであるので便利そう




ハマりどころ


PHPのバージョン

voyagerはLaravel5.3が必要でLaravel5.3はPHP5.6.4以上が必要です。

最初5.5環境で行っていたのでインストールできずにハマっていました。

今回はPHP7環境で動作確認しています。


Laravel5.3はカスタマイズしてはいけない。

本記事ではLaravelのインストールから行っていたのではまらないのですが、

いらないだろうと思いLaravelインストール後にdatabase/migrationsやdatabase/seedsのファイルを削除してしまうと、voyager install時の migrateでコケます。

voyagerではLaravel5.3に実装済みの2014_10_12_000000_create_users_table.php

などの実行も想定しているため消すとコケるのでむやみなLaravelのカスタマイズはやめておいたほうがいいです。


まとめ

今回はLaravel Voyagerを試してみました。

Laravelのインストールから行えば問題ないので、20分ぐらいで環境構築が可能です。

まだ、バージョンが0.9.34なのでプロダクションで導入するのはまだ厳しそうですが

個人的なプロジェクトを作るときに管理画面側をこれを使用するのはいいと思います。