はじめに
本記事では、AWSのEC2を利用して、無料枠内でWordPress環境を構築する手順を解説します。
Amazon Linux 2023上に、最小構成(t2.microまたはt3.micro)でサーバーを構築し、実際にWordPressが動作するまでを確認できます。
この記事を読むことで、EC2インスタンスの作成から、Apache・PHP・MariaDBのインストール、WordPressの初期設定まで、一通りの流れを理解できます。
初心者の方でも迷わず進められるように、実務で利用される構成をベースに、最短で動作する手順に絞って解説します。
AWSでWebサーバーを構築したい方や、WordPressを自社運用したい方、Lightsailとの違いを理解したい方にもおすすめです。
目次
- EC2インスタンスの作成
- ミドルウェア(Apache/PHP/MariaDB)のインストール
- データベースの作成とWordPressの配置
- WordPressの初期設定
- まとめ
EC2インスタンス作成
1.AWSコンソールへログインし、EC2ダッシュボードを開きます
▼AWS管理コンソールにログインします。
ログイン後、画面右上でリージョン(例:東京 ap-northeast-1)を選択してください。

図1:AWS EC2コンソール画面
▼サービスメニューからEC2を選択し、EC2ダッシュボードを開きます。
💡Tips: リージョン選択は非常に重要です
作成するインスタンス、VPC、サブネットは、すべて選択したリージョン内に作成されます。後から変更できないため、必ず事前に確認してください。
2.インスタンスの起動ウィザードを開始します
▼EC2ダッシュボードの「インスタンス」→「インスタンスを起動」または「インスタンスを起動」ボタンをクリックします。

図2:EC2ダッシュボード
▼「名前とタグ」でインスタンス名(例:wordpress-server)を入力しておくと後から識別しやすくなります。

図3:EC2ダッシュボード
3.AMI(Amazonマシンイメージ)を選択します
▼「アプリケーションおよびOSイメージ(Amazonマシンイメージ)」セクションで、Amazon Linux 2023 kernel-6.1を選択します。

図4:AMI(Amazonマシンイメージ)の選択画面
4.インスタンスタイプを選択します
▼「インスタンスタイプ」セクションで、t2.microまたはt3.microを選択します。これらは無料利用枠の対象です。

図5:インスタンスタイプの選択
⚠️注意
リージョンやアカウント状況によって無料対象フレームの種類が異なる場合があります。
使用量に注意してください。
5.キーペア(キーペア)を設定します
▼「キーペア(ログイン)」のセクションで、「新しいキーペアの作成」をクリックします。
以下の内容で設定し、「キーペアを作成」をクリックしてください。
以下のように入力し[キーペアを作成]
・キーペア名: 任意の名前
・キーのペアタイプ:ED25519(RSAでも可)
・プライベートキーファイル形式:.pem

図6:新しいキーペアの作成画面
⚠️注意
キーペアを紛失すると、SSH接続ができなくなります。
安全な場所に必ず保管してください。
6.ネットワーク設定を行います
▼「ネットワークの設定」セクションで、[編集]をクリックします。VPCは既存のものを使用するか、新規作成を選択できます。通常はデフォルトVPCを使用すれば問題ありません。
▼サブネットは、通常「デフォルトのサブネット」を選択します。今回は冗長化を考慮しない構成のため、ap-northeast-1aを選択して進めます。
▼「パブリックIPの自動割り当て」を有効にします。これにより、インスタンスにパブリックIPv4アドレスが付与され、外部からアクセスできるようになります。

図7:ネットワーク設定画面
7. セキュリティグループ(ファイアウォール)を設定します
▼「セキュリティグループを作成」を選択します。以下の内容で設定しください。
・セキュリティグループ名: 任意の名前
・説明: 任意の説明(未入力でも問題ありません。)
▼インバウンドルールを設定します。以下のルールを追加します。
・HTTP(TCP ポート 80):ソース 0.0.0.0/0
・HTTPS(TCP ポート 443):ソース 0.0.0.0/0
・SSH(TCP ポート 22):ソース 自分のIPアドレス/32(例:123.45.67.89/32)
⚠️注意
SSHのアクセス範囲は、必ず自分のIPアドレスに限定してください。

図8:セキュリティグループの作成
💡Tips: 各ポートの役割
・HTTP(80)はWebサイト閲覧に使用します。
・HTTPS(443)はSSL通信に使用します。
・SSH(22)はサーバーへログインするために使用します。
8.ストレージやタグなどの設定を確認します
▼「ストレージを設定」セクションを確認します。デフォルトのEBSボリューム(通常は8GB)で問題ありません。
WordPressの動作確認が目的であれば、このまま進めても十分です。

図9:セキュリティグループの作成
💡Tips: ストレージ容量について
画像やデータの増加に応じて後からサイズを変更することも可能です。
9.設定を確認し、インスタンスを起動します
▼最終確認画面で、これまでの設定内容を確認します。問題がなければ、「インスタンスを起動(Launch)」ボタンをクリックしてください。

図10:設定の最終確認と起動
その後、インスタンスが “起動中(pending)” → “実行中(running)” となればEC2インスタンスの作成は完了です。

図11:インスタンス一覧画面
10. 接続準備
▼インスタンス詳細ページを開き、パブリックIPv4アドレスを確認します。
▼SSHでサーバーへ接続します。Amazon Linuxのデフォルトユーザーは「ec2-user」です。
コマンド例
|
1 |
ssh -i "my-key.pem" ec2-user@”確認したパブリックIPv4アドレス” |
接続できたら次ステップ(Apache, PHP, MySQL インストール)へ進みます。
Apache / PHP / MySQLをインストールします
1.Apacheをインストールします
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#Apache(httpd)をインストールします。 sudo dnf install httpd -y #Apacheの起動と自動起動を有効化します。 sudo systemctl enable --now httpd #起動状態を確認します。 sudo systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled) Active: active (running) since Tue 2025-11-11 07:37:37 UTC; 30s ago |
「active (running)」と表示されていれば正常に起動しています。
2.PHPをインストールします。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#PHP 8.xインストールします。 sudo dnf install php php-mysqlnd php-fpm php-gd php-xml php-mbstring php-intl php-zip -y #PHP 8.xの起動と自動起動を有効化します。 sudo systemctl enable --now php-fpm #起動状態を確認します。 sudo systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled) Active: active (running) since Tue 2025-11-11 07:48:41 UTC; 26s ago Main PID: 27537 (php-fpm) |
「active (running)」と表示されていれば正常に起動しています。
3.MariaDB(MySQL)をインストールします。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#MariaDB(MySQL)をインストールします。 sudo dnf install mariadb105-server -y #MariaDBの起動と自動起動を有効化します。 sudo systemctl enable --now mariadb #起動状態を確認します。 sudo systemctl status mariadb ● mariadb.service - MariaDB 10.5 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled) Active: active (running) since Tue 2025-11-11 08:08:23 UTC; 10s ago |
「active (running)」と表示されていれば正常に起動しています。
4.MySQL の初期設定を行います。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#MySQLの初期設定を行います。 sudo mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and haven't set the root password yet, you should just press enter here. Enter current password for root (enter for none): ///Enterを押下 #unix_socket 認証に切り替える? Switch to unix_socket authentication [Y/n] /// n(いいえ) #root パスワードを設定する? Set root password? [Y/n] /// y(はい) New password: /// 任意のPASS Re-enter new password: /// PASS再入力 #Anonymous users を削除? Remove anonymous users? [Y/n] /// y(はい) #Remote root login を禁止? Disallow root login remotely? [Y/n] /// y(はい #test データベースを削除? Remove test database and access to it? [Y/n] /// y(はい #特権テーブルをリロード? Reload privilege tables now? [Y/n] /// y(はい |
すべて答えると、MariaDBの初期設定は完了します。
5.WordPress用のデータベースを作成します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#MySQLへログインします。 mysql -u root -p Enter password: /// 設定したroot pass #データベースを作成します。 CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4; #ユーザーを作成します。 CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '任意のパスワード'; <span dir="auto" style="vertical-align: inherit;"> #wordpress データベースの全権限(読み書き、変更など)を評価します。</span><span dir="auto" style="vertical-align: inherit;"> wordpress.* のすべての権限を 'wpuser'@'localhost' に付与します。</span> <span dir="auto" style="vertical-align: inherit;"> #反映します。</span><span dir="auto" style="vertical-align: inherit;"> 権限を付与します。</span> <span dir="auto" style="vertical-align: inherit;"> #ログアウトします。</span><span dir="auto" style="vertical-align: inherit;"> EXIT;</span> |
6.WordPressをダウンロードして配置します
|
1 2 3 4 5 6 7 8 9 10 11 |
<span dir="auto" style="vertical-align: inherit;">#/tmpディレクトリへ移動します。</span><span dir="auto" style="vertical-align: inherit;"> cd /tmp</span> <span dir="auto" style="vertical-align: inherit;"> #WordPressの最新版(最新)をtar.gz形式でダウンロードします。</span><span dir="auto" style="vertical-align: inherit;"> curl -O https://wordpress.org/latest.tar.gz</span> <span dir="auto" style="vertical-align: inherit;"> #ダウンロードしたWordPressの圧縮ファイルを展開します。</span><span dir="auto" style="vertical-align: inherit;"> tar -xvzf 最新.tar.gz</span> <span dir="auto" style="vertical-align: inherit;"> #解凍したWordPressのファイルをApacheの公開ディレクトリに移動します。</span><span dir="auto" style="vertical-align: inherit;"> sudo mv wordpress/* /var/www/html/</span> |
7.wp-config.phpを作成します
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<span dir="auto" style="vertical-align: inherit;">#/var/www/htmlディレクトリへ移動します。</span><span dir="auto" style="vertical-align: inherit;"> /var/www/htmlへ移動</span> <span dir="auto" style="vertical-align: inherit;"> #SALTキーを取得します。</span><span dir="auto" style="vertical-align: inherit;"> curl -s https://api.wordpress.org/secret-key/1.1/salt/</span><span dir="auto" style="vertical-align: inherit;"> 実行すると、以下のようなランダムな長いキーが8行出てきます。</span><span dir="auto" style="vertical-align: inherit;"> キーをメモ帳などでコピーし保管してください。</span><span dir="auto" style="vertical-align: inherit;"> define('AUTH_KEY', 'ランダムな文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('SECURE_AUTH_KEY', 'ランダムな文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('LOGGED_IN_KEY', 'ランダムな文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('NONCE_KEY', '偶然な文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('AUTH_SALT', 'ランダムな文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('SECURE_AUTH_SALT', 'ランダムな文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('LOGGED_IN_SALT', 'ランダムな文字列...');</span><span dir="auto" style="vertical-align: inherit;"> define('NONCE_SALT', '偶然な文字列...');</span> <span dir="auto" style="vertical-align: inherit;"> #wp-config-sample.phpをコピーし、実際に使う設定ファイルwp-config.phpを作成します。</span><span dir="auto" style="vertical-align: inherit;"> sudo cp wp-config-sample.php wp-config.php</span> <span dir="auto" style="vertical-align: inherit;"> #wp-config.phpを編集します。</span><span dir="auto" style="vertical-align: inherit;"> sudo vi wp-config.php</span> <span dir="auto" style="vertical-align: inherit;"> ///以下の内容を設定してください。</span><span dir="auto" style="vertical-align: inherit;"> 定義( 'DB_NAME', 'wordpress' );</span><span dir="auto" style="vertical-align: inherit;"> 定義( 'DB_USER', 'wpuser' );</span><span dir="auto" style="vertical-align: inherit;"> define( 'DB_PASSWORD', 'あなたが設定したパスワード' );</span><span dir="auto" style="vertical-align: inherit;"> 定義( 'DB_HOST', 'localhost' );</span><span dir="auto" style="vertical-align: inherit;"> 定義( 'DB_CHARSET', 'utf8mb4' ); #以下を削除取得したSALTキーと差し替えます。 curl -s https://api.wordpress.org/secret-key/1.1/salt/ </span><span dir="auto" style="vertical-align: inherit;">#編集を終了します。 :wp</span> |
8.パーミッションを設定します
|
1 2 3 4 5 6 7 8 |
<span dir="auto" style="vertical-align: inherit;">#所有者を変更します。</span><span dir="auto" style="vertical-align: inherit;"> sudo chown -R apache:apache /var/www/html</span> <span dir="auto" style="vertical-align: inherit;"> #パーミッションを設定します。</span><span dir="auto" style="vertical-align: inherit;"> sudo find /var/www/html -type d -exec chmod 755 {} \;</span> <span dir="auto" style="vertical-align: inherit;"> #ファイル権限を変更します。</span><span dir="auto" style="vertical-align: inherit;"> sudo find /var/www/html -type f -exec chmod 644 {} \;</span> |
9.Apacheを再起動します
|
1 2 |
<span dir="auto" style="vertical-align: inherit;">#Apacheを再起動します。 sudo systemctl restart httpd</span> |
WordPressの初期設定を行います。
ブラウザーで以下のURLにアクセスします。
|
1 |
<span dir="auto" style="vertical-align: inherit;">http://EC2のパブリックIP/</span> |
WordPressの初期設定画面が表示されるので、言語を選択して「続ける」をクリックします。

次に、WP初期設定として以下の情報を入力します。
・サイトのタイトル: 任意のタイトル
・ユーザー名: 任意のユーザー名
・パスワード: 任意のパスワード
・メールアドレス: 任意のメールアドレス
入力後、「WordPressをインストール」をクリックします。
インストール完了後、設定したユーザー名とパスワードでログインします。

管理画面にアクセスできれば、WordPressの構築は完了です。
ここまで設定できれば、WordPressを始めるための土台はしっかり整えています。
あとは管理画面からテーマやプラグインを追加して、サイト構築を楽しんでください。











