Mac OSでLaravel開発環境を作る時に、サクッと作るための手順を
メモという簡単なかたちですが、残しておきます。
今後のために役立てれば幸いです。
1. Laravelのインストール
curl -s "https://laravel.build/example-dir?php=83" | bash
※ "example-dir"の部分は、プロジェクト名など、任意のディレクトリ名を入れます。
2. Sailコマンドのエイリアス設定
./vendor/bin/sail up -d など、起動コマンドのパスを毎回入力するのは面倒なので、エイリアスを設定します。
2-1. シェルの設定ファイルを開く
vim ~/.zshrc
2-2. エイリアスを入力し、保存する
alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'
2-3. エイリアス変更を反映する
source ~/.zshrc
3. タイムゾーン設定
3-1. Dockerfileの設定ファイルを生成
sail up -d
sail artisan sail:publish
3-2. docker-compose.ymlを開き、PHPバージョンを確認する
version: '3'
services:
laravel.test:
build:
context: ./docker/8.3 ←←←【確認】
dockerfile: Dockerfile
※ここでは、PHPのバージョンは8.3。
3-3. Dockerfileを開き、タイムゾーンを変更
docker-compose.ymlで指定しているPHPのバージョンのフォルダにあるDockerfileを開き、タイムゾーンを変更します。
(例 /docker/8.3/Dockerfile)
ENV TZ='Asia/Tokyo'
3-4. Dockerを再ビルド
sail build --no-cache
4. MYSQLの文字コードを変更
Dockerfileと同じ階層に「my.cnf」を新規作成し、以下の内容を記述します。
(例 /docker/8.3/my.cnf)
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_bin
[client]
default-character-set = utf8mb4
docker-compose.ymlの mysql内 volumesの項目に、
'./docker/8.3/my.cnf:/etc/my.cnf' を追記します。
mysql:
image: 'mysql/mysql-server:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_ROOT_HOST: '%'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 1
volumes:
- 'sail-mysql:/var/lib/mysql'
- './docker/8.3/my.cnf:/etc/my.cnf' ←←←【追記】
5. アプリケーションコンテナを起動する
Dockerのアプリケーションコンテナを起動します。
sail up -d
以上、ざっくりとですが、Mac OSでLaravel開発環境を構築する手順でした。