PHP
Mac
MySQL
phpMyadmin
elcapitan

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

macOS Sierra 版(3部作になりました)はこちら。

【macOS Sierra】Mac OSX 10.12 macOS Sierra にRuby + Rails4 開発環境の構築 【初心者必見】
【macOS Sierra】Mac OSX 10.12 macOS Sierra にAMP環境の構築【初心者必見】【続編】
【macOS Sierra】Mac OSX 10.12 macOS Sierra にNode.js 開発環境の構築 【初心者必見】

【El Capitan】Mac OSX 10.11 El Capitan にRuby + Rails4 開発環境の構築 【初心者必見】
では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();

ここ
にブラウザでアクセスして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();
}

ここ
にブラウザでアクセスしてエラーが出ずに数字(ユーザ数)が表示されれば連携はうまくいっています。

phpMyAdminのセットアップ

ここからダウンロード

設置
$ 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′;

ここ
にブラウザでアクセスしてログインできればOK!


筆者参考

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

ローラハウス