3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

株式会社デジタルクエストAdvent Calendar 2021

Day 1

サクッとLaradockでLaravel8 (&PHP8 &Nginx)

Last updated at Posted at 2021-11-30

こんにちわ!今年もアドベントカレンダーの季節がやってきましたー!ヽ(=´▽`=)ノ

今年も弊社ではせめて年に1記事はなんんかアウトプットを残そう!と言うスローガンで記事を上げて行きたいと思っていますm(_ _)m
なのでカレンダーが埋まっていなくてもご容赦下さい(;´Д`)

さて!今年も色々新技術やらせて貰ったのですがその中から最も苦戦した(w)Laravel8 の話を書かせて貰おうと思います。
※言い訳をすると、最近はPHPでは無い案件の方が多くなってきていて浦島状態でした・・・_(´ཀ`」 ∠)_

LaradockLaravel 開発環境を Docker コンテナとしてローカルに即座に立ち上げが出来る画期的なOSSです。
Docker の習得には時間が掛かりますので上辺でサクッとやりたい私にとても向いていました(おい

Laradock でサックリ PHP8 Laravel8 な環境を作るレシピのご紹介

今回の記事のターゲットの方は
Laradock を使って簡単に Nginx PHP8 Laravel8 な環境をサックリ作りたい方を対象にしています。
(※何よりも自分が困ったので・・・)

手順は以下です。

  • Github でリポジトリを作成
  • Laradock をsubmoduleとしてリポジトリに追加
  • Laradock を使ってローカルにサックリ Laravel8 環境を構築して Github にPush

手順は答を知ってしまうと割と簡単でこんな感じです。
順番に説明していきます。

先ずは通常通りプロジェクト用のリポジトリを用意します。

スクリーンショット 2021-11-30 1.09.43.png

Github上でリポジトリを作ったら、ローカルにクローンします。

スクリーンショット 2021-11-30 1.24.05.png
※私は~/workspaceと言うディレクトリの下にクローンしましたがお好きな場所で良いと思います。

自分のリポジトリの配下に Laradock も持ってきます。

この時、サブモジュールとして自身のリポジトリに追加するのが簡単だと思います。
git submodule add https://github.com/laradock/laradock.git laradock
とコマンドで実行すれば追加されます。
スクリーンショット 2021-11-30 1.36.25.png

操作しやすいようにAtomエディタでプロジェクトを開いておくと便利です。

スクリーンショット 2021-11-30 1.33.26.png
スクリーンショット 2021-11-30 1.33.50.png

Laradockの為にDocker Desktopをインストールします。

https://www.docker.com/products/docker-desktop コチラからMac版、Windows版環境に合う方をダウンロードしてインストールして下さい。
※説明を割愛しますが、手順通りにインストールすればOKです。
スクリーンショット 2021-11-30 1.47.34.png
言われるがままにサンプルまで実行するとこんな感じの画面になり、インストールが終了します。

Laradock を起動したらローカルの Laravel8 開発環境がもう出来てしまいます。

larabelsample/laradock/.env.example をコピーして larabelsample/laradock/.env を作ります。
.envの中の
PHP_VERSION=7.4を8.0に変更します。
※ローカルはPHP8でなくて構わないと言う場合はいじらなくて良いです。

cd laradock
docker-compose up -d nginx mysql workspace phpmyadmin
としてLaradockを起動させます。
スクリーンショット 2021-11-30 2.02.16.png
コマンド実行直後に Laravel 用の Dockerコンテナ の作成が始まりますので暫く待ちます。
スクリーンショット 2021-11-30 2.06.52.png
程なくDockerが起動しました!
しかし起動しただけだとまだ404 Not Foundです。
スクリーンショット 2021-11-30 2.18.12.png
理由は簡単で、Dockerが起動しただけでアプリケーションの中身が空っぽだからです。
なのでアプリケーションの雛形もサクッと作成して行きます。

Laradock で作成した workspace から composer を使ってプロジェクトを作成します。

docker-compose exec workspace bashとして、workspaceコンテナにログインします。

スクリーンショット 2021-11-30 2.25.20.png
workspaceでは既に composer が実行出来る状態が整っていますので
composer create-project laravel/laravel sample
としてプロジェクトの作成を行います。
この時、最後の引数で指定する名前はプロジェクトの名前を指定しましょう。
※この名前でディレクトリが作成されます。

暫くするとプロジェクトが作成されます。
終わると以下のような構成になるかと思います。
スクリーンショット 2021-11-30 2.59.55.png
プロジェクトの作成が完了したら、一度コンテナからexitして抜けます。

もう一度 larabelsample/laradock/.env を編集します。

APP_CODE_PATH_HOST=../ を作成したプロジェクトのディレクトリに変更します。
ローカルの.envのファイルの場所から見たパスを指定するので
APP_CODE_PATH_HOST=../sample
とすればOKです。
※この手順は敢えてプロジェクト作成の後からやる必要がある事に注意が必要です。

また、作成したプロジェクトの.envファイルの設定も変更します。

larabelsample/sample/.envが作成されているハズです。
larabelsample/sample/.envの DB_HOST=127.0.0.1DB_HOST=mysql に変更して下さい。
作成した Docker コンテナのmysqlを向いてくれるようになります。

最後に Nginx を再起動して localhost にアクセスしてみましょう!

cd laradock
docker-compose up -d nginx

上記コマンドで再設定したenvに沿ってコンテナが再構築されますので暫く待ちましょう。
スクリーンショット 2021-11-30 3.22.28.png

再構築が完了し、無事起動したらいよいよ http://localhost にアクセスしてみましょう!

スクリーンショット 2021-11-30 3.22.47.png

無事完了していれば Nginx Laravel8 PHP8 と言う環境でスタートページが表示されると思います。

PHPMyAdmin にもアクセスが出来るようになっているハズです。

http://localhost:8081/ にアクセスしてみましょう。
※デフォルトの接続設定は以下です
サーバー: mysql
ユーザー名: root
パスワード: root
スクリーンショット 2021-11-30 3.27.31.png
無事アクセス出来れば設定は無事完了しています。

このままGitにPushしてしまって、もうOKです。
直ぐにチーム開発が始められると思います。

個人的には larabelsample/sample/.env はバージョン管理に入れてしまって良いと思います。
※標準では larabelsample/sample/.gitignore で ignore されています。
.envをバージョン管理に置くことでチームメイトはGitリポジトリをCloneするだけで開発が始められるようになります。
※但し、.envにはDBのパスワードを記述しているのでプライベートリポジトリの場合のみのオススメになります。

以上長くなりましたが Laradock でサックリ PHP8 Laravel8 な環境を作るレシピのご紹介でした。
参考になれば幸いです!

最後まで読んで頂き有難う御座いました!それでは!!m(_ _)m

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?