1. livejam_db

    Update OS X version

    livejam_db
Changes in body
Source | HTML | Preview
@@ -1,304 +1,304 @@
Homebrew での開発環境構築も少し慣れてきたので、Apache, PHP, MySQL, Composer をインストールして、Yii Framework を動かすところまで書きたいと思います。
## 実行環境
-* OS X: 10.9.4
+* OS X: 10.10
* Homebrew: 0.9.5
## Homebrew のインストール
**ターミナルを起動して、以下のコマンドを実行**
~~~sh
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
~~~
* Mac 本体のパスワードを聞かれるので入力
* 「... コマンドラインデベロッパーツールをインストールしますか?」みたいなことを聞かれるのでインストールをクリック
* インストール後、Enter で Homebrew のインストールが開始されます
**パスを通す** ( bash なら .bash_profile に追加)
~~~sh:.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 に元々入っているけど、最新のものを。
~~~sh
brew install git
~~~
**Homebrew 本体のチェック**
とりあえずここで Homebrew がおかしくないかチェック。
「Your system is ready to brew.」と出れば OK。警告などが出たらその都度メッセージを読み解きながら対処。
~~~sh
brew doctor
~~~
## MySQL のインストールと設定
~~~sh
brew install mysql
~~~
**MySQL の起動**
~~~sh
mysql.server start
~~~
**root パスワードの変更**
~~~sh
mysqladmin -u root password
# 新しい root パスワードを入力する
~~~
**MySQL のセキュリティ設定**
( ルートパスワード項目以外はすべてデフォルトでOK )
~~~sh
mysql_secure_installation
~~~
**MySQL の停止**
~~~sh
mysql.server stop
~~~
## Apache のインストールと設定
**homebrew/apache を追加**
~~~sh
brew tap homebrew/apache
~~~
**外部 formula がインストール可になっているか確認**
~~~sh
brew search httpd22
~~~
**Apache のインストール**
~~~sh
brew install httpd22
~~~
**http.conf の設定**
( 場所は /usr/local/etc/apache2/2.2/ 、ルートのパス、起動ユーザ名などは任意 )
~~~httpd.conf
# DocumentRoot の変更
DocumentRoot "/Users/jamband/Dropbox/htdocs"
# 起動ユーザの変更
User jamband
# php5 のモジュールの追加
LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so
# .php で php を実行できるように MIME タイプの追加 ( IfModule mime_module 内 )
AddType application/x-httpd-php .php
# indexファイルにindex.phpを使えるように修正 ( IfModule dir_module 内 )
DirectoryIndex index.php index.html
# .htaccessでURLのoverwriteを許可 ( Directory "/Users/jamband/Dropbox/htdocs" 内 )
AllowOverride All
# Virtual hosts のコメントアウトを解除
Include /usr/local/etc/apache2/2.2/extra/httpd-vhosts.conf
# httpd-vhosts.conf には dummy があるので削除し、適当に任意のホスト追加し
# /etc/hosts も書き換えておく
~~~
**変更後は Apache の再起動**
~~~sh
apachectl stop
apachectl start
~~~
あと、Mac に元々入ってる Apache ではなく、
Hombrew でインストールしたものか確認してみたり。
( 多分 Mavericks では /usr/sbin/ に httpd, apachectl などが置いてある )
~~~sh
which httpd
httpd -v
~~~
access_log, error_log の場所は /usr/local/var/log/apache2/ です
## PHP のインストールと設定
**リポジトリを追加**
( homebrew/dupes は Apache をインストール時に追加しましたが PHP 単体でインストールする場合は追加します )
~~~sh
brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
~~~
**外部 formula がインストール可になっているか確認**
~~~sh
brew search php
~~~
**PHP54 のインストール**
( APC も入れたかったので今回は php54 にしました )
~~~sh
brew install php54 --with-apache --without-pear
~~~
インストール後は 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 のインストール**
~~~sh
brew install php54-apc
brew install php54-xdebug
~~~
設定ファイルが /usr/local/etc/php/5.4/conf.d/ に置かれるので、php.ini には書き足さなくてよい
## Composer のインストールと設定
**外部 formula がインストール可になっているか確認**
~~~sh
brew search composer
~~~
**Composer のインストール**
~~~sh
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/ が作成され、そこにいろいろ置かれる )
~~~sh
composer install
~~~
**ユニットテストの実行**
~~~sh
cd ./protected/tests
../vendor/bin/phpunit unit
~~~
**Selenium RC のインストール**
~~~sh
brew install selenium-server-standalone
~~~
**selenium-server-standalone を起動**
~~~sh
selenium-server -p 4444
~~~
**機能テストを実行**
~~~sh
../vendor/bin/phpunit functional
~~~
## 各パッケージの削除方法
**MySQL**
~~~sh
brew uninstall mysql
rm -rf /usr/local/var/mysql
~~~
**Apache**
~~~sh
brew uninstall httpd22
rm -rf /usr/local/etc/apache2/2.2
rm -rf /usr/local/var/log/apache2
~~~
**PHP**
~~~sh
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 などに追加したパスは手動で削除します。
~~~sh
curl -O https://gist.githubusercontent.com/mxcl/1173223/raw/a833ba44e7be8428d877e58640720ff43c59dbad/uninstall_homebrew.sh
~~~
~~~sh
sh uninstall_homebrew.sh
~~~
## まとめ
これで MAMP などは使わずに開発環境の構築ができそうです。
今年後半は Vagrant, Chef あたりを触っていきたいと思っています。