LoginSignup
9
10

More than 5 years have passed since last update.

laravel-5-boilerplateのインストール

Last updated at Posted at 2015-08-27

laravel-5-boilerplateとは

機能のGitHabのreadmeに詳細が書いてあります
https://github.com/rappasoft/laravel-5-boilerplate
今回はロール・パーミッション認証とOAuth認証を実装するために利用しました

ロール・パーミッション認証については以下のサイトを参考にしました
http://kore1server.com/161

また、OAuthのみを実装したい場合はこちらのサービスプロバイダーを利用するのもよい
https://github.com/oriceon/oauth-5-laravel

インストール

アプリケーションディレクトリに移動

git clone https://github.com/rappasoft/laravel-5-boilerplate.git
composer install
npm install
cp .env.example .env
php artisan key:generate

データベースの設定を.envに書き込む

DB_HOST=localhost
DB_DATABASE=laravel
DB_USERNAME=homestead
DB_PASSWORD=secret

migrationとseedingを実行

php artisan migrate
php artisan db:seed

storage/のパーミッションがおかしい時は

chmod -R 777 storage

php-mcryptでエラーが出るのでconfig/app.phpを編集

'cipher' => MCRYPT_RIJNDAEL_128,
'cipher' => 'AES-256-CBC',

これでトップ画面にアクセスできるようになると思います

スクリーンショット 2015-08-28 00.13.40.png

初期ユーザーはdatabase/seeds/Access/UserTableSeeder.phpで確認できます。

<?php

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon as Carbon;

class UserTableSeeder extends Seeder {

    public function run() {

        if(env('DB_DRIVER') == 'mysql')
       //①データベースの外部キー制約を解除
            DB::statement('SET FOREIGN_KEY_CHECKS=0;');

        if(env('DB_DRIVER') == 'mysql')
       //②テーブルの中身を全削除
            DB::table(config('auth.table'))->truncate();
        else //For PostgreSQL or anything else
            DB::statement("TRUNCATE TABLE ".config('auth.table')." CASCADE");

        //Add the master administrator, user id of 1
        $users = [
            [
                'name' => 'Admin Istrator',
                'email' => 'admin@admin.com',
                'password' => bcrypt('1234'),
                'confirmation_code' => md5(uniqid(mt_rand(), true)),
                'confirmed' => true,
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now()
            ],
            [
                'name' => 'Default User',
                'email' => 'user@user.com',
                'password' => bcrypt('1234'),
                'confirmation_code' => md5(uniqid(mt_rand(), true)),
                'confirmed' => true,
                'created_at' => Carbon::now(),
                'updated_at' => Carbon::now()
            ],
        ];

        DB::table(config('auth.table'))->insert($users);

        if(env('DB_DRIVER') == 'mysql')
       //①データベースの外部キー制約を設定
            DB::statement('SET FOREIGN_KEY_CHECKS=1;');
    }
}

①外部キー制約に引っかかってテーブルが削除できないときの対策

DB::statement('');                           //直接Queryを実行

DB::statement('SET FOREIGN_KEY_CHECKS=0;');     //外部キー制約無効
DB::statement('SET FOREIGN_KEY_CHECKS=1;');     //外部キー制約有効

②TRUNCATE TABLE命令は全行削除の機能しか持っていないため、テーブルのレコードを記録する領域(データページ)の割り当てを解除して一気にレコードを消滅させます。従って、TRUNCATE TABLEの方がDELETEより高速に削除できます。

seedingを確認すると初期ユーザーは
use@user.comadimin@admin.com
パスワードは共に1234だとわかります

実際にログイン出来ることが確認できます

スクリーンショット 2015-08-28 02.56.21.png

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10