AWS EC2でWordPress環境を構築する

AWS EC2でWordPress環境を構築する プログラミング

この記事では、AWS EC2(AmazonLinux2023)上にWordPress環境を構築する手順を解説します。

全体構成

1.ネットワーク構築

VPC作成

  • AWSマネジメントコンソール>VPCでVPCを新たに作成します。
  • ciderは、「10.0.0.0/16」で設定します。

パブリックサブネット作成

  • 新規作成したVPC内にサブネットを作成します。
  • ciderは、「10.0.10.0/24」で設定します。
  • AZは任意のものを設定します。

インターネットゲートウェイ作成

  • インターネットゲートウェイ作成します。
  • 先ほど作成したVPCへのアタッチします。

ルートテーブル作成

  • ルートテーブルの作成を作成します。
  • 送信先「0.0.0.0/0」、ターゲットを「インターネットゲートウェイ」にします
  • 先ほど作成したサブネットへアタッチして、パブリックサブネットのインターネットへの通信が全てインターネットゲートウェイにルーティングされるようにします。

2.Webサーバー(Apache)の構築

EC2インスタンス作成

  • 作成したパブリックサブネットにEC2を作成します。

セキュリティグループ作成

  • ソース「0.0.0.0」(インターネット)でポート22(SSH)、443(HTTPS)、80(HTTP)を許可設定にします。
  • 先ほど作成したEC2にセキュリティグループをアタッチします。

SSHでEC2に接続

  • クライアントからEC2へSSH接続します。
  • VScodeからの接続方法は以下の動画が参考になります。

【AWS EC2入門】クラウド上にサーバを構築!SSH接続してFlaskのWebアプリをデプロイしてみよう!〜初心者向け〜

  • TeraTermで接続する場合は以下サイトが参考になります。

Windowsユーザー向け:Tera Termを使ったLinuxサーバーへの簡単SSH接続方法について – Qiita

💡補足
サーバーの遠隔操作として、SSHとRDP接続がある。どちらも遠隔操作という観点では同じだが、LinuxにCLIでアクセスする場合はSSH、WindowsサーバーなどにGUI接続する場合はRDP接続など利用シーンが分かれます。

Webサーバーをインストールする

  • dnf(パッケージ管理ツール)のアップデート
sudo dnf update -y
  • Apacheのインストール
sudo dnf -y intall httpd
  • Apacheの起動
sudo systemctl start httpd.service
  • Apacheのステータス確認
sudo systemctl status httpd.service
  • EC2のグローバルIPにブラウザで接続し「It Works」が表示されていればOK!
  • サーバーの起動と合わせてApacheが起動するように設定する
sudo systemctl enable httpd.service

3.DBサーバーの構築

プライベートサブネット作成

  • RDSのサービス仕様として、事前にAZが異なるプライベートサブネットを2つ作成する必要があります
  • ciderが「10.0.20.0/24」のプライベートサブネット①と「10.0.21.0/24」のプライベートサブネット②の2個分を同様の手順で作成します。

RDS(MySQL)の作成

  • EC2のダッシュボードにいき、新規セキュリティグループの作成をします。
  • MySQL/Aurora(3306)のポートに対して、先ほど作成したEC2(Webサーバー)のセキュリティグループから接続許可をするようなセキュリティグループを作成します。

💡 補足
RDS作成時に事前にWebサーバーからRDSに接続するためのSGを作成する!忘れるとうまく接続できない!

  • マネジメントコンソールでRDSの管理画面にいき、新規DBを作成します。
  • 上記で作成したセキュリティグループをアタッチします。
  • 作成時の「マスターユーザー」と「パスワード」は後で使用するので確認しておきます。

WebサーバーからRDSに接続

  • SSHでEC2(Webサーバー)に接続します
  • MySQLコマンドをWebサーバーにインストール
sudo dnf install mariadb105


MySQL コマンドラインクライアントのインストール – Amazon Relational Database Service

  • マネジメントコンソールでRDSのエンドポイントの確認し、WebサーバーからRDSに接続する
mysql -h **エンドポイントURL** -u **root(DBユーザ名)** -p 
>パスワード入力

4.WordPressの構築

WordPress用のデータベースの設定

  • 上記と同じ手順でEC2(Webサーバー)からRDSに接続します。
  • データベースをの中身を確認します。 RDS作成時に作成したデータベースが表示されます。もしなければ、CREATEします。
SHOW DATABASES;
CREATE DATABASE aws_wp_mysql_db; # データベース
  • ユーザーの作成をします。(パスワードあり)
CREATE USER 'ユーザー名'@'%' IDENTIFIED BY 'パスワード';
  • データベースへの操作権限を付与します。
GRANT ALL ON データベース名.* TO 'ユーザー名'@'%';
  • 設定を反映させます。
FLUSH PRIVILEGES;
  • 接続を切ります。
exit;

WordPressのインストール

  • phpのインストールします。
sudo dnf install php
  • phpのパッケージをインストールします。
sudo dnf install php-fpm php-mysqli php-json php php-devel
  • WordPressをホームにインストールして解凍します。
cd ~ 
wget <https://ja.wordpress.org/latest-ja.tar.gz> 
tar xzvf latest-ja.tar.gz
  • Apacheの公開フォルダ配下にファイルをコピーしてApacheに参照権限を与えます。
cd wordpress/ 
sudo cp -r * /var/www/html/ 
sudo chown apache:apache /var/www/html/ -R
  • Apacheを再起動して設定を反映させます。
sudo systemctl restart httpd.service

WordPressの設定

  • Webサーバー(EC2)のパブリックIPにアクセスします。
  • 初期設定画面でWordpressの設定情報(DB情報)を入力。
    ※データベースのホスト名はRDSのエンドポイント
  • 設定が完了すると、WordPressの管理画面が表示されます。
タイトルとURLをコピーしました