以前 MacBook Air を買ったので開発環境構築手順をまとめてみる というエントリを書きましたが、OSX Mavericksをクリーンインストールした後に再度環境構築を始めてみたらいろいろと変わっていたので、備忘録のために再度手順をまとめてみます。

Macの設定

共有の設定

デフォルトでは “hogehoge-no-macbook-air” みたい名前なので、かっこいい名前をつけます。システム環境設定の 共有 からコンピュータの名前を設定してください。なお、 リモートログイン にチェックをいれると sshd が起動して、このMacにSSH接続できるようになります。万一画面が映らなくなったときなどにも、データ復旧に使えるかもしれません。

キーボードの設定

USキーボードを使っている場合は Caps Lock キーの位置に Control キーがあると便利です。環境設定>キーボード>キーボードタブ>修飾キーから Caps Lockキーを Control に変更します。

その他、私が現時点でベストだと思っているキーボードの設定は ガチで便利!Mac歴100年の僕が最強だと思う、US配列キーボードの日本語入力環境設定 を参考にしています。

ターミナル

MigMix フォントのインストール

マルチバイトが混ざっても等幅でみやすい、開発に適したフォントを入れます。自分はMigMix 1Mを使っています。

iTerm2 のインストール

デフォルトのターミナルでは日本語の記号(■や●など)が1バイト分の幅しか表示されません。iTerm2ではマルチバイトの記号を正しい幅で表示するオプションがあるので使っています。UIもデフォルトのターミナルよりちょっとよいです。設定内容はこんな感じです。

  • Profiles > Text > フォント(Regular & Non-ASCII): 18pt Migu 1M Regular (Anti-aliased)
  • Profiles > Text > Treat ambiguous-width characters as double width. にチェック
  • Profiles > Terminal > Silence bell にチェック

SSH-Keyの生成

GitHubに繋ぐためのSSH-Keyを生成します。

$ ssh-keygen -t rsa

その後生成された公開鍵を GitHubに登録 します。

$ cat ~/.ssh/id_rsa.pub

以下のようにSSHコマンドで接続完了のメッセージが返ってきたら成功です。

$ ssh git@github.com
The authenticity of host 'github.com (192.30.252.131)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.131' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0
Hi fujikky! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

ついでにgitのコミット情報も設定しておきます。

$ git config --global user.name "Yusuke Fujiki"
$ git config --global user.email yusuke@fujikkys.com

dotfilesの設置

私は.bashrcや.vimrcをGitHubで管理していますので、それを反映しておきます。dotfiles内には create_symlink.sh というシェルスクリプトがあり、これを実行すると、各ファイルがホームディレクトリ以下にシンボリックリンクが張られます。

$ mkdir ~/git
$ cd git
$ git clone git@github.com:fujikky/dotfiles.git
$ cd dotfiles/
$ git submodule init
$ git submodule update
$ ./create_symlink.sh

VundleでVimプラグインのインストール

VundleというVimのプラグイン管理ツールを使っています。Vundle自体はdotfilesのsubmoduleになっているので、上のコマンドによってインストールされていますが、使っていたVimプラグイン自体はまだ入っていない状態です。

Vimを起動します。

$ vim

Vim上で :BundleInstall コマンドを実行すると .vimrc に書かれたプラグインがインストールされます。

:BundleInstall

開発ツールのインストール

Xcode のインストール

iPhoneアプリを作る場合でなくても、インストールはしておきましょう。各種ビルドで必要なコンパイラがインストールされます。XcodeはMacのApp Storeからで簡単にインストールできます。インストールが終わったら起動し、画面に従ってセットアップしておきます。

SourceTreeのインストール

gitをGUIで操作するにはSourceTreeがおすすめです。差分確認やブランチの操作などが直感的に行えます。

Homebrew のインストール

Homebrew は Mac 用のパッケージ管理システムです。パッケージ管理システムは Mac Ports もありますが、インストールが簡単で速く開発も活発なので、こちらを使っています。

