Laravel6.xのインストールと認証機能の追加とデータベースへの接続を確認し、ユーザの登録を行います。MAC環境でインストールを行なっています。

インストールしたLaravel Frameworkのバージョンは、6.3.0です。

2020年の3月3日にLaravel7がリリースされましたがLaravel6はLTS(Long Term Support)なので2022年9月3日までセキュリティフィックスが提供されます。

Laravelのインストール

LaravelをインストールするためにはComposerのインストールが必要です。Composerのインストールは下記を参考に行なってください。ComposerはPHPのパッケージを管理するパッケージマネージャです。

composerのインストールが完了したら、composerコマンドでlaravelのインストールを行います。


$ composer create-project --prefer-dist laravel/laravel laravel6

インストール完了後は、Laravelバージョンはphp artisanコマンドで確認することができます。


$ php artisan -V
Laravel Framework 6.3.0

php artisan serveコマンドを実行して開発用サーバを起動して、ブラウザでhttp://127.0.0.1:8000にアクセスすると下記の画面が表示されます。


$ php artisan serve
Laravel development server started: <http://127.0.0.1:8000>
Laravel6.0初期画面
Laravel6.0初期画面

この画面が表示されたらLaravelのインストールは正常に完了しています。

認証機能の設定+vueのインストール

ログインの認証機能を使用するためには、laravel/uiパッケージをインストールする必要があります。


$ composer require laravel/ui

次にphp artisan ui vue –authコマンドを実行するとログイン機能とvue.jsの設定も一緒にインストールされます。


 $ php artisan ui vue --auth
Vue scaffolding installed successfully.
Please run "npm install && npm run dev" to compile your fresh scaffolding.
Authentication scaffolding generated successfully.
フロントエンドにvue.jsではなくreactを使用したい場合はphp artisan ui react –authコマンドを実行します。
fukidashi

認証機能とvueをインストールしたらnpmコマンドを利用してJavaScriptライブラリのインストールとコンパイルを実行します。


 $ npm install && npm run dev
認証機能の追加にはLaravel5ではphp artisan make:authコマンドを使用していました。laravel6ではphp artisan ui:authコマンドがあります。このコマンドにより認証機能をインストールすることができますがログイン画面やユーザ露登録画面のCSSが適用されてない形で表示されます。
fukidashi

npm run dev実行後に再度ブラウザでアクセスすると右上にregisterとloginへのリンクが表示されます。php artisan serveコマンドで開発サーバの起動も忘れずに行っておいてください。

login, Registerリンクが表示
login, Registerリンクが表示

Registerをクリック後、下記の画面が表示されたら、もう一度手順を確認してください。npmコマンドの実行忘れの可能性があります。

CSS非適用の画面
CSS非適用の画面

データベースへの接続

認証機能の追加が完了したらユーザを登録するためのデータベースが必要になります。ここではsqliteデータベースを使用します。

touchコマンドでdatabaseディレクトリの下にdatabase.sqliteファイルを作成します。


$ touch database/database.sqlite

データベースへの接続ドライバを設定するために.envファイルを開きます。今回sqliteを使用するので、DB_CONNECTIONの値をsqliteにします。それ以外のDB関係のパラメータは削除してください。


DB_CONNECTION=sqlite

config¥database.phpファイルを開いてsqliteに関する設定を確認しておきます。database_pathのファイル名が先ほど作成したデータベースの名前と一致していることを確認します。


'connections' => [

    'sqlite' => [
        'driver' => 'sqlite',
        'url' => env('DATABASE_URL'),
        'database' => env('DB_DATABASE', database_path('database.sqlite')),
        'prefix' => '',
        'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
    ],

.envファイルの更新中php artisan serveコマンドでサーバを起動している場合は、php artisan config:clearコマンドを実施、キャッシュに残った環境情報を削除します。


$ php artisan config:clear
Configuration cache cleared!

php artisanコマンドを使用してユーザ情報を保存するusersテーブル等を作成します。


 $ php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated:  2019_08_19_000000_create_failed_jobs_table (0 seconds)

エラーが出力されない場合は、Laravelとデータベースとの接続が正常に動作しています。

ユーザの登録画面からユーザ登録を行います。

ユーザ登録画面
ユーザ登録画面

ユーザの登録が完了したら、以下の画面が表示されます。

ログイン完了後の画面
ログイン完了後の画面