LoginSignup
2
0

More than 3 years have passed since last update.

試しにAWSのEC2にwordpressを設置してみた

Last updated at Posted at 2021-02-28

前提

データベースが必要であり、そのデータベースを設置するために2つのAZが必要になります。ここではap-northeast-1a,1cを使用します。データベースはap-northeast-1aに設置します。以下の構造を作ります。

注意

あくまで試しに作る環境なので、環境を作って動作を確認したら課金が発生する前に環境を削除したほうがいいです。

ap-northeast-1a(AZ)
PublicSubnet1 10.0.0.0/24
PrivateSubnet1 10.0.2.0/24 ここにデータベースを設置します

ap-northeast-1c(AZ)
PublicSubnet2 10.0.1.0/24
PrivateSubnet2 10.0.3.0/24 ここにデータベースを設置します

手順

1)以下のようにVPCを作成する。
Name: MyVPC
IPv4 CIDR: 10.0.0.0/21 このネットワークを手順2)で分割します

2)作成したVPC内に下記のサブネットを作る。
PublicSubnet1 10.0.0.0/24
PublicSubnet2 10.0.1.0/24
PrivateSubnet1 10.0.2.0/24
PrivateSubnet2 10.0.3.0/24

3)EC2を作成する。
OS: AmazonLinux2
インスタンスタイプ: t2micro
ネットワーク: MyVPC1
サブネット: PublicSubnet1
自動割り当てパブリックIP: 有効
ストレージボリューム: とりあえず8GB(デフォルト)
タグ付け(任意)
セキュリティグループ設定でhttp通信を許可する。必要であれば、httpsも許可する。因みにサーバーにping応答させたければ、ICMPを許可してください。
キーペア: 既存のキーペアがあれば、それを使い、まだキーペアがなければ、キーペアを作成してください。

4)インターネットGWを作成し、VPCへアタッチする。

5)PublicSubnet1のルートテーブルに以下を追加してください。
ルート: 0.0.0.0/0
ターゲット: 手順4)で作成したGW

6)データベースのサブネットグループを以下のように作成してください。ここで以降の手順で作成するデータベースをどのAZのどのVPCのどのサブネットに割り当てるかを決定します。
名前: MysubnetGroup
説明: MysubnetGroup
VPC: MyVPC1
AZ: ap-northeast-1a,1c(前提として2つのAZが必要です。)
サブネット: PrivateSubnet1,2

7)以下のようにデータベースを作成してください。
データベース作成方法を選択: 標準作成
エンジンのオプション: MySQL
テンプレート: 開発/テスト
マスターユーザー名: wordpress
パスワード: 任意のパスワード
DBインスタンスサイズ: バースト可能クラス
可用性と耐久性: 「スタンバイインスタンスを作成しないでください」を選択する
接続: MyVPC1
追加の接続設定
サブネットグループ: MysubnetGroup
パブリックアクセス可能: なし(「あり」にするのは非常に危険です)
VPCセキュリティグループ: 新規作成
新しいVPCセキュリティグループ名: RDS-SG-1
AZ: ap-northeast-1a
追加設定
最初のデータベース名: wordpress

他の設定項目はデフォルトで大丈夫です。

8)RDSセキュリティグループのインバウンドルールで接続元をwebサーバーからのみに限定してください。
もともと設定されている接続元のIPアドレスを消去する
「ソース」の検索窓でsgと入力する
Web-SG-1という名前のセキュリティグループを選択する
「保存」を押す

9)作成したEC2環境にターミナルでログインし、apacheとphpをインストールしてください。

管理者権限にスイッチする
sudo su -

パッケージを最新状態にアップデートする
yum -y update

phpをインストールする
amazon-linux-extras install php7.2 -y

apacheとphpに必要なものをインストールする
yum -y install mysql httpd php-mbstring php-xml gd php-gd

apacheがサーバー起動後に自動で起動するように設定する
systemctl enable httpd.service

apacheを起動する
systemctl start httpd.service

apacheのapacheが起動しているかを確認する
systemctl status httpd.service

wordpressの最新パッケージをカレントディレクトリにダウンロードする
wget http://ja.wordpress.org/latest-ja.tar.gz ~/

カレントディレクトリにlatest-ja.tar.gzがあるかを確認する
ll

latest-ja.tar.gzを展開する
tar zxvf ~/latest-ja.tar.gz

wordpressというディレクトリが存在していることを確認する
ll

wordpressを/var/www/htmlにコピーする
cp -r ~/wordpress/* /var/www/html/

/var/www/html/配下のフォルダの所有者をapacheに変更する
chown apache:apache -R /var/www/html

以上でwordpressの閲覧が可能になります。

最後に

この記事はAWS初学者を導く体系的な動画学習サービス
「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com

follow me

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0