Homebrew のインストールは以下のようなワンライナーで実行できます。なおインストール後に Xcode のコマンドラインツールを入れろというアラートが出るので、画面の指示に従って入れます。(Xcode4まではPreferencesのDownloadsから自分で入れる必要があったのですが、変わったんですね。)

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

インストールが完了したら環境チェックを行います。

$ brew doctor

で “Your system is ready to brew.” と返ってくればOKです。

さらにデフォルトで入っているパッケージよりもHomebrewでインストールされたパッケージを優先させるため、PATHを変更しておきます。 .bashrc に以下を追加します。

### PATH for Homebrew
export PATH="/usr/local/bin:$PATH"

Hosts のインストール

/etc/hosts で Hosts の変更ができますが、Hosts を使うと管理が便利です。インストールをすると環境設定に項目が追加され、予め登録しておいたIP/ホスト名のリストからオン・オフで管理できます。

開発言語のインストール

rvm でRubyのインストール

システムにもデフォルトでRubyが入っていますが、gemを入れる場合にシステム内のRubyだと汚してしまうのが気持ち悪かったり、インストール時に管理者権限が必要だったりします。rvm を使うとユーザーディレクトリ配下にいろいろなバージョンの Ruby を入れることができるので、システムを汚さずに遊べます。2.0.0は現時点の最新のstableなRubyです。インストールはまずコンパイルに必要なライブラリがHomebrew経由でインストールされ、その後にRubyがソースからコンパイルされるのでそれなりに時間が掛かります。

$ \curl -L https://get.rvm.io | bash -s stable
$ rvm install 2.0.0

nodebrew でNodeJSのインストール

NodeはMacにはデフォルトでは入っていないのですが、頻繁にバージョンアップされるためいくつものバージョンをうまく切り替えて使う仕組みを導入しています。Rubyと同様に nodebrew を使うとユーザーディレクトリ配下にインストールできます。以前はnvmを使っていたのですが、最近評判が上がっているnodebrewに切り替えてみました。nodebrewのよさについては node.js の環境管理ツール nodebrew が参考になるかと思います。インストールしている v0.8.26 は適当なバージョンですが、install-binary コマンドを使っていて、コンパイルが省かれているので速いです。

$ curl -L git.io/nodebrew | perl - setup
$ nodebrew install-binary v0.8.26

HomebrewでPHPのインストール

最後にPHPです。PHPもMacにはデフォルトで入っていますが、いろいろなバージョン(5.5とか)を扱いたい場合にはHomebrewから入れるのが便利でしょう。まず brew tap コマンドでリポジトリを2つ追加します。

$ brew tap homebrew/dupes
$ brew tap josegonzalez/homebrew-php

続いてPHPをインストールします。php55の部分は、php53やphp54にすることでバージョンを選択することができます。

$ brew install php55

Homebrewから入れたPHPではrvmやnodebrewのようにバージョンを切り替えるコマンドは用意されていませんが、homebrewのコマンドを使って比較的簡単に切り替えることができます。

# homebrewで入れたPHP5.5
$ php -v
PHP 5.5.5 (cli) (built: Oct 27 2013 16:47:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

# php55をunlinkして.bashrcを再読み込みするとシステムデフォルトのPHP5.4になる
$ brew unlink php55 && source ~/.bashrc
$ php -v
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

# php55をlinkして再度有効にする
$ brew link php55 && source ~/.bashrc
$ php -v
PHP 5.5.5 (cli) (built: Oct 27 2013 16:47:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

このエントリは古いです。

OSX Mavericksを使っている場合は Mavericksでの開発環境セットアップ を参考にしてください。

共有の設定

Mac には名前を設定できます。LAN内での共有名に使われるほか、sshなどのホスト名にも使われます(unixでいう$HOSTNAME)。デフォルトでは “fujiki-yusuke-no-macbook-air” みたいなかっこわるい名前なので、かっこいい名前をびしっとつけます。システム環境設定の 共有 からコンピュータの名前を設定してください。なお、 リモートログイン にチェックをいれると sshd が起動して、このMacにSSH接続できるようになります。万一画面が映らなくなったときなどにも、データ復旧に使えるかもしれません。

MigMix フォントのインストール

マルチバイトが混ざっても等幅でみやすい、開発に適したフォントを入れます。自分はMigMix 1Mを使っています。

iTerm2 のインストール

日本語の記号をちゃんと表示できるので使っています。UIもデフォルトのターミナルよりちょっとよいです。設定内容はこんな感じです。

  • Text > フォント(Regular & Non-ASCII): 18pt Migu 1M Regular (Anti-aliased)
  • Text > Double-Width Charactors にチェック
  • Terminal > Silence bell にチェック

Xcode のインストール

iPhoneアプリを作る場合でなくても、インストールはしておきましょう。各種ビルドで必要なコンパイラがインストールされます。

Xcode の Command Line Tools をインストール

Xcode が入ったら起動し、画面に従ってiOSのSDKをセットアップします。その後、環境設定から Downloads タブを開き、Command Line Tools をインストールします。これをしないと後述する Homebrew が利用できません。

Homebrew のインストール

Homebrew は Mac 用のパッケージ管理システムです。パッケージ管理システムは Mac Ports もありますが、インストールが簡単で速く開発も活発なので、こちらを使っています。(悪くいえば発展途上ですが)

Homebrew のインストールはワンライナーで実行できます。

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

インストールが完了したら環境チェックを行います。

$ brew doctor

で “Your system is raring to brew.” と返ってくればOKです。

詳しくは インストールガイド を見てください。

Apache を動かす

Mac にはデフォルトで Apache2 がインストールされています。システム環境設定の 共有 で Web共有にチェックを入れるとApacheが起動します。デフォルトでは DocumentRoot が /Library/WebServer/Documents で、ユーザーごとのディレクトリが /Users/{username}/Sites となっています。Apache の設定ファイルは /etc/apache2/extra/ らへんにあります。

PHP を動かす

PHPもデフォルトで入っています。OSX Lion なら 5.3.10 のようです。ただ Apache で動かすときはデフォルトでは無効化されているため、有効にする必要があります。

まず /etc/apache2/httpd.conf を編集します。sudo で編集してください。

$ sudo vim /etc/apache2/httpd.conf

PHPモジュールの読み込み箇所がコメントアウトされているので外します。

#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module libexec/apache2/libphp5.so

設定ファイルを修正したら Apache を再起動します。

$ sudo apachectl restart

MySQL

Homebrew でインストールしたほうがいいかも。

MAMP

Webアプリ開発が目的で、Macに同梱されているライブラリ群と開発環境をきっちり分けたい場合はMAMPを導入してもよいです。Apache+MySQL+PHPがワンセットになっていて、ひとつのアプリケーションとして動きます。実行に必要なすべてのパッケージを含むため、容量が重いです。普段ApacheやPHPやMySQLが常に動いていてプロセスが気になる場合はMAMPを使った方が自分の任意のタイミングで起動・終了しやすいのでよいかと思います。自分は特に気にならないので、必要になるまでは入れない予定です。

Hostsを変更・管理する

/etc/hosts で Hosts の変更ができますが、Hoster を使うと管理が便利です。予めホスト名とIPアドレスのセットを登録をしておき、ワンクリックで有効・無効を切り替えられます。

rvm で Ruby

システムにもデフォルトでRubyが入っていますが、バージョンが1.8.7で固定されているため遊びづらいです。rvm でユーザーディレクトリ配下にいろいろなバージョンの Ruby を入れることができるので、システムを汚さずに遊べます。

$ \curl -L https://get.rvm.io | bash -s stable --ruby

nvm で NodeJS

NodeはMacにはデフォルトでは入っていないのですが、頻繁にバージョンアップされるためいくつものバージョンをうまく切り替えて使う仕組みを導入しています。Rubyと同様に nvm を使うとユーザーディレクトリ配下にインストールできます。

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
$ nvm install v0.6.14