Nuxt.js(Vue.js)をフロントに使ったメール認証の仕組みを作ります。
サーバ側は何でもいいのですが、利用者が多いと思われるLaravelを使います。
Laravelには管理ツールとしてLaravel−adminを利用してデータのメンテナンスができるようにします。
フロント(Nuxt.js)とバックエンド(Laravel)間の通信はJWTを利用して行います。
想定しているサーバ側の環境としてはCentos(Aws:AmazonLinux)などのLinuxOSを考えていますが、開発環境としてはMacのValet上に作成します。(Mac以外の場合の方法についてもさほど変わらないと思いますが検証はしていません)
環境としては
- OS:MacOS(リリース時はCentOSまたはAmazonLinux2)
- PHP: Version7.3
- Database:Mariadb10.4.6
バックエンドサーバの作成
Composerを最新の状態に更新します。
[bash]
% composer self-update
[/bash]
ここではMacのValet上にLaravel6系の最新版を導入します。
プロジェクト名は「backend」としました。
※2020-05-06日現在のVersion6系の最新はv6.18.8となっています。
[bash]
% composer create-project –prefer-dist laravel/laravel backend "6.*"
[/bash]
DataBase設定
[bash]
% mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 66
Server version: 10.4.6-MariaDB Homebrew
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]>
[/bash]
データベース作成
[bash]
MariaDB [(none)]> create database backend char set=utf8mb4;
Query OK, 1 row affected (0.003 sec)
MariaDB [(none)]>
[/bash]
Laravelの.env設定
.env
[php]
APP_NAME=backend
// …
APP_URL=http://backend.test
// …
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=backend
DB_USERNAME=root
DB_PASSWORD=password
// …
[/php]
Laravelの日本語対応
config/app.php
[php]
‘timezone’ => ‘Asia/Tokyo’,
‘locale’ => ‘ja’,
[/php]
マイグレーションの実行
[bash]
% php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (0.03 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (0.02 seconds)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (0.01 seconds)
[/bash]
ブラウザでの動作確認
このロゴが表示されればLaravelの導入は完了です。
コメント