最新のLaravelのバージョンは8.xなことはわかっています。私が新しいもの嫌いというわけでもありません。しかし、リリースされてからちょっと遅れて(1年近く経って)、Laravelのバージョン7.xのインストールの手順の紹介です。

バージョン

残念ながらバージョン7.xLTS(長期サポート)ではありません。以下に見ての通りに来月でサポートが切れてしまいます。前バージョンの6.xの方がLTSサポートなのでサポート終了はまだ先です。

上の表を見て気づきましたか? そうバージョンから、今までの半年に1回のメジャーバージョンの更新が1年に1回となります。Laravelも成熟してきたというのが理由らしいです。これで少しは追いつけるかな。

新規プロジェクトの作成

composerはすでにシステムにインストールされていると仮定して、以下のコマンドがl7xのディレクトリ名でLaravelをインストールします。

$ composer create-project --prefer-dist laravel/laravel:^7.0 l7x

ウェブサーバーなどが書き込みを行うディレクトリにはパーミッションが必要です。

$ cd l7x
$ chmod -R a+w storage bootstrap/cache

以下を実行して、

$ php artisan serve

ブラウザでhttp://localhost:8000にアクセスすると、ページを見ることができます。

必要なら、この時点でパージョン管理をするのも良いアイデアです。

$ cd l7x
$ git init
$ git add .
$ git commit -am "init"

ユーザー認証のパッケージ

Laravelではユーザー認証の機能が簡単にインストールできます。

まず、必要なパッケージのインストールから、

$ composer require laravel/ui "^2.0"

次に、以下を実行して会員登録画面やログイン画面などを作成します。boostrapだけでなく、vueやreactの指定も可能です。

$ php artisan ui bootstrap --auth

これにより以下のファイルが追加あるいは編集されています。

	new file:   app/Http/Controllers/Auth/ConfirmPasswordController.php
	new file:   app/Http/Controllers/Auth/ForgotPasswordController.php
	new file:   app/Http/Controllers/Auth/LoginController.php
	new file:   app/Http/Controllers/Auth/RegisterController.php
	new file:   app/Http/Controllers/Auth/ResetPasswordController.php
	new file:   app/Http/Controllers/Auth/VerificationController.php
	new file:   app/Http/Controllers/HomeController.php
	modified:   composer.json
	modified:   composer.lock
	modified:   package.json
	modified:   resources/js/bootstrap.js
	new file:   resources/sass/_variables.scss
	modified:   resources/sass/app.scss
	new file:   resources/views/auth/login.blade.php
	new file:   resources/views/auth/passwords/confirm.blade.php
	new file:   resources/views/auth/passwords/email.blade.php
	new file:   resources/views/auth/passwords/reset.blade.php
	new file:   resources/views/auth/register.blade.php
	new file:   resources/views/auth/verify.blade.php
	new file:   resources/views/home.blade.php
	new file:   resources/views/layouts/app.blade.php
	modified:   routes/web.php

今度は、javascriptやcssのトランスパイルのために、nodeのパッケージのインストールとwebpackの実行です。

$ npm install && npm run dev

次はDBの設定です。mysqlのコマンドを実行して、l7xのデータベースを作成します。

$ mysql -u root -p
mysql> create database l7x;

.envファイルを次のように編集してDB情報を入れます。

DB_DATABASE=l7x
DB_USERNAME=DBユーザー名
DB_PASSWORD=DBパスワード

以下のコマンドを実行してDBテーブルを作成します。

$ php artisan migrate

以下のように、4つのテーブルが作成されます。

mysql> show tables;
+-----------------+
| Tables_in_l7x   |
+-----------------+
| failed_jobs     |
| migrations      |
| password_resets |
| users           |
+-----------------+
4 rows in set (0.00 sec)

再度、ブラウザでhttp://localhost:8000/registerにアクセスします。

と入力して、「Register」ボタンをクリックすると、

新規会員登録成功です。

By khino