ローカル環境(Mac OS Sierra)にwordpressをインストール


参考リンク
http://qiita.com/himitech/items/342235828a4c2513dd4d

https://github.com/ttskch/php-abc-quests/blob/master/01-environments/install-apache-php.md#ドキュメントルートを変更する


### Apacheの動作確認
MACの場合、Apacheはすでにインストールされているので、インストールは不要です。

Terminalで

```
httpd -v
```

と叩くと 

```
Server version: Apache/2.4.23 (Unix)
```

と表示されます。

Apacheが動作するかを確認したいので、

```
sudo apachectl start
```

で Apacheを起動したのち、

```
http://localhost
```
をWeb検索して、


![localhost.png](https://qiita-image-store.s3.amazonaws.com/0/155286/d63cb105-cbcf-2411-8d64-feda427bbcf7.png "localhost.png")


と表示されればOKです。

### Apacheの設定を変更する
- PHPの有効化
Webサーバー上でPHPを使用していきたいのですが、デフォルトの設定では、ApacheはPHPを有効化していません。

なので、Apacheの設定ファイルを変更し、PHPを使えるようにしていきます。

<!-- phpはなぜ必要なのか -->

以下のコマンドをターミナルで打つと、Apacheの設定ファイルにアクセスできます。


```
$ sudo vi /etc/apache2/httpd.conf
```

その後、

```
#LoadModule php5_module libexec/apache2/libphp5.so

```

の#を消して、

```
LoadModule php5_module libexec/apache2/libphp5.so
```

以上のようにすると、PHPが有効化されました。

- ドキュメントルートの変更

ドキュメントに簡単にアクセスできるよう、ドキュメントルートを変更していきます。

```
#DocumentRoot "/Library/WebServer/Documents"
DocumentRoot "/Users/Yunosuke/mylocal"
```

"ドキュメントルートを変更した場合は以下の箇所も変更が必要なので要注意です。"

```
#<Directory "/Library/WebServer/Documents">
<Directory "/Users/yunosuke/mylocal">
```

- .htaccessを使えるようにする


```
   #AllowOverride None
   AllowOverride All
```

```
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
```

"という箇所を見つけて、以下のように変更してください。 こうしておくと、ブラウザからディレクトリにアクセスしたときに、自動で index.php が表示されるようになります。"

<!-- 説明する-->

```
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
```

に変更します。

- phpが動いているか確認


phpが動いているwebサーバーの構築に成功したはずなので、動作を確認。先ほど作った /mylocal　以下に index.php というファイルを作成。

```php
<?php
phpinfo();
?>
```

再び  http://localhost にアクセスすると、

![phpinfo__.png](https://qiita-image-store.s3.amazonaws.com/0/155286/5d24fe69-f237-bb25-347e-0aebfd14bb64.png "phpinfo__.png")



上のような画面が表示されているはずです！

これでphpの動作の確認完了です。


### Mysql

- Homebrewのインストール

Homebrew とは　パッケージ管理システム
説明は以下リンク。

homebrewの説明ブログ書く。

以下をターミナルに入力し、インストール。

```
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
- Mysqlのインストール

そして、brewを使ってmysqlをインストールしていきます。

```
brew install mysql
```
これでインストールは完了。

Mysqlを起動します。

```
mysql.server start
```

Mysqlに接続していきます。

```
mysql -uroot
```

ユーザーを作成します。

```
mysql> create user 'yunosuke'@'localhost' identified by '75751231';
```

yunosukeがuser
75751231がpassword

データベースを作成します。

```
mysql> create database wp_purio;
```
wp_purioがデータベース名

作成したデータベースの操作権限を先ほど作ったユーザーに付与します。

```
grant all privileges on wp_purio.* to 'yunosuke'@'localhost';
```

```
show databases;
```

でデータベースがあることを確認。

ユーザー一覧を表示するために以下を入力

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

```
Unknown column 'password' in 'field list'
```
しかし、上記のようなエラー発生。

とりあえず、

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

でユーザーを表示。これはok.

mysql 5.7以降はpasswordというのがないっぽい。

```
quit
```
以上でmysqlの設定終了。

### PHPの設定
- php.iniを作成

php.iniってなんだ？

php.ini.defaultをコピーしてphp.ini作成

```
$ sudo cp /etc/php.ini.default /etc/php.ini
```

ファイルのアクセス権を設定

```
$ sudo chmod 644 /etc/php.ini
```

- php.ini を編集し、mysqlのソケットファイルのパスを変更。

```
sudo vi /etc/php.ini
```

でファイルを編集。

:/ コマンドを使って検索

:/ mysql.default_socket

と打つと出てくる。


デフォルトでは


```
mysql.default_socket = 
```
空白になっているので、

```
mysql.default_socket = /tmp/mysql.sock
```
を書き足す。


これでphpは完了。

### wordpressのダウンロード

wordpressをブラウザからインストール
https://ja.wordpress.org/

ダウンロードしたファイルをドキュメントルートディレクトリへ移動

```
$ mv ~/Downloads/wordpress-4.7.2-ja.zip ~/mylocal
```

ドキュメントルートディレクトリへ移動

```
$ cd ~/workspace
```

ダウンロードしたファイルを解凍

```
$ unzip wordpress-4.7.2-ja.zip
```

作成したワードプレスディレクトリへ

```
$ cd wordpress
```

wp-config-sampleをコピーしてwp-configファイル作成

```
$ cp wp-config-sample.php wp-config.php
```

そして、wp-configファイルを編集します。

![wp-config-sample_php.png](https://qiita-image-store.s3.amazonaws.com/0/155286/eb3ed5b8-f18f-b951-13f5-e878a4a56df1.png "wp-config-sample_php.png")


以下、
'DB_NAME', 'データベース名'
'DB_USER', 'user名'
'DB_PASSWORD' , 'パスワード'
'DB_HOST','localhost:/tmp/mysql.sock'

を入力。データベース、user、パスワードは自分で設定した値を入力してください。

DB_host = 'localhost' だけだと、僕の場合エラーが発生したので、上記のように入力しました。




http://localhost/wordpress/

にアクセスすると、


![データベースエラー.png](https://qiita-image-store.s3.amazonaws.com/0/155286/4057d7a6-5642-6205-1bf9-dbe6cea66026.png "データベースエラー.png")

上記が表示される。

先ほどつくった wp-config.phpを一旦他のところに移動させると、


![WordPress_›_構成ファイルのセットアップ.png](https://qiita-image-store.s3.amazonaws.com/0/155286/f7ae033c-e2be-22a2-9d93-206056b6e688.png "WordPress_›_構成ファイルのセットアップ.png")


きた！
これで大丈夫なはず。

![WordPress_›_エラー.png](https://qiita-image-store.s3.amazonaws.com/0/155286/769033fa-4062-403d-ba2b-5c07d887df53.png "WordPress_›_エラー.png")


結局だめ。。

再度、原因を確かめ、

wp-config.phpの

```
define('DB_HOST', 'localhost');
　　　　      ↓
define('DB_HOST', 'localhost:/tmp/mysql.sock' );
```
に変更したら、

![WordPress_›_インストール.png](https://qiita-image-store.s3.amazonaws.com/0/155286/434f3015-befd-6d89-151a-cf075926a6e4.png "WordPress_›_インストール.png")


できた！！！！！
何時間かかったことか、、、



###発生したエラー
- Forbiddenのエラー発生


```
#<Directory "/Library/WebServer/Documents">
<Directory "/Users/yunosuke/mylocal">
```
恥ずかしながら、上記、Usersの部分をLibraryのままにしており、エラー発生。。

Usersに変え忘れてた、



![403_Forbidden.png](https://qiita-image-store.s3.amazonaws.com/0/155286/b99a9ec8-95ed-96cc-9835-c00bb08e68dd.png "403_Forbidden.png")