[WordPress] Vagrantを利用してCentOS上にWordPressをインストールする

# はじめに
何番煎じかわかりませんが。
自分用にインストール手順をまとめてみました。

# 前提
`Vagrant` がインストールされていることを前提としています。
ローカル環境はWindows 10です。

# 手順
## CentOS準備
### boxファイルの準備
以前書いた記事中の、[**BOXファイルを取ってくる**](https://qiita.com/tosite0345/items/b9ec1594f359f03b0403#box%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%8F%96%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8B) の項を参照。

### Apacheの準備
こちらも以前書いた記事の[**Apache (httpd) サービスインストール + Firewallを無効化**](https://qiita.com/tosite0345/items/b9ec1594f359f03b0403#apache-httpd-%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB--firewall%E3%82%92%E7%84%A1%E5%8A%B9%E5%8C%96) 通りにやれば特に問題ないはずです。

### PHPのインストール
続いてPHPをインストールします。
これは普通に次のコマンドでおｋ。

```bash:console
yum -y install php
```

#### しといた方がいいこと

```bash:console
yum install -y wget vim
```

### MySQLのインストール
#### インストール～初期設定まで
[**MySQLサービス準備**](https://qiita.com/tosite0345/items/b9ec1594f359f03b0403#mysql%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E6%BA%96%E5%82%99) を参照。
ここでセットアップしたパスワードは次に使うので控えておく。
DBディレクトリの変更は行わなくて良いです。

#### DB作成と権限変更
さて、ここでMySQLにログインし、WorPress用のユーザーを作成する。

```sql:console
/* MySQLにログインする...先ほど設定したパスワードを入力する */
mysql -u root -p

/* WordPress用のデータベースを作成する */
create database wordpress;

/* テーブルに権限を与える */
grant all privileges on wordpress.* /* 先ほど作ったDB */
    to wordpress@localhost          /* ユーザー名を指定 */
    identified by 'wordpressユーザーのパスワード（任意）'
;

show databases;
/*
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          | 作成されていることを確認
+--------------------+
*/

 select host,user from mysql.user;
/*
+-----------+---------------+
| host      | user          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
| localhost | wordpress     | 作成されていることを確認
+-----------+---------------+
*/
```

ここのDB名、ユーザー、パスワードは後で使うので控えておく。

### パーミッション変更
面倒なので適当に。

```bash:console
chmod -R 777 /var/www/html/wordpress
```

## WordPress設定
### WordPressダウンロード
解説の都合上、WordPressを `/var/www/html/` 配下にインストールすることにする。

```bash:console
cd /var/www/html/
# WordPress本体をダウンロードしてくる
wget http://ja.wordpress.org/latest-ja.tar.gz

# 展開する
tar zxvf latest-ja.tar.gz

# 圧縮ファイルを削除
rm -y latest-ja.tar.gz
```

これで、以下のようなディレクトリ構成になったことと思います。

```text:treeview
var
`--www
   `--html
      `--wordpress
```

ドキュメントルートの変更があっているため、 `/etc/httpd/conf/httpd.conf` を変更しておきます。

```bash:console
cp /etc/httpd/conf/httpd.conf etc/httpd/conf/httpd.conf.org
vim etc/httpd/conf/httpd.conf
```

```diff:/etc/httpd/conf/httpd.conf
- DocumentRoot "/var/www/html"
+ DocumentRoot "/var/www/html/wordpress"

```

ここでいよいよWeb画面からWordPressのインストールをすることになりますが、その前に以下の手順を踏んでおきます。

```bash:console
systemctl restart http
systemctl restart mysqld
```

作業後、ブラウザからVMに接続します。
なお、IPアドレスはローカル側 `Vagrantfile` に記載されています。

### 接続画面
![2018-03-27_11h49_09.png](https://qiita-image-store.s3.amazonaws.com/0/165355/3f102e29-02e8-dd99-1d26-290e743a9d00.png)

いざ接続しようとすると、このような画面に...。
どうやら設定漏れがあったみたいです。
[**こちらの記事**](https://blog.kujira-station.com/201501261644) を参考に、設定を変えました。

```bash:console
yum -y install php-mysql

cp /etc/php.ini /etc/php.ini.org
vim /etc/php.ini
```

```diff:/etc/php.ini
- ; extension=msql.so
+   extension=msql.so
```

```bash:console
systemctl restart httpd
```

### 改めて接続画面
再度Web画面をリロードしてみると...。
![2018-03-27_11h55_34.png](https://qiita-image-store.s3.amazonaws.com/0/165355/2fd68b4f-ce7d-1f8b-af50-3298a6be3ef9.png)

やったー！できました。
ここから初期設定を進めていきます。
「さあ、始めましょう！」をクリックします。

### DB情報入力画面
![2018-03-27_11h56_34.png](https://qiita-image-store.s3.amazonaws.com/0/165355/efe84fbf-4d73-e174-46b9-3b0da7e6efa8.png)
特に悩むことなく先ほど設定した情報を入力。

### 怒られた画面
![2018-03-27_12h00_08.png](https://qiita-image-store.s3.amazonaws.com/0/165355/da8e9d02-a402-1d1a-f9d2-825eed0d7b1c.png)

なんでも `/var/www/html/wordpress` 配下の `wp-config.php` への書き込みができませんでしたよーって怒られてるみたいです。
パーミッションの関係かな？とも思ったのですが、表示されてる通りの手順で対応できました。
表示されているテキストを全てコピーしてコンソールへ。

```bash:console
vim /var/www/html/wordpress/wp-config.php
# コピーしたものを貼り付けて :wq で保存＆終了
```

その後、Web画面に戻り「インストール実行」を押すと...。

### 初期設定画面
![2018-03-27_12h05_04.png](https://qiita-image-store.s3.amazonaws.com/0/165355/db43430e-5f97-fc56-8cfa-12a92e17a2b0.png)

おお！接続できました！
あとは煮るなり焼くなり好きにしてください。

# 所感
権限周りは何もいじくってないので必要に応じて今後追記していくかもしれない。