Help us understand the problem. What is going on with this article?

Welcome to Laravel Voyager

More than 3 years have 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のデフォルト画面が出てくると思います。

スクリーンショット 2016-12-05 15.09.41.png

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配下にディレクトリが作られるようなのでもう一度パーミッションを変更しておきます。

確認

スクリーンショット 2016-12-05 14.43.37.png

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

Adminページへのログイン

http://[host]/admin/login
へアクセスします。

スクリーンショット 2016-12-05 14.48.23.png

adminページへのログインページが表示されます。
デフォルトのemail/passwordは以下ページの最下部にあるので、それでログインします.
https://github.com/the-control-group/voyager

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

スクリーンショット 2016-12-05 15.16.06.png

いろいろいじってみる

記事のpost

SEO対策のカラムがデフォルトであるので便利そう
スクリーンショット 2016-12-05 15.31.29.png
スクリーンショット 2016-12-05 15.31.39.png

ハマりどころ

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なのでプロダクションで導入するのはまだ厳しそうですが
個人的なプロジェクトを作るときに管理画面側をこれを使用するのはいいと思います。

takky
Docker/GKE/GCP/dataflow/wercker/PHP/Laravel/DevOps/Golang
bengo4
「専門家をもっと身近に」を理念として、人々と専門家をつなぐポータルサイト「弁護士ドットコム」「弁護士ドットコムニュース」「税理士ドットコム」を提供。
https://corporate.bengo4.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした