Docker Laravel6のアプリにユーザ認証機能を付与する
目的
- 環境構築とLaravelアプリ作成後にユーザ認証の機能を付与する方法をまとめる。
実施環境
- ハードウェア環境
- ハードウェア環境
項目 | 情報 |
---|---|
OS | macOS Catalina(10.15.5) |
ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
プロセッサ | 2 GHz クアッドコアIntel Core i5 |
メモリ | 32 GB 3733 MHz LPDDR4 |
グラフィックス | Intel Iris Plus Graphics 1536 MB |
前提条件
- 下記の記事を参考にDockerを用いたLaravelアプリの作成が行われていること。
前提情報
- 特になし
読後感
- Laravelアプリにauthを用いたユーザ認証機能を付与することができる。
概要
- Dockerのphpコンテナに入る
- DBの作成と設定
- ライブラリのインストール
- Authファイルの取得
- 確認
詳細
-
Dockerのphpコンテナに入る
-
下記コマンドを実行してDockerの起動しているコンテナの一覧を表示する。
$ docker ps
-
PHPのコンテナを探し下記コマンドを実行する。
$ docker exec -it phpコンテナの名前 bash
-
Dockerコンテナ内で下記コマンドを実行してnginxのドキュメントルートに移動する。
$ cd /usr/share/nginx/html/app
-
DBの設定
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行して.envファイルを開く。
$ vi .env
-
DBの記載を下記の様に修正・追記を行う。
/usr/share/nginx/html/app/.env
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass
-
記載後の.envファイルの内容を下記に記載する。
/usr/share/nginx/html/app/.env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:3aQ51W/eAA0ICIpKCYhAygUc1SCWOcKBL9Sijrn8iOQ=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
-
ライブラリのインストール
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してライブラリを取得する。(ライブラリのバージョン指定1.*
を行わず実行するとエラーになる。バージョン指定をせずエラーになった話はこちら→Laravel 6 $ composer require laravel/uiを実行するとエラーが発生する)
$ composer require laravel/ui 1.*
-
Authファイルの取得
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してAuthに必要なファイルを取得する。
$ php artisan ui bootstrap --auth
-
Dockerコンテナ内で下記コマンド実行してnvmをインストールする。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
-
Dockerコンテナ内で下記コマンドを実行してnode.jsとyarnをインストールする。
$ . ~/.nvm/nvm.sh && nvm install node && npm i -g yarn
-
Dockerコンテナ内で下記コマンドを実行して必要なCSSファイルをインストールする。
$ npm install && npm run dev
-
確認
-
下記にアクセスし、Laravelのホーム画面が出力されることを確認する。
-
「REGISTER」をクリックする。
-
下記の画面が出力されることを確認する。
-
Dockerコンテナ内の/usr/share/nginx/html/app
ディレクトリに移動し下記コマンドを実行する。
$ php artisan migrate
-
各認証情報を入力し「Registar」をクリックする。
-
下記の様に初期登録とログインすることができればユーザ認証機能の付与は完了である。
参考文献
- 特になし
読後感
- Laravelアプリにauthを用いたユーザ認証機能を付与することができる。
概要
- Dockerのphpコンテナに入る
- DBの作成と設定
- ライブラリのインストール
- Authファイルの取得
- 確認
詳細
-
Dockerのphpコンテナに入る
-
下記コマンドを実行してDockerの起動しているコンテナの一覧を表示する。
$ docker ps
-
PHPのコンテナを探し下記コマンドを実行する。
$ docker exec -it phpコンテナの名前 bash
-
Dockerコンテナ内で下記コマンドを実行してnginxのドキュメントルートに移動する。
$ cd /usr/share/nginx/html/app
-
DBの設定
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行して.envファイルを開く。
$ vi .env
-
DBの記載を下記の様に修正・追記を行う。
/usr/share/nginx/html/app/.env
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass
-
記載後の.envファイルの内容を下記に記載する。
/usr/share/nginx/html/app/.env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:3aQ51W/eAA0ICIpKCYhAygUc1SCWOcKBL9Sijrn8iOQ=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
-
ライブラリのインストール
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してライブラリを取得する。(ライブラリのバージョン指定1.*
を行わず実行するとエラーになる。バージョン指定をせずエラーになった話はこちら→Laravel 6 $ composer require laravel/uiを実行するとエラーが発生する)
$ composer require laravel/ui 1.*
-
Authファイルの取得
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してAuthに必要なファイルを取得する。
$ php artisan ui bootstrap --auth
-
Dockerコンテナ内で下記コマンド実行してnvmをインストールする。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
-
Dockerコンテナ内で下記コマンドを実行してnode.jsとyarnをインストールする。
$ . ~/.nvm/nvm.sh && nvm install node && npm i -g yarn
-
Dockerコンテナ内で下記コマンドを実行して必要なCSSファイルをインストールする。
$ npm install && npm run dev
-
確認
-
下記にアクセスし、Laravelのホーム画面が出力されることを確認する。
-
「REGISTER」をクリックする。
-
下記の画面が出力されることを確認する。
-
Dockerコンテナ内の/usr/share/nginx/html/app
ディレクトリに移動し下記コマンドを実行する。
$ php artisan migrate
-
各認証情報を入力し「Registar」をクリックする。
-
下記の様に初期登録とログインすることができればユーザ認証機能の付与は完了である。
参考文献
- Dockerのphpコンテナに入る
- DBの作成と設定
- ライブラリのインストール
- Authファイルの取得
- 確認
詳細
-
Dockerのphpコンテナに入る
-
下記コマンドを実行してDockerの起動しているコンテナの一覧を表示する。
$ docker ps
-
PHPのコンテナを探し下記コマンドを実行する。
$ docker exec -it phpコンテナの名前 bash
-
Dockerコンテナ内で下記コマンドを実行してnginxのドキュメントルートに移動する。
$ cd /usr/share/nginx/html/app
-
DBの設定
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行して.envファイルを開く。
$ vi .env
-
DBの記載を下記の様に修正・追記を行う。
/usr/share/nginx/html/app/.env
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass
-
記載後の.envファイルの内容を下記に記載する。
/usr/share/nginx/html/app/.env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:3aQ51W/eAA0ICIpKCYhAygUc1SCWOcKBL9Sijrn8iOQ=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=larapass
BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
-
ライブラリのインストール
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してライブラリを取得する。(ライブラリのバージョン指定1.*
を行わず実行するとエラーになる。バージョン指定をせずエラーになった話はこちら→Laravel 6 $ composer require laravel/uiを実行するとエラーが発生する)
$ composer require laravel/ui 1.*
-
Authファイルの取得
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してAuthに必要なファイルを取得する。
$ php artisan ui bootstrap --auth
-
Dockerコンテナ内で下記コマンド実行してnvmをインストールする。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
-
Dockerコンテナ内で下記コマンドを実行してnode.jsとyarnをインストールする。
$ . ~/.nvm/nvm.sh && nvm install node && npm i -g yarn
-
Dockerコンテナ内で下記コマンドを実行して必要なCSSファイルをインストールする。
$ npm install && npm run dev
-
確認
-
下記にアクセスし、Laravelのホーム画面が出力されることを確認する。
-
「REGISTER」をクリックする。
-
下記の画面が出力されることを確認する。
-
Dockerコンテナ内の/usr/share/nginx/html/app
ディレクトリに移動し下記コマンドを実行する。
$ php artisan migrate
-
各認証情報を入力し「Registar」をクリックする。
-
下記の様に初期登録とログインすることができればユーザ認証機能の付与は完了である。
参考文献
Dockerのphpコンテナに入る
-
下記コマンドを実行してDockerの起動しているコンテナの一覧を表示する。
$ docker ps
-
PHPのコンテナを探し下記コマンドを実行する。
$ docker exec -it phpコンテナの名前 bash
-
Dockerコンテナ内で下記コマンドを実行してnginxのドキュメントルートに移動する。
$ cd /usr/share/nginx/html/app
DBの設定
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行して.envファイルを開く。
$ vi .env
-
DBの記載を下記の様に修正・追記を行う。
/usr/share/nginx/html/app/.envDB_CONNECTION=mysql DB_HOST=mariadb DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=laravel DB_PASSWORD=larapass
-
記載後の.envファイルの内容を下記に記載する。
/usr/share/nginx/html/app/.envAPP_NAME=Laravel APP_ENV=local APP_KEY=base64:3aQ51W/eAA0ICIpKCYhAygUc1SCWOcKBL9Sijrn8iOQ= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=mariadb DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=laravel DB_PASSWORD=larapass BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
ライブラリのインストール
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してライブラリを取得する。(ライブラリのバージョン指定
1.*
を行わず実行するとエラーになる。バージョン指定をせずエラーになった話はこちら→Laravel 6 $ composer require laravel/uiを実行するとエラーが発生する)$ composer require laravel/ui 1.*
Authファイルの取得
-
Dockerコンテナ内のappディレクトリで下記コマンドを実行してAuthに必要なファイルを取得する。
$ php artisan ui bootstrap --auth
-
Dockerコンテナ内で下記コマンド実行してnvmをインストールする。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
-
Dockerコンテナ内で下記コマンドを実行してnode.jsとyarnをインストールする。
$ . ~/.nvm/nvm.sh && nvm install node && npm i -g yarn
-
Dockerコンテナ内で下記コマンドを実行して必要なCSSファイルをインストールする。
$ npm install && npm run dev
確認
-
下記にアクセスし、Laravelのホーム画面が出力されることを確認する。
-
「REGISTER」をクリックする。
-
下記の画面が出力されることを確認する。
-
Dockerコンテナ内の
/usr/share/nginx/html/app
ディレクトリに移動し下記コマンドを実行する。$ php artisan migrate
-
各認証情報を入力し「Registar」をクリックする。
-
下記の様に初期登録とログインすることができればユーザ認証機能の付与は完了である。
Author And Source
この問題について(Docker Laravel6のアプリにユーザ認証機能を付与する), 我々は、より多くの情報をここで見つけました https://qiita.com/miriwo/items/b596626ed22fb3d6259f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .