2026年8月25日
2026年8月25日
LightsailにWordPressをインストールする方法|ブループリントと手動構築の手順
Amazon LightsailでWordPressを動かす方法は2つあります。WordPressがあらかじめ入った「ブループリント」からインスタンスを作る方法と、Ubuntuなどの素のOSを作ってApache・MySQL・PHPを自分で入れる方法です。手早く公開したいなら前者、構成を細かく管理したいなら後者が向いています。この記事では両方の手順を、2026年10月時点のLightsailコンソールとUbuntu 24.04 LTSを前提に説明します。
どちらの方法を選ぶか
| 項目 | WordPressブループリント | OSのみ+手動構築 |
|---|---|---|
| 公開までの手間 | 少ない(数分で表示される) | 多い(パッケージ導入・DB作成・設定) |
| HTTPS化 | コンソールの設定ウィザードでLet's Encryptを設定できる | certbotなどを自分で設定する |
| ソフトの配置 | イメージ提供元の構成に従う | 自分で決められる |
| 向いている人 | まず動かしたい人 | Linuxの操作に慣れていて、構成を自分で把握したい人 |
迷ったらブループリントから始め、慣れてから手動構築を試すのが無理のない順番です。
方法1: WordPressブループリントで作成する
インスタンスを作成する
- AWSアカウントでサインインし、Lightsailコンソールを開きます。
- 「インスタンス」で「インスタンスの作成」(Create instance)を選びます。
- リージョンとアベイラビリティーゾーンを選びます。日本の読者向けならアジアパシフィック(東京)が候補です。
- プラットフォームに「Linux/Unix」を選び、ブループリントで「WordPress」を選びます。提供元(Blueprint provider)を選ぶ欄がある場合、AWSのドキュメントでは「Lightsail」が推奨されています。
- プラン(メモリ・vCPU・SSD・転送量の組み合わせ)を選び、インスタンス名を付けて作成します。
作成後、インスタンスの管理画面右上に表示されるパブリックIPv4アドレスをブラウザで開くと、WordPressのサンプルページが表示されます。料金や無料枠の条件は変わることがあるため、作成前にLightsailの料金ページで確認してください。
管理者パスワードを確認してログインする
初期の管理者パスワードはインスタンス内に保存されています。
- インスタンスの管理画面の「WordPress」パネルで「Retrieve default password」を選びます。
- 「Launch CloudShell」を選び、表示されたコマンドをコピーしてCloudShellに貼り付けて実行します。
- 表示されたパスワードを控えます。
Bitnami提供のWordPressイメージの場合は、SSHで接続して次のコマンドでも確認できます。
cat $HOME/bitnami_application_password
ログイン画面は http://パブリックIP/wp-admin です。AWSのドキュメントでは、ユーザー名は user と案内されています。ログインしたら、「ユーザー」→「プロフィール」で推測されにくいパスワードに変更してください。
静的IP・ドメイン・HTTPSを設定する
インスタンスに最初に割り当てられるパブリックIPは、インスタンスを停止・起動すると変わります。ドメインを向ける前に静的IPを付けておきます。
LightsailのWordPressインスタンスには、これらをまとめて設定するウィザードがあります。
- インスタンスの管理画面の「接続」(Connect)タブで「Set up your website」を選びます。
- 使うドメインを指定します(Lightsailで登録・管理しているドメインか、他社で取得したドメイン)。
- DNSの管理方法を選びます。他社のDNSを使う場合は、表示された内容でAレコードを自分で登録します。
- 静的IPを作成します。
- ドメインの割り当て(apexと
wwwなど)を追加します。 - Let's Encryptの証明書を作成します(メールアドレスを入力し、Lightsailが証明書を設定することに同意する項目にチェック)。
設定には最大15分ほどかかり、その間はインスタンスを停止したり変更したりしないよう案内されています。ウィザードの実行中は、ファイアウォールでポート22・80・443が全IPアドレスから開いている必要があります。完了後は http://ドメイン へのアクセスが https://ドメイン に転送されることを確認してください。Let's Encryptの証明書は自動で更新されます。
静的IPだけを先に作る場合は、左メニューの「ネットワーキング」(Networking)→「静的IPの作成」(Create static IP)から作成し、対象のインスタンスに割り当てます。
方法2: OSのみのインスタンスに手動で構築する
ここからは、Ubuntu 24.04 LTS(標準リポジトリのMySQL 8.0とPHP 8.3を使う構成)での手順です。ブループリントでは「OSのみ」(Operating System (OS) only)から「Ubuntu」を選んでインスタンスを作成し、インスタンス管理画面の「SSHを使用して接続」(Connect using SSH)か、ダウンロードした鍵を使ってSSHで接続します。Ubuntuのログインユーザーは ubuntu です。
ssh -i ~/.ssh/LightsailDefaultKey-ap-northeast-1.pem ubuntu@パブリックIP
以降のコマンドは一般ユーザー(ubuntu)で実行し、管理者権限が必要なものには sudo を付けています。
Apache・MySQL・PHPを入れる
sudo apt update
sudo apt -y upgrade
sudo apt install -y apache2 mysql-server \
php libapache2-mod-php php-mysql \
php-curl php-gd php-intl php-mbstring php-xml php-zip
php-curl から php-zip は、WordPressのサイトヘルスで推奨される拡張機能の一部です。インストール後に「ツール」→「サイトヘルス」で不足が表示された場合は、同じ要領で追加します。
MySQLの初期設定とデータベースの作成
まず mysql_secure_installation で、匿名ユーザーやテスト用データベースを削除します。
sudo mysql_secure_installation
質問には次のように答えるのが一般的です。
- パスワード強度を検査するコンポーネント(VALIDATE PASSWORD): 使う場合は有効にし、強度のレベルを選ぶ
- 匿名ユーザーの削除: Yes
- rootのリモートログイン禁止: Yes
- testデータベースの削除: Yes
- 権限テーブルの再読み込み: Yes
UbuntuのMySQLでは、rootユーザーはパスワードではなく auth_socket で認証されます(OSのrootとして sudo mysql を実行するとログインできる方式)。そのため、rootのパスワード設定は省略される旨のメッセージが出ることがありますが、そのまま進めて問題ありません。
次に、WordPress用のデータベースとユーザーを作ります。MySQL 8.0では GRANT ... IDENTIFIED BY の書き方はエラーになるので、CREATE USER でユーザーを作ってから GRANT で権限を付けます。
sudo mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'ここに長くランダムなパスワード';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
EXIT;
CREATE USER と GRANT で作った権限はすぐに有効になるため、FLUSH PRIVILEGES は不要です。
WordPressを配置する
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
sudo mv /tmp/wordpress /var/www/wordpress
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} +
sudo find /var/www/wordpress -type f -exec chmod 644 {} +
chmod -R 755 で一括指定するとファイルにも実行権が付いてしまうため、ディレクトリ755・ファイル644に分けて設定します。
wp-config.phpを作る
cd /var/www/wordpress
sudo -u www-data cp wp-config-sample.php wp-config.php
sudo -u www-data nano wp-config.php
データベースの接続情報を、作成したものに書き換えます。
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'ここに長くランダムなパスワード' );
define( 'DB_HOST', 'localhost' );
同じファイルにある AUTH_KEY から NONCE_SALT までの8行は、https://api.wordpress.org/secret-key/1.1/salt/ が出力する値で置き換えます。最後に、wp-config.phpを所有者だけが読み書きできるようにします。
sudo chmod 600 /var/www/wordpress/wp-config.php
Apacheのバーチャルホストを設定する
既定の 000-default.conf を書き換えるより、WordPress用の設定ファイルを別に作るほうが管理しやすくなります。
sudo nano /etc/apache2/sites-available/wordpress.conf
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/wordpress
<Directory /var/www/wordpress>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/wordpress_error.log
CustomLog ${APACHE_LOG_DIR}/wordpress_access.log combined
</VirtualHost>
AllowOverride All は、パーマリンク設定でWordPressが書き出す .htaccess を有効にするためのものです。設定を有効にし、構文を確認してから再読み込みします。
sudo a2ensite wordpress
sudo a2dissite 000-default
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl reload apache2
apache2ctl configtest が Syntax OK を返さない場合は、表示された行番号の記述を見直してください。a2enmod rewrite を初めて有効にした場合、モジュールの読み込みには sudo systemctl restart apache2 が必要です。
ブラウザでインストールを完了する
http://パブリックIP/ を開くと、WordPressのインストール画面が表示されます。データベースの情報はwp-config.phpに書いてあるので、ここで入力するのはサイトのタイトル、管理者のユーザー名・パスワード・メールアドレスです。ユーザー名に admin のような推測されやすい名前は避けてください。
HTTPSを設定する
静的IPを割り当て、ドメインのAレコードをそのIPに向けたあと、Let's Encryptの証明書をcertbotで取得します。Lightsailのファイアウォールで443番ポート(HTTPS)を開いておく必要があります。
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d example.com -d www.example.com
certbotはApacheの設定にHTTPS用のバーチャルホストを追加し、更新用のタイマーも登録します。自動更新が動くかは sudo certbot renew --dry-run で確認できます。証明書の更新についてはApacheでLet's Encryptの証明書を自動更新する方法も参考にしてください。
ファイアウォールを確認する
Lightsailのインスタンスには、コンソールで設定するファイアウォールがあります。インスタンス管理画面の「ネットワーキング」(Networking)タブで、IPv4とIPv6それぞれのルールを確認します。2026年10月時点のAWSのドキュメントでは、新規インスタンスの既定ルールは次のとおりです。
| インスタンスの種類 | 既定で開いているポート |
|---|---|
| WordPressブループリント | SSH(22)、HTTP(80)、HTTPS(443) |
| Ubuntuなど OSのみ | SSH(22)、HTTP(80) |
手動構築でHTTPSを使う場合は、「ルールを追加」でHTTPS(443)を追加してください。SSH(22)は、可能であれば接続元を自分のIPアドレスに絞ると安全性が上がります。ただし、ブループリントの設定ウィザードを実行している間は、22・80・443を全IPアドレスから開いておく必要があります。
Lightsailのファイアウォールで十分なので、OS側の ufw は必須ではありません。併用する場合は、SSHを許可する前に有効にすると接続できなくなるため、次の順番で設定します。
sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status
運用で気をつけること
- スナップショットを取る: 大きな変更の前には、インスタンスのスナップショットを作成しておくと元に戻せます。自動スナップショットも設定できます。詳しくはVPSのスナップショットでバックアップする方法を参照してください。
- 更新を続ける: 手動構築の場合、OSのパッケージは
sudo apt update && sudo apt upgradeで、WordPress本体・プラグイン・テーマは管理画面から更新します。 - データベースのパスワードを使い回さない: WordPress用のDBユーザーは、そのサイト専用にします。
- SSHは鍵認証で: パスワード認証のSSHは使わず、鍵で接続します。設定はSSHの公開鍵認証を設定する方法が参考になります。
まとめ
- 手早く始めるならWordPressブループリント。初期パスワードはコンソールの「Retrieve default password」とCloudShellで確認し、ユーザー名は
user - ブループリントでは「Set up your website」のウィザードで、ドメイン・DNS・静的IP・Let's Encryptの証明書をまとめて設定できる
- 手動構築では、すべての管理コマンドに
sudoを付け、mysql_secure_installationを実行し、MySQL 8.0ではCREATE USERのあとにGRANTで権限を付ける - ファイルの権限はディレクトリ755・ファイル644、wp-config.phpは600。Apacheは専用のバーチャルホストで
AllowOverride Allを設定する - ファイアウォールはLightsailのコンソールで管理し、HTTPSを使うなら443番を開く。ufwを併用するならSSHを先に許可する