YosemiteでApache + PHP + MySQL

OS X Yosemite

MacのWEB開発環境、私の場合はApacheとPHPとMySQLをセットアップする場合は、MAMPで一発で導入するか、もしくはOSXには標準でApacheとPHPが入っているので、そちらを使うかが選べます。

MAMPだと確かにお手軽なのですが、私は日常的にサーバーにも触れていたいので、OS付属のApacheとPHPを使っています。MySQLはHomebrewで導入します。

先日、Mavericks→Yosemiteにアップグレードした際、ApacheやPHPも再インストールされてしまいました。当たり前といえば当たり前なんですが、OSのアップデート毎に再設定することになります(Apacheも2.2系→2.4系にバージョンアップされてました)。なので引き継ぎもMAMPのが楽だと思います。

 

Apache

YosetemiにはApacheが既に入っています。

$ httpd -v
Server version: Apache/2.4.9 (Unix)
Server built:   Sep  9 2014 14:48:20

設定ファイルは、

/etc/apache2/httpd.conf

なのでviで編集するか、

$ vi /etc/apache2/httpd.conf

Finderからは通常etcは見えないので、メニューの 「フォルダへ移動」からetcフォルダを開きます。

httpd.confでは、PHPを有効にしてドキュメントルートを設定します。ドキュメントルートは好きなところに。私はホームのwwwにしています。

#LoadModule php5_module libexec/apache2/libphp5.so
↓
LoadModule php5_module libexec/apache2/libphp5.so
DocumentRoot "/Users/ユーザー名/www"
<Directory "/Users/ユーザー名/www">
〜
</Directory>

httpd.confを保存してから、間違いなく記述できているかテストした後に、反映の為にリスタートします。

$ sudo apachectl configtest
$ sudo apachectl restart

最後に自動起動も設定しておきます。

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

 

PHP

phpは設定ファイルphp.iniをデフォルトからコピーして使います。

$ php -v
PHP 5.5.14 (cli) (built: Sep  9 2014 19:09:25) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
$ sudo cp -p /etc/php.ini.default /etc/php.ini

PEARインストール

PEARもついでに入れます。php.iniをコピーしておけばインストーラーがinclude_pathも追記してくれます。

$ cd /tmp && mkdir pear && cd pear
$ curl -O http://pear.php.net/go-pear.phar
$ sudo php -d detect_unicode=0 go-pear.phar
$ sudo pear install Cache_Lite
$ sudo pear install XML_RPC2

 

MySQL

MySQLのインストールにはHomebrewを利用します。Homebrewは、OSX用のパッケージ管理システムで、アプリのインストールなどがCUIで管理できます。最初はHomebrewなんて必要なくね?と思っていましたが、Macで開発を続けていくと、結局いろいろとツールを入れていくことになるので、その時点で価値に気づきました。

HomebrewにはCommand Line Toolsをインストールする必要がありますが、これはXCodeに入っています。XCodeがいらない人は別途インストールして下さい。

Homebrewインストール

XCodeインストール後に、

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew doctor

MySQLインストール

$ brew install mysql
$ mysql.server start

MySQL rootユーザー作成

$ mysqladmin -u root password your_password
$ mysql -u root -p

MySQL自動起動

$ cp /usr/local/Cellar/mysql/5.6.21/homebrew.mxcl.mysql.plist ~/Library/LaunchAgents/

慣れてしまえば数分で完了します。httpd.comfやphp.iniはレンサバでも設定できる項目なので、開発者ならざっと見ておいた方がよいです。