🚀
既存のLaravelプロジェクトをgit cloneしてローカルで開発準備をする時の手順(Docker、Docker Compose使用)
はじめに
Laravelの開発環境を構築する方法は直接・Docker含め多くの記事がZennやQiita、ネットに転がっていますが、既存のプロジェクトをGitでクローンしてローカルで環境構築する手順はあまり見ないなと思って記事に残します。
また、私が副業でLaravelの開発案件に携わった時に環境構築に苦労して先輩エンジニアに迷惑をかけた経験から苦労する人が少しでも減れば幸いです。
前置きはこれくらいにして本題へGOします。
注意点
- ローカル環境に
Docker
とDocker Compose
を使っている場合を想定して書きます。 - Docker環境の構築手順には触れません
バージョン等
バージョンによって大きくは変わらないと思いますが、一応記載します。
$ docker -v
Docker version 19.03.13, build 4484c46d9d
$ docker-compose -v
docker-compose version 1.27.4, build 40524192
$ composer -V
Composer version 1.10.20 2021-01-27 15:41:06
$ php artisan --version
Laravel Framework 6.20.15
開発準備手順
1.リモートリポジトリからローカルにクローンする
Laravelのプロジェクトのソースコードを持って来たいディレクトリに移動して以下のコマンドを実行
- リモートリポジトリ(GitHub)の名前のディレクトリの中にクローンする場合
$ git clone {リポジトリURL(https://〜.git}
- 自分の好きな名前のディレクトリにクローンする場合
$ mkdir {好きな名前}
$ cd {作ったディレクトリ}
$ git clone {リポジトリURL(https://〜.git} .
※ポイントは.
です。
2. .envの作成
env.sample
から.env
を作成
$ cp .env.sample .env
これはセキュリティ面から.env
はGit管理しないのが普通でGitHubに上がってないので、こういうケースでは自分で作成します。
※普通にFinder
とかVSCode
上で複製するのでもOKです
3.開発に必要なパッケージをインストール
DockerのPHPコンテナに入る
$ docker-compose exec {サービス名} bash
以下のコマンドでパッケージをインストール
$ composer install
(略)
Package manifest generated successfully.
61 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
これでartisan
コマンドが使えるようになります。
4.APP_KEYを作成
artisan
ディレクトリがカレントディレクトリ(現在のディレクトリ)直下にあることを確認
$ ls
README.md artisan composer.json config package.json public routes storage webpack.mix.js
app bootstrap composer.lock database phpunit.xml resources server.php tests
APP_KEY
を作成(発行)
$ php artisan key:generate
これで.env
のAPP_KEY
に乱数が入ります。
5.環境変数を.envに設定
.env
を以下のように設定
APP_NAME=Laravel
APP_ENV=local
APP_KEY={乱数が入っています}
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST={DBコンテナのサービス名}
DB_PORT=3306
DB_DATABASE={docker-compose.ymlのMYSQL_DATABASE}
DB_USERNAME={docker-compose.ymlのMYSQL_USER}
DB_PASSWORD={docker-compose.ymlのMYSQL_PASSWORD}
6.ウェルカムページを表示
localhost:80
(Nginx
コンテナのポートを80にした場合)にアクセスするとウェルカムページが表示されます。
これで開発をスタートすることができます!!
さいごに
Laravelが何をGit管理してない(=何が.gitignore
ファイルに記載されている)のかを把握することが大切ですね。
Discussion