AWSのEC2でWordPress構築

# はじめに
AWSでWordPressを構築します。Debian系Linuxが好きなので、AWSなのにAmazon Linuxを使用せずにUBuntuで環境構築をします。
※RDSなどを使用せず、インスタンス内にデータベースをインストールしています。

# VPCの作成
- 公開するので、VPCウィザードの起動から、1 個のパブリックサブネットを持つ VPCを選択します。
![スクリーンショット (25).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/ff982665-433e-1256-ef12-4628016b6ec8.png)

- VPC名を設定します。
![スクリーンショット (26).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/ff30f3c7-4cd1-57f4-1c92-08edb1c1076c.png)


# インスタンスの作成
- OSにUbuntu Server 18.04 LTSを使用します。
![スクリーンショット (23).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/3bdf84a5-666d-6200-5d66-9f850aa1d2b4.png)

- インスタンスの詳細の設定から、作成したVPCを指定します。
![スクリーンショット (27).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/083dd650-2190-b6f9-5bbc-31260fd0ef9b.png)

- ストレージは合計30GBまでは無料枠内で利用することが出来ます。
![スクリーンショット (28).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/ce983b9a-1718-f63e-9472-2c1bb229c08d.png)

- インスタンスにタグをつけることが出来ます。わかりやすくWordPressと名前を付けました。
![スクリーンショット (29).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/9afdfc9d-81cb-9058-95ab-fff472e4e443.png)

- セキュリティグループの設定を行います。セキュリティを高めるため、SSH接続はマイIPを使用するようにします。外部に公開するために、ルールの追加から、HTTPを追加します。
<img width="1080" alt="スクリーンショット (32).png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/482dfab3-f903-0f6b-26c3-aa21a8b83700.png">


- インスタンスに接続するための秘密鍵の設定をします。既存のキーを使用するか、新たにキーを取得します。
![スクリーンショット (31).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/187cc8fe-6ec6-f02f-7c49-60b6040dfc1f.png)

# 固定IPアドレスの割り当て
EC2ダッシュボードのネットワーク&セキュリティから、Elastic IPを選択します。

- Elastic IPアドレスの割り当てを開き、割り当てをクリックします。
![スクリーンショット (33).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/f550167f-c739-16ff-8c33-3d0cddc540a7.png)

- 取得したIPアドレスが選択された状態で、アクションからElastic IP アドレスの関連付けをクリックします。インスタンスが選択されていることを確認し、インスタンスの入力ボックスをクリックし、先ほど作成したインスタンスを選択します。
<img width="666" alt="スクリーンショット (34).png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/024cc47e-5ba1-c009-854c-8b8e47c65b36.png">

# インスタンスに接続(Win10のコマンドプロンプトから接続)
- 秘密鍵のあるディレクトリに移動し、インスタンスに接続します。

```
ssh -i <秘密鍵.pem> -l ubuntu <IPアドレス又はDNS>
```
<img width="729" alt="スクリーンショット (35).png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/b084018d-4bb3-9c0d-ac04-ac745f769b35.png">

# パッケージのアップデート

```
sudo apt-get update
sudo apt-get -y upgrade
```

# タイムゾーンの変更
- 初期の世界標準時から、日本時間に変更します。

```
sudo timedatectl set-timezone Asia/Tokyo
```

# Apacheのインストール

```
sudo apt-get -y install apache2
```
- インストール後、インスタンスのIPアドレスにアクセスし、テストページが表示されると成功です。
![スクリーンショット (36).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/117986a6-c701-9527-0502-0ad0347dc50f.png)

# PHPのインストール

```
sudo apt-get -y install php php-mysql
```

# データベース(MariaDB)のインストール

```
sudo apt-get -y install mariadb-server mariadb-client
```
# WordPress用データベースの作成

```
sudo mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8;
```

`SHOW DATABASES;`を実行してデータベースが作成されたか確認します。

# WordPressで使用するデータベースユーザーの作成(SQL)
```
GRANT ALL ON wordpress.* TO wordpress@localhost IDENTIFIED BY '<パスワード>';
FLUSH PRIVILEGES;
quit
```

# フォルダの所有者の変更

```
cd /var/www
sudo chown ubuntu:ubuntu html
```

# WordPressのダウンロード、展開

```
cd /var/www/html
wget https://ja.wordpress.org/latest-ja.tar.gz
tar xf latest-ja.tar.gz
rm latest-ja.tar.gz
sudo chmod -R 777 wordpress
sudo chown -R www-data:www-data wordpress
```

# WordPressのインストール
- インスタンスのIPアドレス(DNS)にwordpressをくっつけて、ブラウザでアクセスします。

```
IPアドレス又はDNS/wordpress
```

![スクリーンショット (37).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/1960fdce-2f35-5123-4994-ce3510901d13.png)

- さぁ、始めましょう！をクリックし、次に進みます。
- データベースユーザーの作成の際に指定したパスワードを入力して、送信をクリックします。
![スクリーンショット (45).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/692a192e-3dfc-475e-6918-98baa9052d15.png)

- 問題がないと、インストールは無事完了しましたの画面が表示されるので、インストール実行をクリックします。
![スクリーンショット (46).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/b47818a1-fd28-0883-5276-e8b81b19583d.png)

- ようこそ画面で必要事項を入力します。
![スクリーンショット (47).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/672e7699-36df-7e34-1f7b-3248fd595c6c.png)

- ダッシュボードにログインできると成功です。
![スクリーンショット (48).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483911/ce6608a2-ff3b-893e-bbfa-74ee630c37a6.png)