Amazon LightsailにPHP8系のLAMP環境を構築してみた

はじめに
Amazon LightsailはAWSが提供するVPSです。LightsailではLAMP環境が構築されたものも簡単に導入できるのですがPHPのバージョンは7.4系となっています。
「Laravel9も出たし早速サーバーで使いたい」となった場合、自身でPHP8を導入する必要があります(自動化したい場合はLaravel forgeなどのツールを使えば簡単に導入はできます)。
そこで今回は公式ドキュメントを参考に、UbuntuのサーバーにPHP8.1のLAMP環境の構築をご紹介します。
LAMP環境
- Ubuntu 20.04
- Apache 2.4.41
- MariaDB 10.5.15
- PHP 8.1
LightSailサーバーの作成
はじめにAWS Lightsailのコンソールからサーバー(インスタンス)を作成します。
ホームの「インスタンスの作成」を押下します。
プラットフォームの選択で「Linux/Unix」を選択。
設計図の選択で今回はOSのみで「Ubuntu 20.04 LTS」を選択してみます。

インスタンスプランは最小の512MBのサーバーでやってみました。
リソース名を適当に入力し、「インスタンスの作成」を押下します。

これでインスタンスの作成は完了です。
ブラウザからSSH接続して操作していきます。
※使い慣れているターミナルから操作したい場合は下記の記事を参考にしてください。
Amazon LightsailのインスタンスにSSH接続する方法

Apacheの導入
はじめにApacheをインストールします。
インストールが完了したら、下記のコマンドでインストールできたかどうか確認してみましょう。
PHP8.1の導入
今回はPHPバージョン8.1をインストールします。
Ubuntuの公式リポジトリ(PHPなどのパッケージをインストールするところ)でサポートされているPHPのバージョンは7.4です。
PHP8系は現在ほとんどのディストリビューションでサポートされていません。そのため、サードパーティのリポジトリを有効にする必要があります。
この状態でPHP8.1がインストール可能かどうか確認してみます。
上記のように表示されればインストール可能です。
それでは実際にPHP8.1をインストールしましょう。
これでPHPのインストールは完了です。
PHP-FPM モジュールを有効にする
PHP-FPMとは一言でいうと、「PHP スクリプトの実行を高速化するモジュール」です。※詳細こちら
下記のコマンドを1つ1つ実行してください。
ちゃんと設定されていることを確認したい場合は以下のようにしてください。
http://<サーバIP>/info.phpにアクセスしてみましょう。下記のようにFPM/FastCGIとなっていれば適切に設定されています。

MariaDB をインストールする
MariaDBのリポジトリを使用してMariaDBをインストールします。
次のコマンドを実行して MariaDB セキュアインストールを完了し、ルートパスワードを設定します。
質問を聞かれるので下記のようにすすめてください。
ログインユーザーにプロジェクトルートへのアクセス権限を付与する
ログイン中のユーザー(デフォルトではubuntu)に /var/www ディレクトリへのアクセス権限を付与します。
次のコマンドを実行してください。
一度ログアウトします。
ログアウトしたらディレクトリのオーナーとパーミッションを変更します。
これでLAMP環境の構築は完了です。
まとめ
今回構築した環境にLaravel環境を構築する記事はこちら↓
LAMP Bitnami環境にLaravelプロジェクトを導入する記事はこちら↓
参考
【公式】自分の Lightsail インスタンスに LAMP スタックを手動でインストールするにはどうすればよいですか?
最近のコメント