西村 祐真
@variant3a
Laradockを利用したLaravel環境構築
2022-06-09
views: 366
はじめに
ここではLaradockを利用したLaravelの環境構築の手順を記す。
前提条件
- Docker Desktopがインストールされていること
- WindowsではWSL2をオフにした方が動作が速い
- MacではgRPC FUSEをオンにした方が動作が速い
2022/2~ Docker有料化に注意すること: 従業員250人以上 or 売上利益1000万ドル以上で有料
忙しい人の為のLaradock構築手順
- {project} >
git clone https://github.com/Laradock/laradock.git
git clone {プロジェクト@SSH}
- {project}/laravel >
- .env設定
- {project}/laradock >
- nginx設定
- mysql設定
- .env設定
docker-compose up -d mysql nginx workspace
docker-compose exec --user=laradock workspace bash
- workspace内 /var/www/laravel$
composer update
php artisan migrate
php artisan db:seed
php artisan key:generate
npm i
npm run dev
詳細な手順
フォルダの配置
プロジェクトフォルダ内の階層構造をこんな感じにする
{プロジェクト名}
├ laradock
└ laravel
プロジェクトフォルダの作成
mkdir {プロジェクト名}
cd {プロジェクト名}
Laradock配置
git clone https://github.com/Laradock/laradock.git
Laravelプロジェクト配置
git cloneしてくるときにフォルダ名を"laravel"に変更する
HTMLでもSSHでもよい。
SSHの設定はこちら: GitHubでssh接続する手順公開鍵・秘密鍵の生成から - Qiita
git clone {プロジェクト}.git laravel
Laravel設定
.env の設定をする
DB名は任意、この後利用するので忘れずに
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE={プロジェクトDB名}
DB_USERNAME=default
DB_PASSWORD=secret
Laradock設定
nginx設定
nginx/sites/default.conf を以下のように設定
- root /var/www/public;
+ root /var/www/laravel/public;
mysql設定
mysql/docker-entrypoint-initdb.d/ 内、createdb.sql.example をコピーして createdb.sql を作成
mysql/docker-entrypoint-initdb.d/createdb.sql を以下のように設定
プロジェクトDB名はLaravel設定と同じにすること
- #CREATE DATABASE IF NOT EXISTS`dev_db_1` COLLATE 'utf8_general_ci' ;
+ CREATE DATABASE IF NOT EXISTS`{プロジェクトDB名}` COLLATE 'utf8_general_ci' ;
- #GRANT ALL ON `dev_db_1`.* TO 'default'@'%' ;
+ GRANT ALL ON `{プロジェクトDB名}`.* TO 'default'@'%' ;
.env設定
.env.example をコピーして .env を作成
.env を以下のように設定
プロジェクト名は任意の文字列を設定
- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../laravel
- APP_CODE_PATH_CONTAINER=/var/www
+ APP_CODE_PATH_CONTAINER=/var/www/laravel
- DATA_PATH_HOST=~/.laradock/data
+ DATA_PATH_HOST=~/.laradock/{プロジェクト名}
- COMPOSE_PROJECT_NAME=laradock
+ COMPOSE_PROJECT_NAME={プロジェクト名}-laradock
Laradock起動
cd {プロジェクト名}/laradock
docker-compose up -d mysql nginx workspace
初回はコンテナを生成するために時間がかかる。
Windowsの場合
windowsでは、パスを通すか否かの通知がwindowsに7つほど来るので全てOKする。
M1 macの場合
またM1 macではそのままではmysqlが起動しないので以下のリンク内、Dockerfileのやり方を実施する。
M1 Mac で Docker mysql イメージをビルドする - Qiita
コンテナ内の作業
コンテナが起動したら、以下のコマンドでコンテナに移動する。
docker-compose exec --user=laradock workspace bash
そして /var/www/laravel 内で以下の作業をする。
- composerインストール
- migration
- シード作成
- laravelキー生成
- npmインストール
- npmコンパイル
cd laravel
composer update
php artisan migrate
php artisan db:seed
php artisan key:generate
npm i
npm run dev
また必要に応じて
php artisan storage:link
chmod 777 -R public storage
これで完了。
2022-06-09
views: 366
most viewed
Laradockを利用したLaravel環境構築
@variant3a
2022-06-09
views: 365
BrowserSyncを使おう
@variant3a
2022-06-09
views: 285
Office365UserコネクタのSearchUserV2の制限
@variant3a
2022-07-14
views: 316
Laravelのルーティング順による404エラーの対処法
@variant3a
2022-07-16
views: 644
「"仮想DOMは速い"という神話を完全に終わりにしよう」
@variant3a
2022-07-19
views: 450