AWS勉強 -DBを用いたブログシステムの構築-

# DBを用いたブログシステムの構築

前回でNATゲートウェイを作成したので,プライベートサブネットに配置されたDBサーバーに様々なソフトウェアをインストールできるようになった.
今回はMySQLをインストールしてデータベースを構成したりWebサーバーにWordPressをインストールしたりすることでブログシステムを構築していく.

## 今回の内容

次の順でブログシステムを構築していく.

### DBサーバーの構成

DBサーバーにMySQLをインストールし,WordPressからデータを保存できるようにデータベースを作成する

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

WebサーバーにWordPressをインストールする(そのままじゃん...

### WordPressの初期設定

WordPressを初期設定して上記で作成したデータベースを使うように設定する

## DBサーバーにMySQLをインストールする

### MySQLのインストール

DBサーバーにログインした状態で次のコマンドを入力する.

```shell
$ sudo yum -y install mysql-server
```

<img width="828" alt="スクリーンショット 2018-10-31 23.13.00.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/597087b9-ed93-9dec-811f-a781d01b2360.png">

できないじゃん!!!

http://spacetimebubble.net/blog/2018/07/02/awsでmysqlをインストール/

上記をやったあとに,

https://www.tech-corgi.com/centos7でmysqlを入れてみたら「unit-not-found」が出た/

これもやろう.

### MySQLの起動と初期設定

#### MySQLを起動する

```shell
$ sudo service mysqld start
```

#### 管理者パスワード設定

```shell
$ mysqladmin -u root password
```

<img width="504" alt="スクリーンショット 2018-10-31 23.36.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/73254466-7ff0-ef38-099b-0fd8412b0388.png">

あれれ?????

本とフローが異なってるからうまくいかないなあ...

https://hacknote.jp/archives/27301/

上記で解決!

<img width="559" alt="スクリーンショット 2018-10-31 23.38.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/5eec7298-b956-c036-3f32-fe4c91063b1e.png">

でもこれだと,

```
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
```

このエラーが出てコマンド使えないので,

```shell
mysql> set password for root@localhost=password('hogehogege');
```

で適当に作ろう.

https://qiita.com/RyochanUedasan/items/9a49309019475536d22a

上記参考にー

### WordPress用のデータベース作成

#### データベースを作成する

```shell
$ mysql -p -u root
```

でログイン後,

```shell
mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
```

<img width="596" alt="スクリーンショット 2018-10-31 23.48.12.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/84854e09-d647-689f-cfe2-3f48fcd1c677.png">

#### ユーザーを作成して全てのアクセス権を与える

```shell
mysql> grant all on wordpress.* to wordpress@"%" identified by 'wordpresspasswd';
```

<img width="592" alt="スクリーンショット 2018-10-31 23.53.00.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/c37322ad-60c7-3bd7-377e-3e46de23aaf1.png">

複雑なのにしましょう.

上記の権限を反映させるために`flush privileges`を実行する.

```shell
mysql> flush privileges;
```

#### 作成したwordpressユーザーが本当に登録されているのか確認する

下記コマンドを入力

```shell
mysql> select user, host from mysql.user;
```

<img width="299" alt="スクリーンショット 2018-10-31 23.57.01.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/0bc4ff0f-7f30-a8af-82cf-c33463d5e0fd.png">

できてるね.

下記コマンドでmysqlコマンドを終了しよう.

```shell
mysql> exit;
```

### 自動起動するように構成する

下記コマンドを実行

```shell
mysql> sudo chkconfig mysqld on
```

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

次にWebサーバーにWordPressをインストールしていく

### PHPやMySQLのライブラリのインストール

Webサーバー上でおこなってね!!

#### WordPressの実行に必要なライブラリをインストール

```shell
$ sudo yum -y install php php-mysql php-mbstring
```

#### MySQLへの疎通確認

##### mysqlコマンドをインストール

```shell
$ sudo yum -y install mysql
```

mysqlコマンドが使えるようになったら次のコマンドを実行

```shell
$ mysql -h 10.0.2.10 -u wordpress -p
```

パスワードを入力して接続が確認できたら`exit;`で終了しましょう.

### WordPressのダウンロード

```shell
$ cd ~
$ wget http://ja.wordpress.org/latest-ja.tar.gz
```

### 展開とインストール

#### ダウンロードする

```shell
$ tar xzvf latest-ja.tar.gz
```

#### wordpressディレクトリに移動

```shell
$ cd wordpress
```

#### Apacheから見える位置に配置する

```shell
$ sudo cp -r * /var/www/html/
```

#### ファイルの所有者/グループをapache/apacheに変更する

```shell
$ sudo chown apache:apache /var/www/html -R
```

## WorPressを設定する

WordPressのインストールが終わったので各種設定をしていく.

### Apacheの起動

```shell
$ sudo service httpd start
```

### WordPressを初期設定する

これでWebサーバーにアクセスした時にWordPressの初期設定画面が表示されるはずだ.

なので,Webサーバーに割り当てられているDNS名か,パブリックIPアドレスを調べよう.

<img width="781" alt="スクリーンショット 2018-11-01 0.21.25.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/4fbfbdb6-2cee-75ad-b918-95aa926cc758.png">

#### アクセスする

<img width="1280" alt="スクリーンショット 2018-11-01 0.23.17.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/fccd2e81-5836-9a62-a50e-ca2339b60da6.png">

おーうごいた....よかった...

#### さあ始めましょうをクリックする

<img width="1280" alt="スクリーンショット 2018-11-01 0.24.15.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/f6b98aec-eec3-2940-6753-7fe0ee7eccf1.png">

この画面に移動しますね.

#### データベースを設定する

データベースの情報を入力して行こう!
手順通りにやってきたら画像の通りでおっけー.

<img width="1280" alt="スクリーンショット 2018-11-01 0.27.05.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/d991bb47-e6c5-a5c8-c62f-acc60c550b86.png">

#### インストールを実行する

<img width="895" alt="スクリーンショット 2018-11-01 0.29.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/9dcdb939-4ad6-7c9b-949a-e1bdb79c82c7.png">

#### サイトのタイトルや管理者情報を入力する

<img width="1280" alt="スクリーンショット 2018-11-01 0.45.06.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/6afb6283-fc1f-bcef-9087-51b2c05fb17f.png">

#### インストールを実行

<img width="826" alt="スクリーンショット 2018-11-01 0.46.44.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/b19b801e-a9ad-a471-35cf-7acbcc308e28.png">

<img width="1280" alt="スクリーンショット 2018-11-01 0.47.38.png" src="https://qiita-image-store.s3.amazonaws.com/0/180668/c653a403-1e8b-e3dc-0e5f-2ddc296c8d49.png">

入れた.

おーしまい

## 感想

これで一旦おしまい.
全体的にもう一回復習してまとめた記事かこうかしら.

インフラ周りをカッツリやったの初めてだったけど,
結構楽しくできました.
この調子でガンガン勉強して力つけていきたいです.