BEAR.Sunday 環境構築のメモ(Mac OS X版)
Mountain Lion 初期状態から BEAR.Sunday が動作する環境を構築するまでの記録。
やりたいこと
最終目標は BEAR.Sunday の Sandbox アプリが動く状態にすること。
パッケージ管理として Homebrew を利用。
PHP は php-build + phpenv でインストール、管理できるようにしたい。
Web サーバはとりあえずデフォルトの Apache 2.2.22 を利用することにする。
- Xcode インストール
- Homebrew インストール
- Homebrew から phpenv, php-build インストール
- php-build と phpenv を利用して PHP を使えるようにする
- MySQL をセットアップ
- BEAR.Sunday Sandbox アプリケーションの動作確認
やったこと
git インストール
2013/05/03 追記:
git はここでインストールしなくてもよかった気がする。
必要に応じて後から Homebrew で入れればよいはず。
Xcode インストール
App Store から Xcode 本体をインストールする。
Mac App Store - Xcode
続けて Xcode を起動し、 Command Line Tools をインストールする。
- Xcode を起動
- メニューから Preferences を選択
- Downloads タブを選択
- Components にある Command Line Tools を選択してインストール
Homebrew インストール
Homebrew — MacPorts driving you to drink? Try Homebrew!
上記サイトにあるとおりインストールコマンドを実行。
==> Installation successful! You should run `brew doctor' *before* you install anything. Now type: brew help
メッセージに従い brew doctor を実行してみる。
問題なさそう。
$ brew doctor Your system is ready to brew.
phpenv インストール
brew install しようしても formula が見当たらない…
brew tap でリポジトリを追加する。
$ brew install phpenv Error: No available formula for phpenv
$ brew tap josegonzalez/php Cloning into '/usr/local/Library/Taps/josegonzalez-php'... remote: Counting objects: 3066, done. remote: Compressing objects: 100% (1598/1598), done. remote: Total 3066 (delta 1731), reused 2658 (delta 1362) Receiving objects: 100% (3066/3066), 537.07 KiB | 200 KiB/s, done. Resolving deltas: 100% (1731/1731), done. Tapped 116 formula
もう一度 install 実行。
$ brew install phpenv Error: phpenv is a head-only formula Install with `brew install --HEAD phpenv
オプション --HEAD をつけてもう一度実行。
$ brew install --HEAD phpenv ==> Cloning https://github.com/CHH/phpenv.git Cloning into '/Library/Caches/Homebrew/phpenv--git'... remote: Counting objects: 18, done. remote: Compressing objects: 100% (15/15), done. remote: Total 18 (delta 3), reused 14 (delta 2) Unpacking objects: 100% (18/18), done. ==> /usr/local/Cellar/phpenv/HEAD/bin/phpenv-install.sh ==> Caveats To finish installing phpenv: * Add ~/.phpenv/bin to your $PATH * Add "eval $(phpenv init -)" at the end of your ~/.bashrc * Restart your shell ==> Summary 🍺 /usr/local/Cellar/phpenv/HEAD: 6 files, 24K, built in 9 seconds
メッセージにある通り、設定を .bashrc に追加して反映させておく。
$ source ~/.bashrc
phpenv は rbenv に依存しているので、phpenv と一緒に rbenv も追加されている。
$ ls -la ~ ... drwxr-xr-x 14 username groupname 476 5 1 18:00 .phpenv drwxr-xr-x 3 username groupname 102 5 1 16:42 .rbenv ...
php-build インストール
phpenv と同様に brew install。
$ brew install php-build ==> Installing php-build dependency: autoconf ==> Downloading http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz ... ==> Checking out tag v0.9.0 ==> Caveats Tidy is enabled by default which will only work on 10.7. Be sure to disable or patch Tidy for earlier versions of OS X. ==> Summary 🍺 /usr/local/Cellar/php-build/0.9.0: 65 files, 276K, built in 4 seconds
php-build --definitions でインストール可能なバージョンが確認できる。
$ php-build --definitions 5.2.17 5.3.10 5.3.11 ... 5.5.0alpha1 5.5.0alpha2 5.5snapshot
PHP 5.4 インストール
php-build を利用してインストールする。
環境に合わせて configure option の設定を変更。
$ vi /usr/local/Cellar/php-build/0.9.0/share/php-build/default_configure_options
5.4.10 をインストール。
ビルドに必要なモジュールが足りなくて何度かエラーが出て中断した。
都度エラーメッセージを参考にモジュールを brew install し、再度ビルドする。
$ php-build 5.4.10 ~/.phpenv/versions/5.4.10 [Info]: Loaded apc Plugin. [Info]: Loaded pyrus Plugin. [Info]: Loaded xdebug Plugin. [Info]: Loaded xhprof Plugin. ... [Success]: Built 5.4.10 successfully.
ここで追加された libphp5.so は ~/.phpenv/versions/
phpenv で PHP のバージョンを切り替えたとき、 libphp5.so も併せて置き換えるようにするときっとしあわせになれる。
phpenv でバージョンを切り替える
現在適用されているバージョンを確認してみる。
$ phpenv rehash $ phpenv versions * system (set by /Users/username/.phpenv/version) 5.4.10 $ php -v PHP 5.3.15 with Suhosin-Patch (cli) (built: Dec 9 2012 19:32:02) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
5.4.10 に切り替えてみる。
$ phpenv global 5.4.10 $ phpenv versions system * 5.4.10 (set by /Users/username/.phpenv/version) $ php -v PHP 5.4.10 (cli) (built: May 1 2013 18:14:44) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans $ which php /Users/username/.phpenv/shims/php
phpenv versions と php -v で表示されるバージョンが異なっている場合、パスが通ってない可能性も。そういうときは phpenv インストール後に設定した .bashrc の見直して反映してみる。
php.ini の変更
2013/05/03 id:futurista999 さんからツッコミが入ったので追記:
タイムゾーンの設定をデフォルトのままにしておくと BEAR.Sunday の動作確認時にエラーが出るので、ここは設定しておく。
$ vi ~/.phpenv/versions/5.4.10/etc/php.ini ... [Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Tokyo ...
MySQL インストール
特にこだわりもないのでさくっと brew install で入れる。
$ brew install mysql ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.1 ... To connect: mysql -uroot To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist Or, if you don't want/need launchctl, you can just run: mysql.server start ==> Summary 🍺 /usr/local/Cellar/mysql/5.6.10: 9245 files, 351M
MySQL Server を起動して接続確認。
$ mysql.server start $ mysql -uroot
PHP から接続できるか確認。
エラーが返ってこなければよし(たぶん)
BEAR.Sunday - PHP5.4構築(OSX) - mysql接続確認
php -r 'new PDO("mysql:host=localhost;dbname=mysql", "root", "");'
BEAR.Sunday インストール
BEAR.Sunday - インストール に書いてあるとおりやってみる。
今回は install.bear-project.net からインストールする方法で入れた。
コマンドを叩いたら、しばらくはライブラリが次々と入っていくのを見守るだけ。
== Required == OK PHP:5.4.10 OK Vendor install == Optional == NG APC: OK DB connect(root/) == Develop === NG xhprof: () OK Xdebug: 2.2.1 OK PDO-Sqlite: 1.0.1 BEAR.Sunday env check: OK
環境確認(bin/env.php)まで実行してくれる。
APC は必須から推奨へ変更となったようなので、とりあえずなくても動くっぽい。
続いて DB 接続の準備。
必要な DB の作成はシェルスクリプトひとつ実行するだけでできる。
インストールから DB 作成まで、ふたつのコマンドを叩くだけ。らくちん。
Sandbox アプリケーションの動作確認までできたらひとまずおしまい。