この記事はオールアバウトアドベントカレンダー 7日目の記事になります。
Laravel 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
ハマりどころ
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なのでプロダクションで導入するのはまだ厳しそうですが
個人的なプロジェクトを作るときに管理画面側をこれを使用するのはいいと思います。