Amazon LightsailでWordPressサーバを立ち上げたので、その時の手順の記録を兼ねて方法を紹介します。
目次
Lightsail 作成画面へ行く
AWSにログインしてマネジメントコンソールを開き、アイコンもしくは左上のサービスメニューの中からLightsailを選択します。


Lightsailの作成画面が開きます。

インスタンスロケーションを選択
デフォルトで適当なリージョンとゾーンが設定されています。おそらく、マネジメントコンソールで接続していたリージョンから自動的に選ばれるようです。

このままでもよいですし、変更をクリックすると候補が表示されるので必要に応じて変更します。

インスタンスイメージを選択
LinuxのWordPressを選択します。


ちなみに、WordPress Multisiteというのは一つのWordPress上で複数のWebサイトを運営できるものですが、聞きかじった情報によると単独サイトのWordPressと比べて制約やコツがあるらしいので、無難に普通のWordPressを選びました。
他にも以下の通り様々なタイプを選べるようになっています。
余談
Amazon Linux AMI の標準サポートは、2020 年 12 月 31 日をもって終了し、メンテナンスサポートフェーズに入ります。アプリケーションをアップグレードして、2023 年までの長期サポートが提供されている Amazon Linux 2 をご使用いただくことをお勧めします。
Amazon Linux AMI
今回のように「アプリ+OS」の「WordPress」を選択して構築されるインスタンスのOSは何なのか、Lightsailが立ち上がったあとで調べてみたところ、Amazon LinuxではなくUbuntuでした。(なお、もしAmazon Linuxだったら「Amazon Linux」と表示されるようです。)今後のLightsailの仕様がどうなるかは未知ですが、とりあえず現時点では上記のサポート切れの件は気にしなくて良さそうです。
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial
起動スクリプト、SSHキーペアを設定
後で設定できるのでスルーしても大丈夫です。

リンクをクリックすると以下のように設定画面が開きます。

- 起動スクリプト:
今回は特に設定せずに進みます。 - SSHキー:
後で作成することも出来るので、今はひとまずデフォルトのままにします。キーはダウンロードしておきます。「LightsailDefaultKey-ap-northeast-1.pem」のようなファイル名で保存され、中身は秘密鍵のテキストです。 - 自動スナップショット:
後で有効にすることも出来るので、今は無効のままにしておきます。なお、スナップショットは追加料金です。- Amazon Lightsail 料金表 0.05 USD GB/月
インスタンスタイプを選択
今回は一番安いものを選びます。

リソース名とタグを設定
リソース名を設定します。今回はデフォルトのままとします。
タグは設定しなくても問題はありません。

リンクをクリックすると以下のようにタグ入力欄が表示されます。AWSでインスタンスをたくさん運用するような場合は是非設定しましょう。

タグを使うと、リソースの管理、検出、およびフィルタ処理が容易になります。
Amazon Lightsail のタグ
作成完了
「インスタンスの作成」ボタンを押して作成を確定します。すぐに作成が始まり数分で完了します。完了すると以下のようにLightsailの管理画面が表示されます。

余談ですが、作成完了とともに画面に以下のようなおすすめが表示されました。今回はスルーします。
GoDaddy

以上でWordPressが利用可能な状態になりました。
他のタブは以下のようになっています。ここから基本的な設定を開始することができます。
メニューの「管理」を開いた先は以下のようにより詳細な設定が行えるようになっています。
WordPress にログイン
上記画面の中に表示されていたパブリックIPアドレスへブラウザからアクセスすると、WordPressによって生成されたトップページが表示されます。

画面右下のアイコンからWordPressの管理画面に入ります。


- ユーザ名:「user」(初期ユーザ)
- パスワード:ターミナルで以下のコマンドを実行して表示される文字列(参考:Find Credentials Using Amazon Lightsail)
$ cat bitnami_application_password
ログインできました。

スナップショットを作成
無事に稼働しているようなので、念のためここで一旦スナップショットをとっておきます。必須ではありません。なお、スナップショットは追加料金です。
Lightsailの管理画面で手動スナップショットを行います。

スナップショット名は、今回はデフォルトのままにします。

数分で作成が完了し、完了後は以下のように表示されます。

静的IPアドレスを作成
インスタンスの再起動時に IP アドレスが失われます。インスタンスに常に静的 IP アドレスを作成しておくことをお勧めします。
Amazon Lightsail の静的 IP アドレス
静的IPはLightsailのホーム画面から設定できます。追加料金は不要です。



インスタンスを選択し作成ボタンを押します。ロケーションとリソース名はデフォルトのままで構いません。すぐに作成が完了します。以降WordPressにアクセスする際はこのIPアドレスを使います。

