OS X で Ruby on Rails

後期高齢者の手習い(?)で、正月から「Ruby on Rails」なんぞと言うものに挑戦しています。

最初に手を付けたのは、「atmarkIT」で掲載されている開発現場でちゃんと使えるRails 4入門をLinuxで始めました。
色々と失敗を繰り返し、時には挫折を味わいながらも、どうにか全12回の掲載分を終え、達成感を味わう事ができました。

そして4月に入ってからは、OS X(MacBook Air)で、Railsチュートリアルに挑戦しだしました。

全11章もあるオンラインの入門書で、今日、やっと第1章を終わる事ができました。
「OS X」に開発環境の「Xcode」を入れ、「「Command Line Tools」をインストール。
バージョン管理の「Git」をインストール。
そして「Ruby」「Rails」をインストール。

大変だったのは、「Git」のセットアップと「GitHub」へのリポジトリの作成過程でした。
分散バージョン管理の「Git」がよう解らないで、チュートリアルの解説通りに実施しているのだが、うまくプッシュできない。

ネット上の情報を散々、読み解いては試行錯誤の連続。
挫折しかけたけれど、今日、もう一度と思い挑戦してみたら何と成功しました。
ほぼ1か月かかり、どうにか第1章をクリア。

「OS X」、ますますお気に入りのOSの一つになってきました。

OS X Yosemite で Command Line Tools

「OS X Yosemite」で「Command Line Tools」のインストール方法についてのメモ。

Xcodeについては、App Store から簡単にインストールできたが、「Command Line Tools」についてはネットで検索しても方法が多々あって、随分と遠回りしてしまった。

私が取った方法は、ターミナルから以下のコマンドでインストールする方法。

$ xcode-select --install

すると、”xcode-select”コマンドを実行するには・・・とポップアップ表示されるのでインストールを選択クリック。

これで無事、インストールできた。

その後もネットで調べてみると別の手順(これが本来の手順?)も見つかったのでメモしておく。

  • Xcodeを立ち上げる。
  • Xcode => Open Developer Tool => More Developer Tools…
  • ブラウザが開くので Apple ID を入力してログイン
  • 許諾契約が表示されるので、チェックを入れて Agree をクリック
  • Downloads for Apple Developpers が表示されるのでCommand Line Tools (OS X 10.10) for Xcode – Xcode 6.3 を選択しリンクからダウンロード。
  • ダウンロードしたファイルを実行してインストール

MacBookAirでWeb共有を有効にする

MacBookAirでApacheを動かす。

購入時は「Mac OS X 10.6 Snow Leopard」であったが、現在は「OS X10.10.2 Yosemite」へアップグレードしている。

購入時のOSの状態のままだと、システム環境設定の共有から、Web共有をチェックすることで、ユーザーホームのSitesフォルダ内を「http://localhost/~username」でブラウザ表示できたらしい。
しかし、現在はOSをアップグレードしたので、システム環境の共有にWeb共有の項目は無くなってしる。

その為、Web共有を有効にするためには、ターミナルからApacheの設定ファイルを直接編集し、コマンドで起動させるしか方法は無いようだ。

Apacheの設定ファイルは「/etc/apache2/http.conf」と「/etc/apache2/extra/httpd-userdir.conf」及び「/etc/apache2/users/{username}.conf」だ。

「/etc/apache2/http.conf」では以下の2箇所のコメントを外す。

LoadModule userdir_module libexec/apache2/mod_userdir.so
Include /private/etc/apache2/extra/httpd-userdir.conf

「/etc/apache2/extra/httpd-userdir.conf」は以下の1箇所のコメントを外す。

Include /private/etc/apache2/users/*.conf

「/etc/apache2/users/{username}.conf」は以下のように修正。

<Directory "/Users/{username}/Sites/">
Options MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
Require local
</Directory>

ちなみに、上記設定で、「Require local」を記述しなければユーザホームへアクセスできず、以下のエラーログが出力される。

[Tue Mar 31 22:41:59.054200 2015] [authz_core:error] [pid 690] [client ::1:49343] AH01630: client denied by server configuration: /Users/{username}/Sites

設定ファイルの修正を終えたらターミナルから以下のコマンドでApacheを起動する。

$ sudo apachectl start

ちなみに、Apacheを自動起動するには以下のコマンドで設定する

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

自動起動を止める場合は以下のコマンドで設定する。

$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist