PHPを使ったWebアプリケーションをLightSailで簡単に立ち上げてみた。
LightSailは手軽に安くささっと構築できるので、ちょっとしたサンプルサイトを立ち上げるのには便利だと思う。
サーバーインスタンスを立ち上げる
Amazon Lightsail のホームへアクセスし、「インスタンスの作成」をクリックします。

インスタンスのロケーションを選択します。

インスタンスイメージを選択します。
今回はPHP環境を作りたいので、LAMP (PHP 8)を選択します。

インスタンスプランを選択します。
Webアプリケーションの種類、運用負荷を考えて選択します。
今回は、アクセス数はたまにでサーバーで処理することもないので1番低いものにしています。

「インスタンスを作成」ボタンをクリックすると、生成され、実行中になります。

アプリケーションをデプロイ
クリックして、「SSHを使用して接続」します。

バージョン確認
インスタンスの環境を確認します。
コマンドを叩き、PHPとComposerが意図したバージョンかチェックします。
$ php -v
PHP 8.1.22 (cli) (built: Aug 1 2023 18:31:41) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.22, Copyright (c) Zend Technologies
with Zend OPcache v8.1.22, Copyright (c), by Zend Technologies
$ composer -V
Composer version 2.5.8 2023-06-09 17:13:21
アプリケーションを配置
GitからRepositoryをCloneして、アプリケーションをデプロイします。
Repositoryはここに配置します。
$ cd /home/bitnami
git cloneします。
GitHubじゃなくても、.phpファイルを配置して、後述の公開ディレクトリを変更するだけでも動作できます。
$ git clone <repository_name>
公開ディレクトリの変更
以下のディレクトリがLAMPの公開ディレクトリになりますが、公開したいディレクトリに公開フォルダを変更します。
$ /opt/bitnami/apache2/htdocs
Apacheの設定ファイルを変更します。
$ vi /opt/bitnami/apache2/conf/bitnami/bitnami.conf
以下の個所を修正します。
DocumentRoot "/home/bitnami/<repository_name>/<publish_directory>"
<Directory "/home/bitnami/<repository_name>/<publish_directory>">
Apacheを再起動して、設定を反映させます。
$ sudo /opt/bitnami/ctlscript.sh restart
ブラウザからIPアドレスにアクセスして、<publish_directory>のhtmlが表示されることが確認できます。
動的IPアドレスを静的IPアドレスへ変更する
インスタンス生成時は動的IPになり、インスタンス再起動のたびにIPアドレスが変わってしまします。
これを防ぐために静的IPへ変更します。
ネットワーキングタブを選択して、「静的IPをアタッチする」をクリックします。

「作成およびアタッチ」をクリックして設定完了です。

まとめ
基本的にはクリックと少しの変更だけでアプリケーションをデプロイできます。
サンプルサイトなどの構築に重宝します。
SSLとDNSは別途やる必要があるので、それはまた今度。