OS X Lion ServerにRails 2.3.14をインストールするには

2011年8月21日現在、Ruby on Railsの最新バージョンは3.0.10です。もうすぐバージョン3.1がリリースされそうな状況ですが、RfmのサンプルサイトはRails 3.0に対応していないこともあり、ここではRails 2.3.14をOS X Lion Serverにインストールする手順を説明していきます(なお、Rfm自体はRails 3.0でも使えます)。

Railsの有無を確認する

まず始めにOS X Lion Serverに同梱されているRailsのバージョンを確認してみます。

$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

$ sudo gem install rails

You can then rerun your "rails" command.

Snow LeopardではRailsがあらかじめインストールされていましたが、LionにはRailsが入っていません。上記のメッセージを読んでみると、gemコマンドを使用して各自でインストールする必要があることが分かります。

Rails 2.3.14をインストールする

最新版でないRailsをインストールしたい場合には、インストール時にバージョンを指定する必要があります。Rails 2.3.14をインストールしたい場合には、インターネットに接続している状態で「ターミナル」アプリケーションを起動して、「sudo gem install --version 2.3.14 rails」とコマンドを入力します。

$ sudo gem install --version 2.3.14 rails
Successfully installed rake-0.9.2
Successfully installed activesupport-2.3.14
Successfully installed activerecord-2.3.14
Successfully installed rack-1.1.2
Successfully installed actionpack-2.3.14
Successfully installed actionmailer-2.3.14
Successfully installed activeresource-2.3.14
Successfully installed rails-2.3.14
8 gems installed
Installing ri documentation for rake-0.9.2...
Installing ri documentation for activesupport-2.3.14...
Installing ri documentation for activerecord-2.3.14...
Installing ri documentation for rack-1.1.2...
Installing ri documentation for actionpack-2.3.14...
Installing ri documentation for actionmailer-2.3.14...
Installing ri documentation for activeresource-2.3.14...
Installing ri documentation for rails-2.3.14...
Installing RDoc documentation for rake-0.9.2...
Installing RDoc documentation for activesupport-2.3.14...
Installing RDoc documentation for activerecord-2.3.14...
Installing RDoc documentation for rack-1.1.2...
Installing RDoc documentation for actionpack-2.3.14...
Installing RDoc documentation for actionmailer-2.3.14...
Installing RDoc documentation for activeresource-2.3.14...
Installing RDoc documentation for rails-2.3.14...

インストール完了後に、改めてRailsのバージョンを確認してみます。

$ rails -v
Rails 2.3.14

Xcodeをインストールする

Rfm 1.4で利用するnokogiriのビルドに必要であるため、Mac App StoreからLion用のXcodeをダウンロードおよびインストールを行います(Lion用のXcodeは現在無料です)。Xcodeのダウンロードには時間がかかり、ダウンロードが完了してもインストール作業は完了していないので注意してください。ダウンロード後にアプリケーションフォルダにあるInstall Xcode.appを起動して、Xcodeのインストールを行う必要があります。

Rfm 1.4をインストールする

Xcodeのインストールが完了している状態であれば、Rfm 1.4をインストールできます。いつものようにgemコマンドを使用します。

$ sudo gem install lardawge-rfm
Password:
Building native extensions. This could take a while...
Successfully installed nokogiri-1.5.0
Successfully installed lardawge-rfm-1.4.1.2
2 gems installed
Installing ri documentation for nokogiri-1.5.0...

No definition for get_options

No definition for set_options

No definition for parse_memory

No definition for parse_file

No definition for parse_with
Installing ri documentation for lardawge-rfm-1.4.1.2...
Installing RDoc documentation for nokogiri-1.5.0...

No definition for get_options

No definition for set_options

No definition for parse_memory

No definition for parse_file

No definition for parse_with
Installing RDoc documentation for lardawge-rfm-1.4.1.2...

Rails 2.3.14で起動するために設定ファイルを編集する

Rfmのサンプルサイトのファイルは、Rails 1.2.3のときに作成されたものであり、そのままではRails 2.3.14で動きません。ただし、Rails 2.3.2で動作するようにしたRfmのサンプルアプリケーションがあれば、あとはconfig/environment.rbを編集するだけです。RfmのサンプルサイトをRails 2.3.2で動かす件の詳細については、「Rfmのサンプルサイトを動かす準備http://d.hatena.ne.jp/matsuo_atsushi/20090409/1239218580)」と「RfmのサンプルサイトをRails 2.3.2で動かすにはhttp://d.hatena.ne.jp/matsuo_atsushi/20090410/1239296253)」を参照するようにしてください。

rails-sample」ディレクトリ内のconfig/environment.rbでは、FileMaker Serverに接続するためのRfm::Serverオブジェクトで使う情報を指定しますが、Rfm 1.0と異なりRfm 1.4では:sslオプションの値がデフォルトでtrueであるため、多くの場合、明示的にfalseを指定する手間が生じるようになってしまっています。

FM_CONFIG = {
:host => "127.0.0.1",
:port => 16014,
:account_name => "",
:password => "",
:database => "FMServer_Sample",
:ssl => false,
}

また、ここでは、config/environment.rbにおいて「RAILS_GEM_VERSION = '2.3.14' unless defined? RAILS_GEM_VERSION」と変更しておきます。

cdコマンドを使用して「rails-sample」ディレクトリに移動し、「ruby script/server」とタイプするとサンプルサイトをRailsアプリケーションとして動かすことができます。

特に問題がなければ、下記のような表示となり(Mongrelではなく)WEBrickが起動します。

$ ruby script/server
=> Booting WEBrick
=> Rails 2.3.14 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-08-20 18:53:23] INFO WEBrick 1.3.1
[2011-08-20 18:53:23] INFO ruby 1.8.7 (2010-01-10) [universal-darwin11.0]
[2011-08-20 18:53:23] INFO WEBrick::HTTPServer#start: pid=445 port=3000