既存のLaravelプロジェクトをgit cloneしてローカルで開発準備をする時の手順(Docker、Docker Compose使用)

2 min読了の目安(約2300字TECH技術記事

はじめに

Laravelの開発環境を構築する方法は直接・Docker含め多くの記事がZennやQiita、ネットに転がっていますが、既存のプロジェクトをGitでクローンしてローカルで環境構築する手順はあまり見ないなと思って記事に残します。

また、私が副業でLaravelの開発案件に携わった時に環境構築に苦労して先輩エンジニアに迷惑をかけた経験から苦労する人が少しでも減れば幸いです。

前置きはこれくらいにして本題へGOします。

注意点

  • ローカル環境にDockerDocker 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

これで.envAPP_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:80Nginxコンテナのポートを80にした場合)にアクセスするとウェルカムページが表示されます。

これで開発をスタートすることができます!!

さいごに

Laravelが何をGit管理してない(=何が.gitignoreファイルに記載されている)のかを把握することが大切ですね。