OSX 10.8(mountain lion)を、開発環境(ruby on rails等)としてセットアップするときのメモ

OSX LionのクリーンInstall

  • Macの電源がきれた状態から、optionキー押しっぱなしで起動
  • ネットワークに接続後、「復旧10.8」をクリックして「OSXユーティリティ」を起動
  • ディスクユーティリティを選択してOSが入っているディスクを選択し、「消去」
  • OSX ユーティリティに戻って、「OS Xを再インストール」を実行
    • アカウント名が大事。ホームフォルダの名前として利用されるので、複数のマシンを使いまわしている場合は、統一するとよい。
  • インストールが終わったら、「ソフトウェア・アップデート」を実行し、OSを最新の状態にする

iTunesでコンピュータを認証させる

Dropboxの同期

Dropboxでデータの同期。セットアップに必要なツールや、1Passwordの設定ファイルを早々に同期させる。

OSX システム環境設定

可能な限りコマンドで設定し、残りは「システム環境設定」から設定する

コマンドラインによる設定

    # Set computer name (as done via System Preferences → Sharing)
sudo scutil --set ComputerName "yamamoto-mba"
sudo scutil --set HostName "yamamoto-mba"
sudo scutil --set LocalHostName "yamamoto-mba"
    # Expand save panel by default
    # アプリケーションの「保存」ダイアログで、詳細な保存場所を指定できる「詳細表示」をデフォルトに設定
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true
    # Enable full keyboard access for all controls
    # Tabで全てのコントロールにフォーカスできるようになる
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3
    # Finder: show all filename extensions
    # 拡張子を常に表示する
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
    # Finder: allow text selection in Quick Look
defaults write com.apple.finder QLEnableTextSelection -bool true
    # Avoid creating .DS_Store files on network volumes
    # ネットワーク上に.DS_storeを作らない
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
    # Enable Safari’s debug menu
defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
    # QuickTime Xで動画を開いた時自動再生する
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1
    # Show the ~/Library folder
chflags nohidden ~/Library
    # Dashboardを無効にする
defaults write com.apple.dashboard mcx-disabled -boolean true
    # プレビューのデフォルトのファイル保存先を、iCloudからローカルに変更する
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false

Dock

  • 起動中のアプリケーションをアニメーションで表示
  • 画面上の位置を左
  • サイズを最小

言語とテキスト

  • メニューバーに入力メニューを表示

キーボード

  • キーボード > 修飾キー > Caps Lock > CapsキーをCrontrolとして動作させるように変更
  • キーボード >「F1,F2などのすべてのキーを標準のファンクションキーとして使用」にチェック
  • キーボード > 「メニューバーにキーボードビューアと文字ビューアを表示」にチェック
  • キーボードショートカット > 必要なもの以外は、すべてチェックを外す
  • キーボードショートカット > 「すべてのコントロール」にチェック

トラックパッド

  • 「タップでクリック」にチェック
  • 「三本指のドラッグ」にチェック
  • 「軌跡の速さ」を最速に
  • その他のジェスチャ
  • 「アプリケーションExpose」にチェック
  • 「Mission Control」「Launchpad」のチェックを外す

Spotlight

ショートカット プライバシー除外

省エネルギー

  • 電源アダプタ接続時の「コンピュータのスリープ」時間を、3時間に変更

ネットワーク

  • DNSに8.8.8.8を追加

日付と時刻

  • 曜日を表示
  • 日付を表示
  • 秒を表示

セキュリティ

  • ダウンロードしたアプリケーションの実行許可を、「すべてのアプリケーションへ」

Finder

  • 一般 > 「新規Finderウインドウで次を表示」を「マイファイル」から「ホームディレクトリ」へ
  • 詳細 > 「検索実行時」を「マイファイル」から「現在のフォルダ内を検索」へ

アプリインストール

大別して、AppStoreから入れるものと作者のHPから入れるものがある。 AppStoreから入れたほうが管理上楽なので、特別な理由がない限りはAppStoreからインストールする。

  • 内容の一覧は「ココ」参照

プラグインのインストール

