Laravel5.5 「 Voyager 」で簡単に管理画面作成（インストール メモ）1


#ここからLaravel&Voyagerをインストール

##前提条件
- Laravel５．５が入る環境がすでに用意されてること
- DB名を定義し、DBを作成しておくこと（.envのDB設定で記述するため）
- ※ Local環境（MAMP/MAC）で検証しています。
- **Voyagerをインストールすると以下のような管理画面**が簡単に作成できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104530/14baed86-a49b-1e9d-25c3-e77854485ad7.png)

##１．Laravelインストール 
一度インストールしていれば２回目は必要ない
`composer global require "laravel/installer"`

##２．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:/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`

##7. 通常のインストール完了！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104530/3721190b-0eae-f4b8-1370-b8ddb0447dbd.png)

http://localhost で確認 ( 環境によってアドレス違うかも )

###　　




#Voyagerインストール
<img width="1429" alt="Admin_-_Voyager.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104530/2db7c99a-b2f5-e454-e1ff-b975982bd2f4.jpeg">
#####１． 
`composer require tcg/voyager →　コケるけどOK（composer.jsonに書き込まれる）`

#####２． 
`composer update`

#####３． Voyagerをインストール
`php artisan voyager:install --with-dummy`

#####4. インストールj完了確認
http://localhost/admin
　ID:   admin@admin.com
　pw:  password

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104530/14baed86-a49b-1e9d-25c3-e77854485ad7.png)


# voyageの一般USER・管理USERの切り分け設定
###1. ".env"設定変更(一番下の行くらいに追加)
```php:.env

//以下を最下部に追記
SESSION_COOKIE=auth
SESSION_COOKIE_ADMIN=auth-admin
```

###2. /config/session.php(２行目くらいに追加)

```php:/config/session.php
<?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(２行目くらいに追加)

```php:/config/auth.php
<?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」との違いを確認しましょう。
<img width="1428" alt="Voyager_-_Welcome_to_Voyager__The_Missing_Admin_for_Laravel.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104530/1ffc6836-98b9-89d0-6f6a-f33cb653a92b.jpeg">

<img width="1424" alt="Viewing_Users.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104530/29c32aa8-f539-9a13-dc6d-04a43c621ff6.jpeg">

#### ログイン画面

http://localhost/admin



##### まだ追加作成途中で、随時更新して行きます。