ローカル環境はLaradockを利用して開発します。
最終的には以下のような構成になります。
/(任意の名前)
|-- laradock
|-- laravel
1.Dockerをインストールする
2.Laradockの入手
$ mkdir 任意のディレクトリ
$ cd 任意のディレクトリ
$ git clone https://github.com/LaraDock/laradock.git
$ cd laradock
3.laradockの設定ファイルの編集
最初にenv.exampleファイルをコピーして.envファイルを作成します。この.envファイルに環境構築時の設定情報を書き込んでいく。
$ cp env-example .env
DATAの保存する場所を変更する。標準の設定だとルートディレクトリの配下にファイルが永続化されている。
任意のディレクトリ配下のlaradockディレクトリにファイルを保存するように変更します。
# .env
# Choose storage path on your machine. For all storage systems
- DATA_PATH_HOST=~/.laradock/data
+ DATA_PATH_HOST=.laradock/data
続いて、MYSQLの設定をしていく。
# .env
### MYSQL #################################################
MYSQL_VERSION=5.7 # versionを固定
MYSQL_DATABASE=homestead1 #データベース名を変更
MYSQL_USER=homestead1 #ユーザー名を変更
MYSQL_PASSWORD=hogehoge #パスワードを変更
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
4.Dockerコンテナを起動する。
$ docker-compose up -d nginx mysql phpmyadmin
5.composerをインストールする
laradockのディレクトリ内に移動して、workspaceのbashにログインする
$ docker-compose exec --user=laradock workspace bash
$ cd training-laravel
$ composer install
6 laravelの.envの編集
laravelの.envに以下を貼り付ける
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=homestead1
DB_USERNAME=homestead1
DB_PASSWORD=hogehoge
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
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}"
7.APP_KEYの生成と初回のマイグレーションを実行
$ docker-compose exec workspace php artisan migrate
$ docker-compose exec workspace php artisan key:generate