【El Capitan】Mac OSX 10.11 El Capitan にAMP環境の構築【初心者必見】【続編】

#### macOS Sierra 版（３部作になりました）はこちら。
[【macOS Sierra】Mac OSX 10.12 macOS Sierra にRuby + Rails4 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/items/e81bad87995fae566234)
[【macOS Sierra】Mac OSX 10.12 macOS Sierra にAMP環境の構築【初心者必見】【続編】]
(http://qiita.com/keneo/items/8bee152aee75123b7a07)
[【macOS Sierra】Mac OSX 10.12 macOS Sierra にNode.js 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/items/08da941711a224b06700)

[【El Capitan】Mac OSX 10.11 El Capitan にRuby + Rails4 開発環境の構築 【初心者必見】]
(http://qiita.com/keneo/private/1772adc2ebbde229fb71) 
ではRailsの環境を構築しましたが、本当にRailsだけなので、MySQLを使用できる環境を作成すべく、続けて作業しました。

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

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


###### バージョン確認
```
$ httpd -v
Server version: Apache/2.4.16 (Unix)
Server built:   Aug 22 2015 16:51:57
```

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

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

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

###### バージョン確認
```
$ php -v
PHP 5.5.29 (cli) (built: Sep  9 2015 00:26:40) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 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.9/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/
```

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

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

2015-11-16T13:24:46.509572Z 1 [Note] A temporary password is generated for root@localhost: fugafugafuga
```
※[user]はそれぞれのユーザ名となります。
※2017/10/19現在、初期パスワードは作られないようになっています。

###### MySQL の root パスワード変更
```
mysql -u root -pfugafugafuga
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'パスワード';
```
※パスワードは任意のものです^^

###### 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.5.1-all-languages.zip
$ sudo cp -rp phpMyAdmin-4.5.1-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！**

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

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