#ここからLaravel&Voyagerをインストール
##前提条件
- Laravel5.5が入る環境がすでに用意されてること
- DB名を定義し、DBを作成しておくこと(.envのDB設定で記述するため)
- ※ Local環境(MAMP/MAC)で検証しています。
-
Voyagerをインストールすると以下のような管理画面が簡単に作成できます。
##1.Laravelインストール
一度インストールしていれば2回目は必要ない
composer global require "laravel/installer"
##2.Laravel5.5.*をフォルダを作成して設置
composer create-project laravel/laravel フォルダ名 5.5.* --prefer-dist
##3..envファイルの設定
.envがない場合
#####1) .env.exampleをコピー → .env を作成
#####2) .env : DB設定
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=自分で作成したDB名
DB_USERNAME=root
DB_PASSWORD=root
#####3) keyを生成(.envに自動で挿入される)
php artisan key:generate
##4 /app/Providers/AppServiceProvider.php ファイルを修正
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; //この行を追加
public function boot() {
//
Schema::defaultStringLength(191); //この行を追加
}
...
##5. 標準のログイン画面を生成
php artisan make:auth
##6. テーブルを作成(auth関連)
php artisan migrate
http://localhost で確認 ( 環境によってアドレス違うかも )
###
#Voyagerインストール
#####1.
composer require tcg/voyager → コケるけどOK(composer.jsonに書き込まれる)
#####2.
composer update
#####3. Voyagerをインストール
php artisan voyager:install --with-dummy
#####4. インストールj完了確認
http://localhost/admin
ID: admin@admin.com
pw: password
voyageの一般USER・管理USERの切り分け設定
###1. ".env"設定変更(一番下の行くらいに追加)
//以下を最下部に追記
SESSION_COOKIE=auth
SESSION_COOKIE_ADMIN=auth-admin
###2. /config/session.php(2行目くらいに追加)
<?php
//--------------------------------------
//先頭に追加: 管理画面のセッションクッキー変更
//--------------------------------------
$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
if (strpos($uri, '/admin/') === 0 || $uri === '/admin') {
$conf['cookie'] = env(
'SESSION_COOKIE_ADMIN',
str_slug(env('APP_NAME', 'laravel'), '_').'_admin_session'
);
}
//--------------------------------------
return [
...
###3. /config/auth.php(2行目くらいに追加)
<?php
//--------------------------------------
//先頭に追加: 管理画面では、デフォルト認証ガードをuserに変更
//--------------------------------------
$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
if (strpos($uri, '/admin/') === 0 || $uri === '/admin') {
$conf['defaults'] = [
'guard' => 'web',
'passwords' => 'users',
];
}
//--------------------------------------
return [
...
###4. 「Normal User」を追加して「Administorator」との違いを確認しましょう。
ログイン画面