【macOS Sierra】Mac OSX 10.12 macOS Sierra にAMP環境の構築【初心者必見】【続編】

[【macOS Sierra】Mac OSX 10.12 macOS Sierra にRuby + Rails4 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/items/e81bad87995fae566234)
[【macOS Sierra】Mac OSX 10.12 macOS Sierra にNode.js 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/items/08da941711a224b06700)


ではフレームワークの環境を構築しましたが、本格的なデータベースを使うために、MySQLを使用できる環境を作成すべく、続けて作業しました。

最終的にはphpMyAdminを導入してMySQLの操作を簡単にするという目的となります。

## Apache
Apacheは、El Capitanではインストール済みです。


###### バージョン確認
```
$ httpd -v
Server version: Apache/2.4.23 (Unix)
Server built:   Aug 8 2016 16:31:34
```

###### 手動起動
```
$ sudo /usr/sbin/apachectl start
```

###### 自動起動設定
```
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
```

## PHP
PHPは、Yosemiteではインストール済みです。

###### バージョン確認
```
$ php -v
PHP 5.6.24 (cli) (built: Aug  8 2016 16:58:37) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
```

###### php.ini 設置
```
sudo cp -p /etc/php.ini.default /etc/php.ini
```

###### Apache連携設定
```
$ sudo vi /etc/apache2/httpd.conf
#LoadModule php5_module libexec/apache2/libphp5.so
↓
LoadModule php5_module libexec/apache2/libphp5.so
```

###### Apache再起動
```
$ sudo /usr/sbin/apachectl restart
```

###### PHP動作確認
```
sudo vi /Library/WebServer/Documents/phpinfo.php
<?php phpinfo();
```
[ここ](http://localhost/phpinfo.php)
**にブラウザでアクセスしてphpinfoが表示できればOK！**

## MySQL

###### MySQLインストール
```
brew install mysql
```

###### MySQL起動
```
mysql.server start
```

###### 自動起動設定
```
cp /usr/local/Cellar/mysql/5.7.15/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
```
※バージョン部分は変わっている可能性があります。

###### MySQL の root のテンポラリーパスワードを確認
MySQL 5.7.6 以降ではインストールの際に初期パスワードをエラーログに吐くようになりました。以下の場所から初期パスワード情報を取得します。

```
vi /Users/user/Library/Logs/Homebrew/mysql/post_install.01.mysqld

2016-09-25T07:08:07.074414Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
```
※[user]はそれぞれのユーザ名となります。
※以前はデフォルトパスワードが設定されていましたが、現在はパスワードが空となっているようです。


###### MySQL の root パスワード変更
```
$ mysqladmin -u root password
New password: 
Confirm new password: 
```
※パスワードは任意のものを入力してください^^

###### MySQLへのログイン
```
$ mysql -u root -p
```
※パスワードを入力
###### PHPからのMySQLアクセス確認
```
$ sudo vi /Library/WebServer/Documents/check_mysql.php
<?php
$dsn = 'mysql:dbname=mysql;host=127.0.0.1';
$user = 'root';
$password = 'password';
try {
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    $sql = "SELECT count(*) as cnt FROM user";
    foreach ($dbh->query($sql) as $row) {
        echo $row['cnt'] ."\n";
    }
} catch (PDOException $e){
    print('Error:'.$e->getMessage());
    die();
}
```
[ここ](http://localhost/check_mysql.php)
**にブラウザでアクセスしてエラーが出ずに数字（ユーザ数）が表示されれば連携はうまくいっています。**


## phpMyAdminのセットアップ
[ここ](http://www.phpmyadmin.net/home_page/downloads.php)からダウンロード

###### 設置
```
$ unzip phpMyAdmin-4.6.4-all-languages.zip
$ sudo cp -rp phpMyAdmin-4.6.4-all-languages /Library/WebServer/Documents/phpMyAdmin
```

###### 設定ファイルの変更
```
$ cd /Library/WebServer/Documents/phpMyAdmin/
$ sudo mv config.sample.inc.php config.inc.php
$ sudo vi config.inc.php
$cfg['Servers'][$i]['host'] = ‘localhost’;
↓
$cfg['Servers'][$i]['host'] = ’127.0.0.1′;
```

[ここ](http://localhost/phpMyAdmin/)
**にブラウザでアクセスしてログインできればOK！**

## 追記
OSXのバージョンアップ時の開発環境構築の手順をまとめています。併せてどうぞ！

[【macOS Sierra】Mac OSX 10.12 macOS Sierra にRuby + Rails4 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/items/e81bad87995fae566234)
[【macOS Sierra】Mac OSX 10.12 macOS Sierra にNode.js 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/items/08da941711a224b06700)


---
### 筆者参考
札幌圏でリモート開発、在宅勤務を中心としたシステム開発の会社を経営しています。

[ローラハウス](http://laurahouse.net)