アプリの個別設定(旧環境からの引き継ぎ)

旧Macでの作業

  • Dropboxをインストール後ターミナルを立ち上げる
  • Mackupをダウンロードするコマンドを入力
  • Mackupを実行可能化するコマンドを入力
    • chmod +x mackup
  • Dropboxへバックアップするコマンドを入力
    • ./mackup backup

新Macでの作業

  • Dropboxをインストール後ターミナルを立ち上げる
  • Mackupをダウンロードするコマンドを入力
  • Mackupを実行可能化するコマンドを入力
    • chmod +x mackup
  • Dropboxから復元するコマンドを入力
    • ./mackup restore

アプリ個別設定

SSH

  • 秘密鍵を、旧環境からコピーしてくる。権限設定も忘れずに
ln -sf ~/Dropbox/work/setting/ssh/ .ssh
chmod 600 ~/.ssh/config
chmod 600 ~/.ssh/id_rsa

1Password

  • chromeのエクステンションは、手動で追加する。ダブルクリックしてもインストール出来ないので、拡張機能ページに直接ドラッグする

OmniFocus

  • preference > 同期 > サインアップ > omni sync server公式サイトに飛ばされるのでログイン > auto-configureをクリック

BetterTouchTools

  • 既存環境の設定ファイルをインポートする
  • ウインドウの移動とリサイズを有効

Google 日本語入力

  • キー設定はATOKライクに変更する。
  • Google日本語入力 > 環境設定 > キー設定の選択環境設定 > 「ことえり」から「ATOK」へ変更を行う。

Splash streamer

リモート操作したいマシンにsplashtop streamerをインストールし、リモート操作できることをチェック

Witch

  • ウインドウ切り替えのキーバインドを、デフォルトの「オプション+tab」から「command+tab」に変更する

remap4macbook

  • 既存環境のprivate.xml(~/Library/Application Support/KeyRemap4MacBook/private.xml)を同じ場所にコピーする
  • KeyRepeatタブで、keyを押したときの待ち時間を短くする

iTerm2

  • Profiles > Text > Double-Width Charactersにチェック入れる

Alfred

  • preferences > advanced > syncing > Dropbox

Adobe

Skype

既存環境からの環境設定のコピー - Skype - 会話のログがSQLiteDatabaseファイルとして下記に格納されているので、新環境にコピーする

