macOS(Sierra)ローカルでWordPressを構築する方法まとめ

#基本情報
★ローカル環境
MacBook Pro (13-inch, Mid 2012)
プロセッサ: 2.5 GHz Intel Core i5
メモリ: 4 GB 1600 MHz DDR3
構築所要時間:　おおよそ30分 (ダウンロード時間は除く)

## まえがき 
ことのはじまり、どうしてもローカルでWordPressを弄りたかったから...Sierra(macOS)に構築してみた。
つまづかなければ、ダウンロード時間を省いて、おおよそ30分もかからないでできると思う。
またMAMPとかphpMyAdminなどは使用せずに構築してみました。
参考した記事:
 [MacでWordPressをローカルインストールする(MAMPなし, phpmyadminなし)][wpmy]

# まずはじめに
会社のパソコンでもローカルで構築ができるように、なるべくサードパーティ製のツール「MAMPとphpMyadmin」などは導入せずに、WordPressのデフォルトで必要なもの(最低限のもので...)で構築することを目指します。

優しいツールは、できる人を減少させるための罠である。
人は時間を大事にできる生き物だから...伝伝は、置いといてそろそろ本題へ移ります。

# 準備するもの
※こちらは、各種設定の順番にも並び替えてます。
(自分なりに、西遊記の登場人物に例えてみましたw)

1. apache -> これサーバー　(※三蔵法師的な存在)
1. PHP -> これWordPressを動かすやつ　(※沙悟浄だと思う)
1. MySQL -> これは、データーベースってやつ (※猪八戒みたいな感じ)
1. WordPress -> これ今回の主人公　(※孫悟空って言われてる)

---
# 1.　それがし故に、お主ありけり。
まずは、apacheを起動します。
ターミナルを起動して、以下のコマンドをとなえよ。

```php:/etc/apache2/httpd.conf
#LoadModule php5_module libexec/apache2/libphp5.so

　　　　　　　　　　　　　　　　↓↓↓↓　　　↓↓↓↓　<　頭の'#'を外します。　>　↓↓↓↓　　↓↓↓↓

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

```shell:terminal
# サーバー起動の合言葉...
$ sudo apachectl start

```

# 2. われなくして、天に導かれん。
続いて、PHPが存在しているか、確認する。

```shell:terminal
$ php -v

...
..
.
PHP 5.6.25 (cli) (built: Sep  6 2016 16:37:16) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
# 自分の場合、PHPは「PHP 5.6.25」だと言われました。

# こちらデフォルトのテンプレートをコピーして使います。
$ sudo cp /etc/php.ini.default /etc/php.ini

#ファイルへアクセス権を設定してます。
$ sudo chmod 644 /etc/php.ini
```
次に、↑で作成したテンプレートを「沙悟浄が孫悟空と猪八戒の中を執り持ち」できるように設定します。

```php:php.ini
~~いろいろ書かれてるところ~~
;　下記をコピーするなりして検索して、頭についている'；'を外します。
extension=php_mysqli.dll
~~いろいろ書かれてるところ~~
; こちらも同様にコピー検索して、’/tmp/mysql.sock’部分を追加します。
; ’/tmp/mysql.sock’この部分は空白になってるはず...なので、頭だけで検索してください。　偽物もいるので、注意。
; ※注意:この後データーベース設定で異なる場合は、その箇所に合わせます。
mysql.default_socket = /tmp/mysql.sock
```

# 3. 縁の下の力持ち。
MySQLはHomebrewでインストしてる状態です。
詳しくは、[web][mysql]で...。

```php:terminal
# MySQLの操作を開始する
$ mysql -u root -p

# MySQLのルート権限のパスワード入力(デフォルトは空白)
Enter password: 

# ユーザ作成
mysql> create user 'MagicMonkey'@'localhost' identified by 'J2tWest'

# データベース作成
mysql> create database wordpress;

# ユーザにデータベース操作の権限追加
mysql> grant all privileges on wordpress.* to 'MagicMonkey'@'localhost';

# データベースの確認　コマンド
mysql> show databases;

# mysql.sockの場所を確認する
mysql> status
------------

...
..
.
UNIX socket:        /tmp/mysql.sock   <- これ

# MySQLの操作を終了
mysql> quit
```
猪八戒の設定は、これで終わり。
ここらで、ターミナルにて、`sudo apachectl restart`と打ち込み、
サーバーを再起動します。

# 4. MagicMonkey参上!! ウッキー!
[WordPress][]は、公式サイトよりzipファイルをダウンロードし、 
適当な箇所へ解凍しておきます。

```php:terminal
# WordPressを解凍後...
# コマンドで、wordpressのフォルダーへ移動します。
$ cd wordpress

# wp-config-sampleというまたもテンプレをコピーし、wp-configというファイルを作成します。
$ cp wp-config-sample.php wp-config.php

```
↑でコピーして作成した"wp-config.php"ファイルをテキストエディタなどで開き、
各種設定を反映します。

```php:wp-config.php
/ ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'wordpress');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'MagicMonkey');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'J2tWest');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

/** データベースのテーブルを作成する際のデータベースの文字セット */
define('DB_CHARSET', 'utf8');

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

```

今回の設定例の場合...

- データベース名：wordpress
- ユーザ名：MagicMonkey
- パスワード：J2tWest
- データベースのホスト：localhost
- テーブル接頭辞：wp_

上記は、いずれにせよ、直接WordPressを起動することでも設定は可能です。
と以上で、イレギュラーがなければ、30分くらいで完了すると思います。

最後に、ファイル内容の変更もしてるので、キャッシュクリアも兼ねて、
`sudo apachectl restart`と打ち込みサーバーを再起動してましょう。

再起動後、[ここ][wp]をクリックして、設定と起動の確認を行います。


# ハマったことまとめ
なぜか、MySQLのデーターベース作成時に、`ERROR 1064 (42000): You have an error in your SQL syntax;...`というエラーに遭遇し、MySQLを再ダウンロードして、参考サイトの手順よりも先に"php.ini"というファイルの`’/tmp/mysql.sock’`部分を追加し、サーバー再起動で解決しました。
結局のところ、なにが原因だったのかが分からず終いでした。

何かあれば、更新します。
---


[link]:link
[wpmy]:http://qiita.com/himitech/items/342235828a4c2513dd4d
[WordPress]:https://ja.wordpress.org/
[mysql]:http://qiita.com/himitech/items/342235828a4c2513dd4d#homebrew%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
[wp]:http://localhost/wordpress/