MENU
オンライン講座開催中

AWS EC2でWordPressを公開する方法【LAMP環境構築 完全手順・Amazon Linux 2023】

AWS EC2でWordPressを公開する方法【LAMP環境構築 完全手順】

AWSのEC2を使ってWordPressをゼロから公開するまでの手順をまとめました。 Amazon Linux 2023 + Apache + MariaDB + PHPの構成です。


目次

必要なもの

  • AWSアカウント
  • Mac(Windowsの場合はコマンドが一部異なります)
  • お名前.comなどのドメイン(SSL化する場合)

EC2とは?

EC2とは「Amazon Elastic Compute Cloud」の略で、AWSが提供する仮想サーバーサービスです。

簡単に言うと、クラウド上にレンタルできるパソコンのようなものです。


普通のレンタルサーバーとの違い

mixhostやエックスサーバーのような共有レンタルサーバーは、1台の物理サーバーを複数のユーザーで共有しています。設定の自由度が低い代わりに、難しい操作なしですぐ使えます。

EC2は1台まるごと自分専用のサーバーを借りるイメージです。OSのインストールからソフトウェアの設定まで全部自分でできる代わりに、自分でセットアップする必要があります。

共有レンタルサーバーEC2
設定の自由度低い高い
難易度かんたんやや難しい
root権限なしあり
料金月額固定使った分だけ
無料枠なしあり(750時間/月)

EC2のメリット

自分でサーバーを構築できるため、mixhostでは使えなかった以下のような機能も自由に設定できます。

  • PHPの設定を自由に変更できる
  • Redisなどのキャッシュシステムを使える
  • Imagickなど好きなライブラリをインストールできる
  • 複数のサイトを1台で運用できる

料金について

⚠️ AWSは2025年7月15日に無料枠の仕様を変更しました。アカウントの作成日によって条件が異なります。

2025年7月15日より前にアカウントを作成した場合(旧プラン)

t3.microはアカウント作成から12ヶ月間、月750時間まで無料で使えます。750時間は約31日分なので、1台起動したままにしても無料枠内に収まります。

2025年7月15日以降にアカウントを作成した場合(新プラン)

無料枠の有効期間はアカウント作成から6ヶ月間、または$100のクレジットを使い切るまでのどちらか早い方です。期間を超えると無料枠の上限を超えることはできません。

無料期間終了後は1時間あたり約$0.0136(約2円)かかります。個人ブログであれば月額約1,000円前後が目安です。


⚠️ 停止中も課金される場合があります

「インスタンス停止中のEBS(ストレージ)料金が毎月発生していた」というケースも少なくありません。使わないときはインスタンスを「終了(削除)」するか、Elastic IPを解放しておきましょう。

⚠️ 2024年2月1日より、パブリックIPv4アドレスが課金対象になっています。Elastic IP以外のパブリックIPを使っている場合も料金が発生することがあるので注意してください。

STEP 1|EC2インスタンスを作成する

1-1. AWSコンソールにログインする

https://console.aws.amazon.com にアクセスしてログインします。


1-2. EC2を開く

画面上部の検索バーに「EC2」と入力 → 「EC2」をクリック。

左メニューの「インスタンス」→「インスタンスを起動」ボタンをクリックします。


1-3. 名前を入力する

「名前とタグ」の欄に好きな名前を入力します(例:my-wordpress)。 あとから自分のインスタンスを識別するためのものなので、何でもOKです。


1-4. AMI(OS)を選ぶ

AMIとは「Amazon Machine Image」の略で、サーバーにインストールするOSのことです。Macを買ったときに最初からmacOSが入っているように、EC2もOSを選んで起動します。

「アプリケーションおよびOSイメージ(Amazon マシンイメージ)」の欄を確認します。

「Amazon Linux 2023 AMI」 を選びます。

画面上部のタブに「クイックスタート」が表示されていれば、一番左の「Amazon Linux」をクリックします。その中から以下を選んでください。

項目確認内容
名前Amazon Linux 2023 AMI
アーキテクチャ64ビット(x86)
無料利用枠の対象「無料利用枠の対象」と表示されているか確認

⚠️ 似た名前で 「Amazon Linux 2 AMI」 がありますが、こちらは古いバージョンです。必ず 「2023」 を選んでください。

1-5. インスタンスタイプを選ぶ

インスタンスタイプとは、サーバーのスペック(CPUやメモリの性能)のことです。

「インスタンスタイプ」の欄で t3.micro」 を選びます。

検索ボックスに「t3.micro」と入力すると絞り込めます。

t3.microのスペック

項目スペック
vCPU2
メモリ1GB
無料枠750時間/月(約31日分)
料金(無料枠終了後)約$0.0136/時間

✅ 個人ブログなら十分なスペックです。月間数万PV程度であれば問題なく動きます。

⚠️ 似た名前で 「t2.micro」 もありますが、t3.microの方が新しくて性能が少し上です。どちらも無料枠対象なのでt3.microを選びましょう。

⚠️ 「t3.small」や「t3.medium」など他のタイプは無料枠対象外で即課金されます。必ずt3.microを選んでください。