cd ~/Library/Application Support/
cp Skype/**   ~/Library/Application Support/Skype

AWS関連ツール

  • elastics,elasticfox,iamfox,r53foxに管理中のAWSのアカウントキーを登録

開発環境周り

パッケージ管理システムを導入することで、RailsやMySQLといったパッケージが簡単に導入できるようになります。 数あるパッケージ管理システムの中から今回採用したのは、Homebrew。 Macportsよりもスマートで、ココのところ主流になりつつあるといわれています。

Xcode、Java、XQuartsのインストール

  • Xcodeの事後処理
    • 「Command Line Tools 」をインストール
      • Xcode を起動し、画面上の指示に従った後、Preferences > Download-Command Line Tools
    • xcodedirpath の設定
      • sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
    • 「IOS 5.1 Simulator」をインストール
  • Java ランタイムのインストール
    • Finder > 移動 > ユーティリティ > Java Preferences > インストール
  • XQuartsのインストール
    #Homebrewを優先的に使うの為のPATH設定
    # ~/.bashrcに下記を追記
export PATH=/usr/local/sbin:$PATH
export PATH=/usr/local/bin:/usr/local/share:$PATH
export PATH=/usr/local/share:$PATH

    # Homebrew本体のインストール
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
    # homebrewの診断
brew doctor
    # Homebrew本体のアップデート
brew install git
brew upgrade
brew update
brew cleanup

dotfilesのインストール

Rubyのインストール

デフォルトで入っているrubyは1.8.7と古いので、新しいバージョンを以降の手順でインストールする。 また、rubyのバージョン管理ツールには、rbenvを用る

    # rbenv(rubyのバージョン管理ツール)のインストール
brew install rbenv ruby-build
    # 下記を.zshrcに追記してpathを通す
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init - zsh)"
brew install readline openssl
brew link readline
    # Rubyをrbenv経由でバージョン指定インストール
CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 1.9.3-p362
rbenv global  1.9.3-p362
    # インストールしたrubyやgemのパスを通す
rbenv rehash
    # インストールされてるrubyのバージョン一覧を確認
rbenv versions

その他、便利なCUIツールのインストール

Homebrew経由インストールする

brew install               \
autoconf                   \
automake                   \
bash                       \
bdw-gc                     \
bsdmake                    \
cmake                      \
ctags                      \
coreutils                  \
fuse4x                     \
fuse4x-kext                \
gdbm                       \
gettext                    \
git                        \
git-flow                   \
glib                       \
gmp                        \
htop-osx                   \
hub                        \
libevent                   \
lv                         \
lynx                       \
nkf                        \
nmap                       \
node                       \
oniguruma                  \
pcre                       \
pidof                      \
pkg-config                 \
rbenv                      \
readline                   \
reattach-to-user-namespace \
ruby-build                 \
s3cmd                      \
sqlite                     \
sshfs                      \
tig                        \
tmux                       \
tree                       \
w3m                        \
watch                      \
wget                       \
xz                         \
graphicsmagick             \
zsh
  • cmake: mysql5.5のmakeなどに必要
  • w3m: CLI Web Browser
  • nkf: 文字コード変換
  • nmap: ポートスキャンユーティリティ
  • tig : CUIのGitブラウザ
  • tmux: ターミナルマルチプレクサ。仮想端末管理ソフトウェア
  • tree: ディレクトリツリーを表示
  • wget: CUIでWebリソースをダウンロード
  • zsh : 最強のシェル
  • bash: 標準のシェルも一応アップデート
  • s3cmd: AmazonS3のクライアントコマンド
  • sqlite: サーバ型でないのデータベース
  • lv : ページャ
  • reattach-to-user-namespace : Macのtmuxでクリップボード機能を有効にするために必要

Railsのインストール

    # RubyGemsの更新
source ~/.zshrc
gem update --system
    # pryのインストール
gem install pry pry-doc
    # Ruby on Railsのインストール
    # インストールからテストアプリの作成まで一気にやります。
    # Rakeの更新
gem update rake
    # Thin
gem install thin
    # Ruby on Rails本体のインストール
gem install rails --no-ri --no-rdoc
    # node.js のインストール
brew install node
    # test アプリの作成
cd
mkdir ~/work
cd ~/work
rails new test --skip-bundle
cd ~/work/test
bundle install --path=vendor/bundle
rails g scaffold user name:string email:string
rake db:migrate
rails s
     #ブラウザで http://localhost:3000/users を開いて正常に動いていることを確認する

フォントのインストール

  • 既存の環境からコピーする。その後、Font Bookを用いて、ドラッグ・アンド・ドロップでコピーする
  • プログラミング用フォントであるRictyは、下記のシェルでインストールする
$ brew tap sanemat/font
$ brew install ricty
# (generate)
$ cp -f /PATH/TO/RICTY/fonts/Ricty*.ttf ~/Library/Fonts/
$ fc-cache -vf
  • 下記の方法でもOK
curl -L https://gist.github.com/raw/4362210/e65eaee6ad816e8ed88d369fccb58df499432166/ricty_installer.sh | sh

MySQLのインストール

最もポピュラーなデータベース。インストール作業はまりやすいので注意。

    # MySQLをBrew経由でInstall
brew install mysql
    # MySQLデータベースを作成
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    # MySQLの開始
mysql.server start
    # MySQLの初期セットアップ
/usr/local/Cellar/mysql/*/bin/mysql_secure_installation

    Enter current password for root (enter for none): 
    Set root password? [Y/n] Y
    New password: 
    Re-enter new password: 
     ... Success!
    Remove anonymous users? [Y/n] y
     ... Success!
    Disallow root login remotely? [Y/n] y
     ... Success!
    Remove test database and access to it? [Y/n] n
     ... skipping.
    Reload privilege tables now? [Y/n] y
     ... Success!
    installation should now be secure.

    Thanks for using MySQL!

