システム開発会社が運用するブログ TSTIPS ティーエスチップス システム開発会社が運用するブログ TSTIPS ティーエスチップス

Laravel8環境構築 AWS EC2(Apache2.4、MySQL8、PHP7.3)

2021.12.14

今回Laravelの環境構築でAWSにはじめて触れたので、記録用がてら手順を記述します。

前提条件

  • アマゾンアカウントが取得済み
  • AWSの費用をなるべく発生させたくない

EC2導入(無料枠使用)

インスタンス作成

AWSマネジメントコンソールから「仮想マシンの起動 EC2」を選択

Amazon マシンイメージ(AMI)は「Amazon Linux 2 AMI (HVM) – Kernel 5.10, SSD Volume Type」を選択

インスタンスタイプは無料枠対象の「t2.micro」を選択

「セキュリティグループの編集」からセキュリティグループを設定。今回はHTTP、HTTPSを追加

内容確認後「起動」をクリック

SSH接続用のキーペアを作成しダウンロード(大事なファイルなので大切に保管しましょう)

SSH接続(Teraterm使用)

パブリックIPv4アドレスとダウンロードした秘密鍵をつかってSSH接続ができるか確認
※インスタンスが起動している必要があります。
※今回はElasticIPで固定IPにしています。

ユーザー名は初期状態では「ec2-user」になっているはずです

接続が確認できればOK

Apacheインストール

任意でインスタンス起動時に自動起動させる設定を行ってください

MySQLインストール

MySQLインストール

任意でインスタンス起動時に自動起動させる設定を行ってください

rootユーザーの初期パスワード確認・変更

認証方法を変更

MySQL8以降のログイン認証方式は「caching_sha2_password」となっており、PHP7.1.16以前、もしくはPHP 7.2.4より前の7.2系では未対応の認証方法になっています。
MySQL 関数 (PDO_MYSQL)

今回はPHP7.3を使用しているので本来ならこの設定は必要ないはずなのですが、なぜか無限に「The server requested authentication method unknown to the client」エラーがでたため今回は下記対応をしました。
ここは正直知識不足なので勉強が必要です。

Laravel環境構築

PHPインストール

php.iniの内容を任意で編集後php-fpmを再起動

Composerインストール

Laravelプロジェクト作成

.envのDB部分を適宜変更してください。
パブリックIPにアクセスしLaravelの初期画面がでれば完了です。

参考記事

EC2導入

https://beyondjapan.com/blog/2019/07/nyumon_aws_ec2/

SSH接続

https://qiita.com/takuma-jpn/items/b2c04b7a271a4472a900

Apacheインストール

https://qiita.com/kyosuke5_20/items/b04813bb7ca26285d95e

MySQLインストール

https://qiita.com/miriwo/items/eb09c065ee9bb7e8fe06

Laravel導入

https://qiita.com/h19e/items/02d1301d4fdd8dfa88ac

まとめ

手探り状態でしたがネット上に情報も多く比較的容易に構築できたと思います。

MySQLのログイン認証方式部分はどうにかなる問題だと思うので引き続き検証が必要です。

s.kamei

この記事を書いた人

おかめ

役職

Company運用会社

株式会社トランソニックソフトウェア

株式会社トランソニックソフトウェア

名古屋市でシステム開発・WEB制作を中心に事業を展開しています。システムに関すること、なんでもお気軽にご相談ください!

Search記事検索

開発パートナー募集中 システムエンジニア、WEBデザイナー積極採用