1-6. キーペアを作成する

キーペアとは、EC2サーバーにSSHで接続するための「鍵」です。家の鍵と同じで、これがないとサーバーに入れません。

「キーペア(ログイン)」の欄の右側にある 「新しいキーペアの作成」 をクリックします。

小さなウィンドウが開くので、以下のように設定します。

項目設定値
キーペア名好きな名前(例:mysite-key
キーペアのタイプRSA
プライベートキーファイル形式.pemMacの場合

設定できたら 「キーペアを作成」 ボタンをクリックします。

クリックした瞬間に .pem ファイルが自動でダウンロードされます。

⚠️ このファイルは二度とダウンロードできません。 AWSは同じファイルを再発行してくれないので、削除・紛失した場合はEC2インスタンスを作り直すことになります。

ダウンロード直後に以下の場所に移動しておきましょう。

~/Documents/mysite-key.pem

Finderを開いて「ダウンロード」フォルダから「書類」フォルダにドラッグ&ドロップでOKです。


1-7. セキュリティグループを設定する

セキュリティグループとは、サーバーへの通信を許可・拒否するファイアウォールのようなものです。初期状態では全ての通信がブロックされているので、必要なポートを開放します。

「ネットワーク設定」の欄を確認します。

SSH(ポート22)を許可する

「SSHトラフィックを許可する」のチェックボックスにチェックを入れます。 → これはMacのターミナルからサーバーに接続するために必要です。チェックがないとSSH接続できません。

ソース(接続元)は 「任意の場所」(0.0.0.0/0) でOKです。自宅のIPアドレスが変わっても接続できます。

HTTP(ポート80)を許可する

「HTTPトラフィックをインターネットから許可する」のチェックボックスにチェックを入れます。 → これはブラウザでWordPressのサイトを表示するために必要です。チェックがないとサイトが表示されません。

✅ 最終的に以下の2つにチェックが入っていればOKです。
  • SSHトラフィックを許可する(ポート22)
  • HTTPトラフィックをインターネットから許可する(ポート80)

⚠️ HTTPS(ポート443)はこの時点では不要です。ドメインを取得してSSL化する際に追加します。


1-8. インスタンスを起動する

右側の「インスタンスを起動」ボタンをクリックします。

「インスタンスの状態」が 「実行中」(緑のマーク) になるまで1〜2分待ちます。


1-9. IPアドレスを確認する

EC2 → インスタンス → 作成したインスタンスをクリック → 下の詳細パネルに「パブリック IPv4 アドレス」が表示されます。

この数字(例:54.xxx.xxx.xxx)がサーバーのアドレスです。後のSSH接続で使うのでメモしておきましょう。


これでインスタンスの作成は完了です!次のSTEPでSSH接続します。

STEP 2|SSH接続する

2-1. .pemファイルを移動する

ダウンロードされた .pem ファイルをDocumentsフォルダに移動します。

Finderを開いて「ダウンロード」フォルダから「書類」フォルダにドラッグ&ドロップするか、ターミナルで以下を実行します。

bash

mv ~/Downloads/キーペア名.pem ~/Documents/

2-2. ターミナルを開く

Macの場合は Command + スペース で Spotlight検索を開き、「ターミナル」と入力してEnterを押します。


2-3. Documentsフォルダに移動する

ターミナルを開いたらまず作業フォルダに移動します。

bash

cd ~/Documents

cd は「Change Directory」の略で、フォルダを移動するコマンドです。


2-4. .pemファイルの権限を設定する

bash

chmod 400 キーペア名.pem

chmod 400 は「このファイルを自分だけ読める状態にする」コマンドです。これをやらないとSSH接続時に以下のエラーが出て接続できません。

WARNING: UNPROTECTED PRIVATE KEY FILE!

2-5. SSH接続する

bash

ssh -i "キーペア名.pem" ec2-user@(IPアドレス)

初回接続時に以下のメッセージが出ます。

Are you sure you want to continue connecting (yes/no/[fingerprint])?

yes と入力してEnterを押してください。

接続に成功すると以下のような鳩のアスキーアートが表示されます。

   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'

プロンプトが以下のように変わればログイン成功です!

[ec2-user@ip-xxx-xxx-xxx-xxx ~]$

⚠️ ec2-user はAmazon Linux 2023のデフォルトユーザー名です。UbuntuなどのOSを選んだ場合は ubuntu になります。

STEP 3|LAMP環境をインストールする

bash

sudo dnf update -y
sudo dnf install -y httpd php php-mysqlnd php-fpm php-json mariadb105-server

インストールが完了したらサービスを起動します。

bash

sudo systemctl start httpd
sudo systemctl start mariadb
sudo systemctl enable httpd
sudo systemctl enable mariadb

ブラウザで http://(IPアドレス) にアクセスして「It works!」が表示されれば成功です。


STEP 4|データベースを作成する

bash

sudo mysql -u root

sql

CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'パスワード';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

STEP 5|WordPressをインストールする

bash

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/html/
sudo chown -R apache:apache /var/www/html/wordpress

wp-config.phpを設定します。

bash

sudo cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
sudo sed -i "s/database_name_here/wordpress/" /var/www/html/wordpress/wp-config.php
sudo sed -i "s/username_here/wpuser/" /var/www/html/wordpress/wp-config.php
sudo sed -i "s/password_here/パスワード/" /var/www/html/wordpress/wp-config.php

Apacheの設定ファイルを作成します。

bash

sudo tee /etc/httpd/conf.d/wordpress.conf << 'EOF'
<VirtualHost *:80>
    DocumentRoot /var/www/html/wordpress
    <Directory /var/www/html/wordpress>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
EOF

httpd.confのDocumentRootも変更します。

bash

sudo sed -i 's|DocumentRoot "/var/www/html"|DocumentRoot "/var/www/html/wordpress"|' /etc/httpd/conf/httpd.conf
sudo systemctl restart httpd

ブラウザで http://(IPアドレス) にアクセスしてWordPressのインストール画面が表示されれば成功です!


STEP 6|Elastic IP(固定IP)を設定する

Elastic IP(固定IP)とは?

Elastic IPとは、AWSが提供する固定のIPアドレスのことです。


そもそもIPアドレスとは?

IPアドレスとは、インターネット上の住所のようなものです。

ブラウザでWebサイトを開くとき、実際には https://54.238.232.51 のようなIPアドレスにアクセスしています。ドメイン(charakatsu.com など)は、このIPアドレスをわかりやすい文字列に変換したものです。

EC2のIPアドレスは再起動すると変わる

EC2はデフォルトでIPアドレスが動的に割り当てられます。つまり、インスタンスを停止→起動するたびにIPアドレスが変わります。

これが起きると以下の問題が発生します。

  • SSH接続に使っていたIPでつながらなくなる
  • ブラウザでサイトが表示されなくなる
  • ドメインのDNS設定をやり直す必要が出る

WordPressを運用していると、ちょっと作業を中断してEC2を停止した後に再起動したら全部つながらなくなった…というトラブルが起きやすいです。


Elastic IPで固定IPを取得する

Elastic IPを設定すると、EC2を何度再起動してもIPアドレスが変わらなくなります。

通常のIPElastic IP
再起動後IPが変わるIPが変わらない
ドメインとの紐付け毎回やり直し一度設定すればOK
SSH接続毎回IPを確認同じIPで接続できる

料金について

Elastic IPは以下のルールで課金されます。

状態料金
インスタンスが起動中無料
インスタンスが停止中約$0.005/時間
インスタンスに関連付けていない約$0.005/時間

✅ インスタンスを起動したまま使っている間は無料です。個人ブログで常時稼働させていれば基本的に料金はかかりません。

⚠️ EC2を削除するときはElastic IPも忘れずに解放しましょう。インスタンスがない状態でElastic IPだけ残っていると課金が続きます。

Elastic IP(固定IP)を設定作業内容

EC2を再起動するとIPアドレスが変わってしまいます。Elastic IPを設定すると固定IPになります。

  1. EC2 → 左メニュー「Elastic IP」
  2. 「Elastic IPアドレスを割り当てる」→「割り当て」
  3. 割り当てたIPを選択 →「アクション」→「Elastic IPアドレスを関連付ける」
  4. インスタンスを選択して「関連付ける」

✅ 起動中は無料で使えます。停止中は課金されるので使わない場合は削除しましょう。

IPが変わったらWordPressのURLを更新します。

bash

sudo mysql -u root wordpress -e "UPDATE wp_options SET option_value='http://(ElasticIP)' WHERE option_name='siteurl' OR option_name='home';"


STEP 7|ドメインを紐付ける(お名前.com)

お名前.com管理画面 → DNS設定 → DNSレコード設定でAレコードを追加します。

ホスト名TYPEVALUE
空欄(@)AElastic IPアドレス

ネームサーバーを以下に変更するのを忘れずに!

  • 01.dnsv.jp
  • 02.dnsv.jp
  • 03.dnsv.jp
  • 04.dnsv.jp

反映後にURLを更新します。

bash

sudo mysql -u root wordpress -e "UPDATE wp_options SET option_value='http://ドメイン名' WHERE option_name='siteurl' OR option_name='home';"

補足|ファイルアップロードの上限を上げる

大きなテーマをアップロードなどするとエラーになることがあります。その場合は以下を実行してください。

bash

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 64M/' /etc/php.ini
sudo sed -i 's/post_max_size = 8M/post_max_size = 64M/' /etc/php.ini
sudo systemctl restart httpd
sudo systemctl restart php-fpm

補足|よく使うコマンド

bash

# EC2にSSH接続
ssh -i "~/Documents/キーペア名.pem" ec2-user@(IPアドレス)

# Apacheを再起動
sudo systemctl restart httpd

# Apacheのエラーログを確認
sudo tail -f /var/log/httpd/error_log

# SSH接続を切断
exit

以上でAWS EC2にWordPressを公開する手順は完了です! 「AWS EC2でLAMP環境構築」は転職・ポートフォリオのアピールにもなるので、ぜひ挑戦してみてください。

  • URLをコピーしました!
目次