こんにちは、@Manabu です。
Amazon Linux2のサポート期間が一年を切ってしまった…
AWSで開発をされている方で、こう思っている方は多いのではないでしょうか。
今回は、Amazon Linux2(以下、AL2)からAmazon Linux2023(以下、AL2023)に移行するための調査として、LaravelをAL2023のEC2に構築する方法について紹介します!
EC2の中身は、以下で構成するようになります。
- Amazon Linux2023(OS)
- Apache 2.4
- PHP 8.3
- Laravel 11.13
※バージョンは特に指定していないので、その時の最新になると思います。
※LaravelはDBを使用しなくても動くフレームワークです。今回はDBは使用しません。
この手順通りに行えば、簡単にAL2023環境にLaravelアプリをホストできるので、ぜひ参考にして下さい。
Apacheのインストールと起動
まずは、WebサーバーとしてApacheをインストールして起動します。
以下のコマンドを順番に実行します。
// Apacheのインストール
sudo dnf install -y httpd
// Apacheの起動コマンド
sudo systemctl start httpd
// Apacheの起動ステータス確認コマンド
sudo systemctl status httpd
// Apacheの自動起動コマンド
sudo systemctl enable httpd
// Apacheの自動起動確認コマンド
sudo systemctl is-enabled httpd
// Apacheのバージョン確認コマンド
httpd -v
ステータスが「Actice」になっており、自動起動も「enabled」であれば正しく起動設定が行えています。
PHPのインストールとモジュールの追加
次に、PHPと必要なモジュールをインストールします。
モジュールに関しては、ご自身のアプリで使用するものを適宜追加するようにお願いします。
// PHPと完れモジュールのインストールコマンド
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-json php-opcache php-xml php-gd php-curl php-mbstring php-zip php-bcmath php-intl php-ldap php-soap
// PHPのバージョン確認
php --version
PHPのバージョンが出力されたら、正しくインストールされています。
Composerのインストール
ComposerはPHPの依存管理ツールで、Laravelのインストールやパッケージ管理に使用します。
以下のコマンドを実行して、インストールを行います。
// composerのインストーラーのダウンロード
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
// composerのインストール
php composer-setup.php
// インストーラーの削除
php -r "unlink('composer-setup.php');"
// composer.pharを使用できるように移動
sudo mv composer.phar /usr/local/bin/composer
// composerのバージョン確認
composer --version
composerのバージョン確認で、バージョンが出力されたらインストールは成功しています。
Laravelのプロジェクト作成
上記でインストールしたcomposerを使用して、Laravelプロジェクトを作成します。
今回、/var/www/html配下にプロジェクトを作成します。
※ディレクトリとプロジェクト名は、適宜変更するようにお願いします。
// プロジェクトを作るディレクトリに移動
cd /var/www/html
// my-laravel-appという名前のプロジェクトを作成
sudo composer create-project --prefer-dist laravel/laravel my-laravel-app
// 権限と所有者の変更
sudo chown -R apache:apache /var/www/html/my-laravel-app
sudo chmod -R 755 /var/www/html/my-laravel-app
ここまでくるとプロジェクトの作成が完了しています。
Laravelアプリは、publicディレクトリをドキュメントルートに設定する必要があるので、Apacheの設定ファイルを変更します。
// Apacheの設定ファイルを編集
sudo vi /etc/httpd/conf/httpd.conf
// ドキュメントルートとディレクトリを変更
DocumentRoot "/var/www/html/my-laravel-app/public"
<Directory "/var/www/html/my-laravel-app/public">
設定を変更したら保存します。
保存後は、変更を反映させるため、Apacheの再起動を実行します。
sudo systemctl restart httpd
ここまでで、初期セットアップは完了になります。
ブラウザで確認
セットアップが完了しているので、ブラウザから確認してみましょう。
私は、EC2にElasticIPをアタッチしてアクセスしています。
以下のような画面が表示されたら、セットアップは完了です。
表示されない場合は、EC2の設定に問題があるかもしれません。
セキュリティグループなどの設定を見返してみてください。
まとめ
この記事では、AL2023にララベルプロジェクトを作成する手順について紹介しました。
順番に行えば、特に問題なく作成できるので、ぜひ参考にしてください。
P.S.
DBを使用したい方は、以下の記事にMySQL8.0のセットアップの方法を記載しているので、こちらもみてみて下さい。
設定は、.envファイルに追加するだけです。