MySQLのログイン確認

mysql -uroot
    Enter password: 

    root@localhost:(none)  
    root@localhost:(none) 
    root@localhost:(none) show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)

percona-toolkitのインストール

MySQLの便利スクリプト集

sudo cpan -i DBD::mysql
brew install percona-toolkit

その他の設定

Macのログインシェルをzshに変更する

http://weble.org/2010/11/08/mac-zsh

QuickLookの機能追加

便利な機能を追加する

    # QuickLookプラグインの設置ディレクトリを作成。QuickLookプラグインを作成したディレクトリに置く
mkdir ~/Library/QuickLook/
cp -r ~/Dropbox/work/setting/quicklook/\* ~/Library/QuickLook

おすすめPluginは下記

  • qlImageSize.qlgenerator
  • BetterZipQL.qlgenerator
  • Folder.qlgenerator
  • QLStephen.qlgenerator
  • QuickLookCSV.qlgenerator
  • QLMarkdown.qlgenerator

QuickLookの機能変更反映は、killall Finder

その他、基本操作めも

カーソル操作

  • Ctrl - F / B 一文字移動
  • Ctrl - H / D 一字消去
  • Ctrl - N / P 一行移動
  • Ctrl - O 一行挿入
  • Ctrl - A / E 段落の始めと最後へ移動
  • Ctrl - Up/Down 行頭 行末移動
  • Ctrl - K 段落の最後まで削除
  • Ctrl - U 現在の行を削除
  • Ctrl - V ページ送り

ファンクションキー

  • ショートカットキー 機能
  • Control + F1 フルキーボードアクセスのオン/オフを切り替える
  • Control + F2 メニューバーにフォーカスを移動
  • Control + F3 Dock にフォーカスを移動
  • Control + F4 アクティブな (または次の) ウインドウにフォーカスを移動
  • Control + F5 ツールバーにフォーカスを移動
  • Control + F6 最初の (または次の) パネルにフォーカスを移動
  • Control + F7 ウインドウ及びダイアログの現在のキーボードアクセスモードを一時的に無効にする
  • Control + F8 ステータスメニューを操作対象にする

Finder

