本文書ではLaravel7.Xのインストールと認証機能の追加、データベースへの接続、ユーザの登録を確認しMACにLaravel環境を構築します。

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

Laravelのインストール

Laravelをインストールするためには、composer, Node.js等のインストールが必要になります。またPHPのバージョンは 7.2.5である必要があります。


 $ php --version
PHP 7.2.29 (cli) (built: Dec  13 2019 19:21:21) ( NTS )

composerとNode.jsがインストールされていない場合は下記の文書が参考になります。

composerコマンドを使ってlaravelのインストールを行います。ここではインストールディレクトリをlaravel7としていますが任意の名前を設定してください。


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

インストール完了後、インストールディレクトリlaravel7に移動してインストールしたLaravelのバージョンを確認します。


 $ cd laravel7
 $ php artisan -V
Laravel Framework 7.6.2

Laravel開発サーバの起動を行います。


 $ php artisan serve
Laravel development server started: http://127.0.0.1:8000

ブラウザを起動してhttp://127.0.0.1:8000にアクセスして下記の画面が表示されたらLaravel7のインストールは正常に完了しています。

Laravelインストール直後の画面
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.

フロントエンドに利用するフレームワークによってコマンドが異なります。利用したフレームワークによってコマンドを変更してください。ユーザ登録やログインが必要ない場合は–authをつけず実行してください。


 $ php artisan ui bootstrap --auth
 $ php artisan ui vue --auth
 $ php artisan ui react --auth

再度ブラウザでhttp://127.0.0.1:8000にアクセスすると右上にLoginとRegisterのリンクが貼られていることが確認できます。

Login, Register画面へのリンク
Login, Register画面へのリンク

JavaScriptのパッケージをインストールしてコンパイルするために以下のコマンドを実行してください。


 $ npm install && npm run dev

データベースへの接続

認証画面の追加、JavaScriptの初期設定が完了したのでデータベースを作成し、Laravelからデータベースへの接続方法を確認します。

簡易的に利用できるSQLiteデータベースを利用します。

インストールディレクトリlaravel7の直下でtouchコマンドを利用してdatabase.sqliteファイルを作成します。


 $ touch database/database.sqlite
SQLiteのデフォルトのデータベースファイル名がdatabase.sqliteに設定されているためdatabase.sqliteファイルを作成しています。名前を変更した場合はconfig¥database.php内のsqliteの設定でファイル名を変更する必要があります。
fukidashi

データベースへの接続設定を.envファイルで行います。.envファイルのデフォルトはMySQLデータベースの接続を前提に設定されています。データベースに関するパラメータはデフォルトでは下記のように設定されています。


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

SQLiteデータベースではDB_CONNECTIONのみ必要となるので更新すると下記のようになります。


DB_CONNECTION=sqlite

これでSQLiteデータベースに関する設定は完了です。

テーブルの作成

データベースを作成したので次はテーブルの作成になりますが、Laravelでは事前に認証に利用するusersテーブルを含め事前にテーブル作成用の情報が準備されています。保存先はdatabase¥migrationsの下です。users, passwords, failed_jobsの3つのテーブルに関するファイルです。Laravelではそれらのファイルをマイグレーションファイルと呼び、php artisan migrateコマンドを実行するとそのファイルの情報に沿ってデータベースにテーブルが作成されます。

Laravelのインストールディレクトリ直下で実行し、正常に完了するとメッセージにtable created successfully(テーブルの作成は成功しました)が表示されます。


 $ 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)
もしエラーが発生した場合は.envファイルのDB_CONNECTIONの設定値、またdatabaseディレクトリにdatabase.sqliteファイルが作成されているか確認してください。
fukidashi

ユーザの登録

データベースへのテーブルの作成が完了するとユーザの登録を行うことができます。php artisan serveコマンドで開発サーバを起動してブラウザでアクセスし、右上のREGISTERをクリックしてください。

Login, Register画面へのリンク
Login, Register画面へのリンク

ユーザ登録画面が表示されるので登録フォームに情報を入力してRegisterボタンをクリックしてください。

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

ユーザ登録が完了するとログインが自動で行われ下記の画面が表示されます。

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

Laravelインストール後にユーザの登録やログインができることが確認できたのでここから個別のWEBアプリケーションを作成していくことになります。