GitHubからAWS LightsailへLaravel 11プロジェクトをデプロイする方法

aws

Amazon Lightsailは、固定価格(月5ドル・最初の90日は無料)で使えるAWS環境です。

従量課金が基本のAWSさんにしては、めずらしい課金方式です。

「まずは簡単に構築したい」「固定費にしたい」という時に、Lightsailはおすすめ。

今回は、「Laravelを手軽にAWSにデプロイしたい」方向けに、GitHubに設置したLaravelプロジェクトをLightsailにデプロイする方法をざっくり解説しました。

前提条件

こちら、今回の記事の前提条件です。

  • Laravelのバージョンは、現時点で最新のLaravel11を使用
  • GitHubにはあらかじめプロジェクトをプッシュ済み
  • AWSアカウントが既にある方向け
  • コマンドを使った操作が多いので、ファイル編集等のコマンド操作に慣れた方向け
  • 本記事では、GitHubプロジェクトのデプロイ・データベース連携まで解説します。HTTPS化やストレージの設定はカバーしていません。

AWS LightsailにLaravel環境構築

それでは手順を説明していきます。

Lightsailインスタンス作成~デフォルト画面表示

まずはAWS Consoleにログインして、「lightsail」を検索。新しくlightsailインスタンスを作成します。

リージョンは、デフォルトで選択されていたTokyo, ZoneAを選択。

【Select a platform】ではLinux/Unixを選択。【Select a blueprint】は、LAMP(PHP 8)を選びます。

【Choose your instance plan】は、5ドルのプランを選択。【Identify your instance】では、インスタンス名をつけます。

最後に【Create instance】ボタンをクリック。インスタンスが作成されます。作成後、次のような画面が表示されます。

インスタンス名(青字)をクリックすると、IPv4アドレスが表示されます。アドレスをクリックすると、ブラウザにデフォルト画面が表示されます。

プロジェクトをGit Cloneでコピー

次に、GitHubにあるプロジェクトをLightsailにクローンします。まずは赤枠で囲った部分をクリックします。コマンド入力画面が立ち上がります。

ブラウザ上でコマンドを入力できるようになります。

最初にcd htdocsに移動。

ここで、git cloneコマンドを実行します。

GitHubのユーザー名と、パーソナルアクセストークンを聞かれます。それぞれ入力します。パーソナルアクセストークンは、github上のsettings/developer settingsから確認できます。

※パーソナルアクセストークンの発行方法・確認方法は、下記記事などが参考になります。

git cloneが無事終わったら、lsコマンドで、プロジェクトができているのを確認します。わたしのほうではmembers11というプロジェクトをクローンしましたが、下記のように表示されます。

次のステップに進みます。

Apacheの設定

デフォルトのApacheを変更します。bitnami.confファイルを開きます。

こちら、プロジェクトに合うように、下記の2か所をプロジェクト名に変更します。

わたしの場合は、「members11」というプロジェクト名にしているので、下記のようにしました。

変更保存後、システムを再起動します。

データベースのパスワードチェック

下記コマンドでデータベースのパスワードを確認しておきます。

表示されるパスワードを控えておきます。次にmysqlコマンドを実行します。

パスワードを求められるので、さきほど控えたパスワードを入力します。

データベースを作成します。ここでは、laravelとしておきます。

作成したデータベースを確認します。

Ctrl+Dでexitします。

phpMyAdminを使えるようにする

せっかくなので、phpMyAdminも使えるようにします。下記コマンドを実行します。

Require localに#をつけて無効にします。さらに、ErrorDocument 403 の前に、下記のようにコードを加えます。下記ではすべてのIPアドレスを許可する設定していますが、適宜変更してください。

変更保存後、システムを再起動します。

.envファイルの作成とデータベース設定

次に、プロジェクトの中に戻ります。

ホームディレクトリにhtdocsへのシンボリックリンクが存在します。そのため、次のようにしてもプロジェクトディレクトリに移動できます。

① ホームディレクトリに移動

② プロジェクトディレクトリに移動

プロジェクト内で.env.exampleをもとに、.envファイルを作ります。下記コマンドを実行します。

さらに、アプリケーションキーを作成します。

作成した.envファイルを編集します。

データベースに関する設定を修正します。パスワードは、前の項目で確認したものを入力してください。

.envファイルを保存して閉じます。

ライブラリのインストールとデータベースへのマイグレート

プロジェクト内でライブラリをインストールします。

データベースをマイグレートします。

マイグレート実行後は、phpMyAdminの中を確認してみましょう。プロジェクトURL/phpmyadminとすると、phpmyadmin画面を確認できます。

.envファイルに入力したDB_USERNAMEと DB_PASSWORDをいれると、ログインできます。

ブラウザ表示

ブラウザにプロジェクトを表示します。先ほど確認したインスタンスのPublic IPv4 addressをクリックします。

Permission deniedエラーが表示されたら、次のように権限を変更します。

コマンド実行後、無事プロジェクトが表示されれば成功です。

Amazon Lightsailのメリット・デメリット(予算面も)

以上Lightsailを使ったLaravelプロジェクトのデプロイとデータベース連携となります。

このあと本番環境用とするならHTTPS化したり、ストレージを設定したりといった操作も必要になってきますが、今回は割愛します。

さいごに、Amazon Lightsailのメリット・デメリットをざっくりお伝えしますね。次のとおりです。

【Amazon Lightsailメリット・デメリット】

  • メリット
    • 低コスト
    • セットアップしやすい
  • デメリット
    • カスタマイズが限定されている
    • データベースやストレージ等、別途お金がかかる

Lightsailは、レンタルサーバーを使うような感覚で、小規模なプロジェクトをアップするなら良いです。色々そろっているので、EC2を使ったりするより、大分ラクです!

ただ大規模なものには向きません。また色々とカスタマイズしたりできないので、カスタマイズが必要なプロジェクトにも不向きです。

AWSのLightsail紹介でも、「スモールビジネスアプリケーションの構築」用にLightsailがすすめられています。

なお料金面では少し注意が必要です。実は固定費で賄えるのは、サーバー部分だけ。データベースやストレージ等の費用は別料金です。

たとえば、データベースは月15ドル~となります。ただインスタンスと同様、90日間は無料です。今回はデータベースをひとつ作成しました。

ちなみに今回はストレージを使用していませんが、もし使用した場合は別途設定が必要です。ストレージも別料金です。ストレージは月1ドル~で、最初の1年は無料となります。

最初は無料でお試しできるのが嬉しいですね。

価格と条件はまた変わるかもしれないので、詳細は公式サイトご覧ください。

さいごに

AWS上にLaravel環境を構築するには色々な方法があります。EC2を使ってWebサーバーなどをひとつずつ構築する方法が基本ですが、手間がかかります。また、「従量課金制」なので、結局いくらかかるか分かりにくいですよね。

試した中ではLightsailが一番ラクだと感じました。

とはいえラクなのと、自由度が高いのは、真逆の関係です。カスタマイズしたい場合はLightsail環境はおすすめできませんが、小規模プロジェクトでは便利なサービスだと感じます。

aws
【AWS関連・Webアプリ開発・生成AIのAPI活用のご相談承ってます】
お気軽にお声がけください。
御社にとって、最善の方法をご一緒に考えてまいります。
Zoomミーティング実施中。サンプルアプリご利用可能です。

お問合せフォーム

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

最新版Laravel11用のサポートガイドご用意しています。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる
Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました