PHP
MySQL
homebrew
Composer
Yii

Homebrew で Apache, PHP, MySQL, Composer をインストールして Yii Framework を動かすところまで

More than 3 years have passed since last update.

Homebrew での開発環境構築も少し慣れてきたので、Apache, PHP, MySQL, Composer をインストールして、Yii Framework を動かすところまで書きたいと思います。


実行環境


  • OS X: 10.10

  • Homebrew: 0.9.5


Homebrew のインストール

ターミナルを起動して、以下のコマンドを実行

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


  • Mac 本体のパスワードを聞かれるので入力

  • 「... コマンドラインデベロッパーツールをインストールしますか?」みたいなことを聞かれるのでインストールをクリック

  • インストール後、Enter で Homebrew のインストールが開始されます

コマンドラインデベロッパーツールについてのメッセージが出なかった場合は以下を入力。

xcode-select --install

パスを通す ( bash なら .bash_profile に追加)


.bash_profile

export PATH=/usr/local/bin:$PATH

export PATH=/usr/local/sbin:$PATH

Java for OS X 20xx-xxx をダウンロード

以下からダウンロードして、ダブルクリック。

http://support.apple.com/kb/DL1572

Git のインストール

Mac OS X に元々入っているけど、最新のものを。

brew install git

Homebrew 本体のチェック

とりあえずここで Homebrew がおかしくないかチェック。

「Your system is ready to brew.」と出れば OK。警告などが出たらその都度メッセージを読み解きながら対処。

brew doctor

OS X Yosemite でかつ Xcode がインストール済みの場合

6.1 以上でないと、エラーか警告が出るかもしれません。Xcode 6.1 以上をインストールしましょう。


MySQL のインストールと設定

brew install mysql

MySQL の起動

mysql.server start

root パスワードの変更

mysqladmin -u root password

# 新しい root パスワードを入力する

MySQL のセキュリティ設定

( ルートパスワード項目以外はすべてそのままで OK )

mysql_secure_installation

MySQL の停止

mysql.server stop


Apache のインストールと設定

リポジトリを追加

brew tap homebrew/dupes

brew tap homebrew/apache

外部 formula がインストール可になっているか確認

brew search httpd24

Apache のインストール

brew install httpd24

OS X 標準で入ってる Apache ではなく、

Homebrew でインストールしたものか確認してみたり。

( 多分 Yosemite では /usr/sbin/ に httpd, apachectl などが置いてある )

which apachectl

# /usr/local/bin/apachectl と出れば OK。
# /usr/sbin/apachectl と出る場合はターミナルを再起動して再度確認してみる
apachectl -v

http.conf の設定

( 場所は /usr/local/etc/apache2/2.4/ 、DocumentRoot のパスは任意 )


httpd.conf

# php5 のモジュールの追加

LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so

# DocumentRoot の変更
DocumentRoot "/Users/jamband/Dropbox/htdocs"

# .htaccessでURLのoverwriteを許可 ( Directory "/Users/jamband/Dropbox/htdocs" 内 )
AllowOverride All

# .php で php を実行できるように MIME タイプの追加 ( IfModule mime_module 内 )
AddType application/x-httpd-php .php

# indexファイルに index.php を使えるように修正 ( IfModule dir_module 内 )
DirectoryIndex index.php index.html

# Virtual hosts のコメントアウトを解除
Include /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf

# httpd-vhosts.conf には dummy があるので削除し、適当に任意のホスト追加し
# /etc/hosts も書き換えておく


変更後は Apache の再起動

apachectl stop

apachectl start

access_log, error_log の場所は /usr/local/var/log/apache2/ です


PHP のインストールと設定

リポジトリを追加

( homebrew/dupes は Apache をインストール時に追加しましたが PHP 単体でインストールする場合は追加します )

brew tap homebrew/dupes

brew tap homebrew/versions
brew tap homebrew/homebrew-php

外部 formula がインストール可になっているか確認

brew search php

PHP54 のインストール

APC も入れたかったので今回は php54 にしました

brew install php54

インストール後は Caveats を見ながら、またいろいろ修正、設定していきます

php.ini の設定

場所は /usr/local/etc/php/5.4/


php.ini

date.timezone = Asia/Tokyo

default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

APC, Xdebug のインストール

brew install php54-apc

brew install php54-xdebug

設定ファイルは /usr/local/etc/php/5.4/conf.d/ に置かれます


Composer のインストールと設定

外部 formula がインストール可になっているか確認

brew search composer

Composer のインストール

brew install composer


Yii Framework でユニットテスト及び機能テストを実行

これは読み手が限定されるので、必要な方だけどうぞ。

プロジェクトのルートディレクトに移動して composer.json を作成


composer.json

{

"require": {
"yiisoft/yii": "~1.1"
},
"require-dev": {
"phpunit/phpunit": "~3.7",
"phpunit/phpunit-selenium": "*",
"phpunit/phpunit-story": "*",
"phpunit/dbunit": "*",
"phpunit/php-invoker": "*"
},
"config": {
"vendor-dir": "protected/vendor"
}
}

ライブラリのインストール

protected/vendor/ が作成され、そこにいろいろ置かれる。

composer install

ユニットテストの実行

cd ./protected/tests

../vendor/bin/phpunit unit

Selenium RC のインストール

brew install selenium-server-standalone

selenium-server-standalone を起動

selenium-server -p 4444

機能テストを実行

../vendor/bin/phpunit functional


各パッケージの削除方法

MySQL

brew uninstall mysql

rm -rf /usr/local/var/mysql

Apache

brew uninstall httpd24

rm -rf /usr/local/etc/apache2/2.4
rm -rf /usr/local/var/log/apache2

PHP

brew uninstall php54

brew uninstall php54-apc
brew uninstall php54-xdebug
rm -rf /usr/local/etc/php
rm -rf /usr/local/opt/php54/

Homebrew本体

インストールしたパッケージなどがすべて削除されるので注意して行なってください。

また、.bash_profile などに追加したパスは手動で削除します。

How do I uninstall Homebrew?