こんにちわ!今年もアドベントカレンダーの季節がやってきましたー!ヽ(=´▽`=)ノ
今年も弊社ではせめて年に1記事はなんんかアウトプットを残そう!と言うスローガンで記事を上げて行きたいと思っていますm(_ _)m
なのでカレンダーが埋まっていなくてもご容赦下さい(;´Д`)
さて!今年も色々新技術やらせて貰ったのですがその中から最も苦戦した(w)Laravel8
の話を書かせて貰おうと思います。
※言い訳をすると、最近はPHPでは無い案件の方が多くなってきていて浦島状態でした・・・_(´ཀ`」 ∠)_
Laradock
はLaravel
開発環境を Docker
コンテナとしてローカルに即座に立ち上げが出来る画期的なOSSです。
Docker
の習得には時間が掛かりますので上辺でサクッとやりたい私にとても向いていました(おい
Laradock
でサックリ PHP8
Laravel8
な環境を作るレシピのご紹介
今回の記事のターゲットの方は
Laradock
を使って簡単に Nginx
PHP8
Laravel8
な環境をサックリ作りたい方を対象にしています。
(※何よりも自分が困ったので・・・)
手順は以下です。
-
Github
でリポジトリを作成 -
Laradock
をsubmoduleとしてリポジトリに追加 -
Laradock
を使ってローカルにサックリLaravel8
環境を構築してGithub
にPush
手順は答を知ってしまうと割と簡単でこんな感じです。
順番に説明していきます。
先ずは通常通りプロジェクト用のリポジトリを用意します。
Github上でリポジトリを作ったら、ローカルにクローンします。
※私は~/workspaceと言うディレクトリの下にクローンしましたがお好きな場所で良いと思います。
自分のリポジトリの配下に Laradock
も持ってきます。
この時、サブモジュールとして自身のリポジトリに追加するのが簡単だと思います。
git submodule add https://github.com/laradock/laradock.git laradock
とコマンドで実行すれば追加されます。
操作しやすいようにAtomエディタでプロジェクトを開いておくと便利です。
Laradock
の為にDocker Desktopをインストールします。
https://www.docker.com/products/docker-desktop コチラからMac版、Windows版環境に合う方をダウンロードしてインストールして下さい。
※説明を割愛しますが、手順通りにインストールすればOKです。
言われるがままにサンプルまで実行するとこんな感じの画面になり、インストールが終了します。
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を起動させます。
コマンド実行直後に Laravel
用の Dockerコンテナ
の作成が始まりますので暫く待ちます。
程なくDockerが起動しました!
しかし起動しただけだとまだ404 Not Foundです。
理由は簡単で、Dockerが起動しただけでアプリケーションの中身が空っぽだからです。
なのでアプリケーションの雛形もサクッと作成して行きます。
Laradock
で作成した workspace から composer
を使ってプロジェクトを作成します。
docker-compose exec workspace bash
として、workspaceコンテナにログインします。
workspaceでは既に composer
が実行出来る状態が整っていますので
composer create-project laravel/laravel sample
としてプロジェクトの作成を行います。
この時、最後の引数で指定する名前はプロジェクトの名前を指定しましょう。
※この名前でディレクトリが作成されます。
暫くするとプロジェクトが作成されます。
終わると以下のような構成になるかと思います。
プロジェクトの作成が完了したら、一度コンテナから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.1
を DB_HOST=mysql
に変更して下さい。
作成した Docker
コンテナのmysqlを向いてくれるようになります。
最後に Nginx
を再起動して localhost
にアクセスしてみましょう!
cd laradock
docker-compose up -d nginx
上記コマンドで再設定したenvに沿ってコンテナが再構築されますので暫く待ちましょう。
再構築が完了し、無事起動したらいよいよ http://localhost にアクセスしてみましょう!
無事完了していれば Nginx
Laravel8
PHP8
と言う環境でスタートページが表示されると思います。
PHPMyAdmin
にもアクセスが出来るようになっているハズです。
http://localhost:8081/ にアクセスしてみましょう。
※デフォルトの接続設定は以下です
サーバー: mysql
ユーザー名: root
パスワード: root
無事アクセス出来れば設定は無事完了しています。
このままGitにPushしてしまって、もうOKです。
直ぐにチーム開発が始められると思います。
個人的には larabelsample/sample/.env はバージョン管理に入れてしまって良いと思います。
※標準では larabelsample/sample/.gitignore で ignore されています。
.envをバージョン管理に置くことでチームメイトはGitリポジトリをCloneするだけで開発が始められるようになります。
※但し、.envにはDBのパスワードを記述しているのでプライベートリポジトリの場合のみのオススメになります。
以上長くなりましたが Laradock
でサックリ PHP8
Laravel8
な環境を作るレシピのご紹介でした。
参考になれば幸いです!
最後まで読んで頂き有難う御座いました!それでは!!m(_ _)m