ドメイン名を取得
静的IPを割り当てたことにより、インターネットから常に同じURLでアクセスできるようになりましたが、URL内にIPアドレスを数字でベタ書きすることになってしまいます。それでも問題ない場合はドメイン名は不要ですが、一般的にはドメイン名を割り当てることになると思います。
既に使用可能なドメイン名を所持しており新たに取得する必要がない場合は、取得はスキップして次へ行きます。
新たにドメイン名を取得する場合は、Amazon Route 53あるいは他の業者のサービスでドメイン名を取得します。
取得には料金がかかります。(一部、無料で取得できる業者もあります。)
DNSゾーンを作成
IPアドレスではなくドメイン名でWordPressにアクセスできるようにします。追加料金は不要です。
(ドメイン名の取得は基本的に有料ですが、この「DNSゾーンの作成」でドメイン名を登録するのには追加料金はかかりません。)

ドメイン名を入力します。

タグは必要に応じて設定します。空白のままでも問題ありません。


後でネームサーバーを登録する必要があるため、覚えておきます。

Aレコードを追加してドメイン名とIPアドレスを関連付けます。
- サブドメイン: 「www」等の文字列を設定。サブドメインを設定しない場合は「@」を記入。
- 解決先: Lightsailインスタンスに割り当てた静的IPを設定。

Route 53の管理画面の「ホストゾーン」を開き、ドメイン名をクリックします。

タイプ「NS」のレコードセットに、前述のLightsailの画面に表示されていたネームサーバ名を追記します。


WordPressを日本語化
「Settings」メニューで設定します。
- Site Language: 日本語
- Timezone: UTC+9

ユーザを追加、初期ユーザを削除
「ユーザー」メニューを開くと初期ユーザである「user」があります。安全のため以下を行います。
- 新規の管理者ユーザを作成
- WordPressからログアウトし新規の管理者でログイン
- userを削除

WordPress をバージョンアップ
今回構築したLightsailのWordPressのバージョンは5.3.2だったため、WordPress 5.4へのバージョンアップをおすすめするメッセージがダッシュボードに表示されていました。


バージョンアップにはリスクを伴うので控えることも多いですが、今回はせっかくなのでバージョンアップしてみます。バックアップは前述のスナップショットにより済んでいるため、早速バージョンアップします。

WordPressの更新はすぐに終わり、以下の画面が表示されます。このままデータベースも更新します。

データベースの更新が完了すると以下の画面が表示されます。

ダッシュボードを見るとWordPressのバージョンが上がったことが確認できます。

プラグインを更新
WordPressをバージョンアップしたので、このままプラグインも更新してしまいます。


テーマを更新
テーマも更新します。


ウィンドウ右下の「Manage」アイコンを削除
ウェブサイトを開くとウィンドウの右下に「Manage」というアイコンが表示されています。

ウェブサイトの「bitnami/index.html」へのリンクになっており、WordPressの管理画面へのログインリンク等が記載されています。自分や管理者以外の一般の閲覧者にこのアイコンがクリックできてしまうのは良くないので、このアイコンを非表示にします。
ちなみに、マウスカーソルを合わせると×ボタンが表示されそれをクリックすると消えるのですが、一時的なものであり、別の環境(別の人、端末、ブラウザ、シークレットウィンドウ等)でアクセスすれば消えていません。そのため以下の手順を行う必要があります。
手順は「bitnami/index.html」の一番下の「Visit our quick guide to learn how to disable it.」のリンクから飛べるページに記載されています。
- 以下のコマンドを実行する。
sudo /opt/bitnami/apps/APPNAME/bnconfig --disable_banner 1
- 「APPNAME」はWordPressがインストールされている場所で、大抵は「wordpress」です。
- Webサーバを再起動する。
- Apacheの場合
sudo /opt/bitnami/ctlscript.sh restart apache
- NGINXの場合
sudo /opt/bitnami/ctlscript.sh restart nginx
- Apacheの場合
なお、今回のLightsail環境は以下の通りApacheでした。
$ ps -ef | grep httpd root 1933 1 0 Apr19 ? 00:00:03 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf daemon 2724 1933 0 Apr19 ? 00:00:25 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf daemon 2725 1933 0 Apr19 ? 00:00:17 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf daemon 15176 1933 0 07:27 ? 00:00:12 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf bitnami 18587 18453 0 11:27 pts/0 00:00:00 grep --color=auto httpd
通信を SSL 化する
httpsでアクセスできるようにSSLを設定します。
Lightsail の WordPress を SSL 化する