「Return」キー 名前の変更 スペースキー QuickLook ファイル名を英字で素早くタイプ そのファイルにフォーカスを移す

  • 表示形式の切り替え

    • キーボードショートカット 説明
    • 「Command」+「1」 アイコン表示に切り替え
    • 「Command」+「2」 リスト表示に切り替え
    • 「Command」+「3」 カラム表示に切り替え
    • 「Command」+「4」 Cover Flowに切り替え
  • 「Command」+ X のショートカット

    • キーボードショートカット 説明
    • 「Command」+「 F1 」 ウインドウの切り替え
    • 「Command」+「 [ 」 履歴を戻る
    • 「Command」+「 ] 」 履歴を進む
    • 「Command」+「↑」 親フォルダに移動
    • 「Command」+「↓」 子フォルダに移動
    • 「Command」+「A」 すべて選択
    • 「Command」+「C」 選択したアイテムをコピー
    • 「Command」+「D」 選択したアイテムを複製
    • 「Command」+「E」 ディスク・ボリュームの取り出し
    • 「Command」+「F」 検索窓で検索
    • 「Command」+「H」 すべてのウインドウを隠す
    • 「Command」+「I」 選択したアイテムの情報を見る
    • 「Command」+「J」 表示オプションを表示
    • 「Command」+「K」 サーバへ接続
    • 「Command」+「L」 選択したアイテムのエイリアスを作成
    • 「Command」+「M」 ウインドウをしまう
    • 「Command」+「N」 新規Finderウインドウ
    • 「Command」+「O」 選択したアイテムを開く
    • 「Command」+「R」 エイリアスのオリジナルを表示
    • 「Command」+「T」 選択したアイテムをサイドバーに追加
    • 「Command」+「V」 ペースト
    • 「Command」+「W」 ウインドウを閉じる
    • 「Command」+「X」 カット
    • 「Command」+「Y」 Quick Look
    • 「Command」+「Z」 取り消し
    • 「Command」+「,(カンマ)」 Finderの環境設定を開く
  • 「Shift」+「Command」+ X のショートカット

    • キーボードショートカット 説明
    • 「Shift」+「Command」+「A」 「アプリケーション」フォルダに移動
    • 「Shift」+「Command」+「B」 「Bluetoothファイル交換」を開く
    • 「Shift」+「Command」+「C」 「コンピュータ」ウインドウに移動
    • 「Shift」+「Command」+「D」 「デスクトップ」フォルダに移動
    • 「Shift」+「Command」+「F」 検索窓でファイル名検索を行う
    • 「Shift」+「Command」+「G」 「フォルダへ移動」ダイアログを開く
    • 「Shift」+「Command」+「H」 「ユーザのホームフォルダ」に移動
    • 「Shift」+「Command」+「I」 「iDisk」に移動
    • 「Shift」+「Command」+「K」 「ネットワーク」ウインドウに移動
    • 「Shift」+「Command」+「N」 新規フォルダを作成
    • 「Shift」+「Command」+「O」 「書類」フォルダに移動
    • 「Shift」+「Command」+「Q」 ログアウトする
    • 「Shift」+「Command」+「T」 「Dock」に追加
    • 「Shift」+「Command」+「U」 「ユーティリティ」フォルダに移動
    • 「Shift」+「Command」+「Z」 やりなおす
    • 「Shift」+「Command」+「?」 ヘルプを表示
  • 「Control」+「Command」+ X のショートカット

    • キーボードショートカット 説明
    • 「Control」+「Command」+「O」 フォルダを新規ウインドウで開く
    • 「Control」+「Command」+「I」 複数アイテムの概要情報を表示
    • 「Control」+「Command」+「T」 よく使う項目に追加
    • 「Control」+「Command」+「1」 アイテムを名前順に並び替える
    • 「Control」+「Command」+「2」 アイテムを変更日順に並び替える
    • 「Control」+「Command」+「3」 アイテムを作成日順に並び替える
    • 「Control」+「Command」+「4」 アイテムをサイズ順に並び替える
    • 「Control」+「Command」+「5」 アイテムを種類順に並び替える
    • 「Control」+「Command」+「6」 アイテムをラベル順に並び替える
  • 「Option」+「Command」+ X のショートカット

    • キーボードショートカット 説明
    • 「Option」+「↑」 (アイコン表示以外)一番上のアイテムに移動
    • 「Option」+「↓」 (アイコン表示以外)一番下のアイテムに移動
    • 「Option」+「Command」+「A」 アイテムの選択をすべて解除
    • 「Option」+「Command」+「D」 Dockの非表示・表示
    • 「Option」+「Command」+「F」 検索結果をクリアしないで検索窓に移動
    • 「Option」+「Command」+「H」 Finder以外のウインドウを隠す
    • 「Option」+「Command」+「I」 インスペクタを表示
    • 「Option」+「Command」+「M」 すべてのウインドウをしまう
    • 「Option」+「Command」+「N」 新規スマートフォルダを作成
    • 「Option」+「Command」+「O」 現在のフォルダを閉じ、選択したフォルダを開く
    • 「Option」+「Command」+「S」 サイドバーを隠す・表示
    • 「Option」+「Command」+「T」 ツールバーを隠す・表示
    • 「Option」+「Command」+「W」 すべてのウインドウを閉じる
    • 「Option」+「Command」+「Y」 スライドショー
  • 「Option」+「Shift」+「Command」+ X のショートカット

    • キーボードショートカット 説明
    • 「Option」+「Shift」+「Command」+「Q」 すぐにログアウト
    • 「Option」+「Shift」+「Command」+「ESC」(長押し) Finderを強制終了
  • other

    • Command + / : カーソル位置をハイライト(一部のアプリのみ対応)
    • Command + Shift + G : Unix パス入力による移動

コマンド

MacWiki - OSXの固有コマンド