【AWS】Elastic BeanstalkでLinux 用 Windows サブシステムを使用せずにLaravelアプリケーションをデプロイする


Elastic BeanstalkでLinux 用 Windows サブシステムを使用せずにLaravelアプリケーションをデプロイ方法です。
本手順では、代わりに、フリーの圧縮・解凍ソフトを使用しています。

環境

  • PHP:バージョン7.3(Elastic Beanstalk)
  • Laravel:バージョン6.9.0
  • OS:Windows10(ローカル)

手順

Elastic Beanstalk への Laravel アプリケーションのデプロイ | aws
に従って実施します。
タイトルの件を以下に、補足事項としてまとめます。

補足事項

手順では、Linux 用 Windows サブシステムを使用するとありますが、以下の通り実行すればインストール不要です。

1. Laravelプロジェクトの作成

ローカル環境でコマンドプロンプトを起動して、任意のパスでコマンドを実行し、Laravelプロジェクト作成します。
こちらは、手順と同じコマンドで大丈夫です。
※今回は、プロジェクト名を「testLaravelApp」としました。

> composer create-project --prefer-dist laravel/laravel testLaravelApp

2. zipファイルの作成

1で作成したプロジェクトを圧縮します。
Windowsにおいては、デフォルトではzipコマンドを実行できないため、GUIベースで圧縮します。
私はフリーの圧縮・解凍ソフト7-Zipを使用しました。

注意点

圧縮実行時には、以下の点に気をつけてください。

1. デプロイしたいプロジェクト直下で圧縮する

公式の手順(コマンド)からもわかる通り、デプロイしたいプロジェクト直下で圧縮作業を実施します。
プロジェクトをそのまま圧縮してデプロイすると以下のようなエラーが出てしまい、ページへのアクセスもできないので要注意!

ダッシュボード

ヘルス

調べたところ、対象プロジェクトをそのまま圧縮すると余計なディレクトリが含まれてしまうから、とのこと。
【参考】
Following services are not running: proxy @ AWS — after Laravel re-config | stack overflow

2. vendorは対象外とする

公式の手順にも記載ありますが、念のため。


上記1, 2を考慮しての7-Zipでの圧縮は以下の通りとなります。

そうすると、同フォルダ内に対象のLaravelプロジェクトと同じ名称のzipファイルができるので、それをアップロード・デプロイすればOK!

オマケの注意点

こちらも公式手順に記載ありですが、ドキュメントのルートを
/public
とするのを忘れずに☆

無事、デプロイ→ページ表示できました!

ダッシュボード

ページ

参考