[Aamazon LightSail]PHP Webアプリケーションサーバーを作成する

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は別途やる必要があるので、それはまた今度。

よかったらシェアしてね!
目次