Ruby on RailsのLinuxへのインストール法

 Ruby on Rails(RoR)は、データベース駆動型のWebアプリケーション開発に適した操作性の高いWebフレームワークであるとして、最近その評価を高めつつある。こうしたRuby on Rails関連の既存ドキュメントは、その大半がMacintoshに関するものであり、残り少数についてもWindowsを対象としているものばかりといった感がするものの、実のところRoRはLinuxでも問題なく動作させることができるのだ。そこで本稿では、LinuxマシンへのRoRのインストール手順を主軸に据えつつ、その後の開発活動の参考となる資料についても簡単に解説することにする。

 RoRに対する認識が一気に高まったのは、プログラミング言語としてのRubyの人気の上昇および、Web 2.0機能を有すデータベース駆動型Webサイトに対する需要の増加という、2つの要素が合わさった結果と見ていいだろう。Rubyは、1990年代中盤の日本にて誕生したプログラミング言語であり、オブジェクト指向、動的、インタープリタ型という特性を備えている。そして、データベースとWebサーバとを結合することを目的にRubyにて記述されたフレームワークがRailsという位置付けになる(初回リリースは2005年)。

 動的なデータベース駆動型のWebサイトの場合、クライアントサイドのスクリプティングしか利用できない静的および動的なWebページ以上の機能を実装したユーザインタフェースを構築することができる。つまりデータベース駆動型のWebサイトでは、サーバサイドのスクリプトやプログラムを介してデータベース上のデータ群を操作することで、高度にインタラクティブ化されたユーザ環境を構築できるのだ。例えば、Webフォーラム、電子商取引サイト、ブログ、wiki、および各種のソーシャルネットワーキングサイトといった分野は、いずれもデータベース駆動型Webサイトを利用している。

 ただしRoRの有す最大の特長は、結果的にデータベース駆動型Webサイトが構築できることではなく、そこに辿り着くまでのサイト構築の手順をスリム化できる点にある。つまりRoRは1つのフレームワークとして機能するのであり、モデル(データベース)とビュー(データベース操作用のWebページ)および両者を結合させるコントローラの構築に必要なすべてのコードを、関連するディレクトリ構造とスクリプト群も含めた形で提供してくれるのだ。こうしたRoRを利用することは、Web開発者にとっての大きな負担であるデータベース管理とサーバ用プログラミング構築という作業が大幅に軽減されることを意味する。

RoRのインストール手順

 開発者向けのベストプラクティスとして奨励されているRoRの運用法は、すべての開発活動を各自のローカルマシンにて行うという方式だ。そのために必要となるのは、Webサーバ、データベースプログラム、Ruby、Railsである。RoRのインストールには、Rubyライブラリ用のパッケージマネージャであるRubyGemsを使用すればいい。Railsを含めた一部の必須コンポーネントの実体はライブラリ群であるが、Gemsを用いることでこれらのインストール作業の大半が簡単化されるのだ。なおDebianパッケージのメンテナ陣からは、ディストリビューション付属のパッケージマネージャ以外の使用に対する懸念が表明されている。とは言うものの、ソースからのインストールやバージョンおよび依存性の管理を手作業で行うよりも、Gemsを利用する方が遥かに負担が小さいのは事実であり、リポジトリについてもDebianよりGemsの方が最新の品揃えとなっているのだ。

 私の場合、Slackware 12.1を搭載した2台のコンピュータにRoRをインストールしてみた。Ubuntuへのインストールに関しては、コミュニティベースのドキュメントが作成されているが、その内容はSlackwareにて私が用いたものと基本的な点はおおよそ共通している。いずれにせよ、私と同様にパッケージマネージャとしてGemsを使用する限り、どのディストリビューションにても似たような手順でインストールできるはずだ。

 ここでのインストール操作については、rootユーザないしはsudoを用いたroot権限下での操作が必要となる。またRubyGemsのインストールでは、仮想ターミナルからの操作も行わなくてはならない。

 最初のステップは、Rubyのインストールである。なお使用すべきRubyについては、Ruby on RailsのWebサイトを見るとRubyバージョン1.8.6が推奨されている。デフォルトでRubyがインストールされるディストリビューションも存在するが、そうでない場合も、通常はリポジトリに収録されているはずだ。

 その次のステップは、データベースのインストールである。RoRの対応するデータベースは、SQLite、MySQL、PostgreSQLとされており、そのうちデフォルトで用いられるのはSQLiteだ。私の場合はSlackbuilds.orgから入手したSQLite 3.6.2用のSlackbuildスクリプトを利用しており、その際のプロセスはSbopkgを用いた簡単化がされている。

 その次のステップは、RubyGemsのインストールである。この処理についても、SlackBuilds.orgから入手したRubyGems 1.3.1用のSlackBuildスクリプトを利用させてもらった。もっとも大部分のディストリビューションについては、ネイティブのパッケージ管理ツールを用いたデータベースとRubyGemsのインストール処理が行えるはずだ。

 RubyGemsのインストールが終了すると、残されたRoR用のコンポーネントがインストールできるようになる。現状の最新リリースであるRails 2.2をインストールするには、RubyGemsにて「gem install rails」と入力すればいい。

 RubyGemsに付随する欠点の1つは、ユーザへの情報表示があまりに少なすぎることだろう。例えばインストールの完了後には、エラー関連のものも含めた一連のメッセージが表示されるのだが、インストールの進行中にその種の情報は確認できないのである。いずれにせよここでのインストールに成功すると、下記のようなメッセージが表示される。

Successfully installed activesupport-2.2.2
Successfully installed activerecord-2.2.2
Successfully installed actionpack-2.2.2
Successfully installed actionmailer-2.2.2
Successfully installed activeresource-2.2.2
Successfully installed rails-2.2.2
6 gems installed

 パッケージ群のインストールが終わると、Gemsはドキュメント類のインストールを開始する。ところが私のコンピュータに対するRDocドキュメントのインストールは異常なまでの長時間を要すこととなり、その間にGemsからは何のメッセージも表示されなかったのだ。結局、3時間以上待たされたあげく、私はこの作業をキャンセルすることにした。それでもこの段階まで進めば、ドキュメントを除いた稼働状態のRailsインストレーションは入手できたことになる。ドキュメントについては後で再インストールすることにしたが、Railsを実用に供するためには更に2つのコンポーネントが必要であり、Webサーバおよびデータベースとのインタフェース手段を確保しておかなくてはならない。

 Webサーバのインストールに関しては複数の選択肢が存在する。つまりRoRでは各種のサーバを使用できるのだが、私が選んだのはRubyで記述されたMongrelというデフォルトのWebサーバで、そのRubyGemsでのインストールは「gem install mongrel」というコマンドにて行えばいい。最後に私が行ったのは、「gem install sqlite3-ruby」によるSQLiteアダプタのインストールである。

 この段階でのRoRインストレーションは、当該コンピュータの任意のユーザによる利用が可能な状態となっているはずだ。よって次に、rootユーザから通常権限のユーザアカウントに切り換え、仮想ターミナルを開き、RoRのインストレーションに対するテストとして「rails test」を実行する。このコマンドの実行結果としてはRails用のフレームワークが作成されるが、その収録先は各自のhomeディレクトリにおけるtestというディレクトリであり、以降の作業はすべてこの場所にて行うことになる。

 次にこの~/testディレクトリに移動してscript/serverというコマンドを実行するとMongrelのWebサーバが起動するので、手元のWebブラウザにてhttp://localhost:3000へのアクセスを行う。Ruby on Railsが正常に動作していれば「Welcome aboard」というWebページが表示されるはずであり、これによりRoRによる開発作業が開始可能な状態となっていることが確認できたことになる。後は再び仮想ターミナルに戻ってCtrl-Cキーを押し下げ、Webサーバを停止させておく。

Ruby on Railsを使いこなすための参考資料

 稼働状態のRoRフレームが入手できたら、次に行うべきステップとしてその使用法をマスターしなくてはならない。そのための参考資料として、たとえば「Ruby on Rails guides」は有用なオンラインガイドに仕上がっている。このガイドに従って作業を進めれば、さほどの時間をかけることなくサイトの構築ができるはずだ。その他の参考資料としては『 Rails Up and Running, 2nd Edition 』を推薦してもいいだろう。この書籍は2008年10月に刊行されたばかりなので、内容的にも最新の情報に更新されており、先のガイドと同様にアプリケーションのセットアッププロセスが一通り解説されているだけでなく、Railsの動作機構に関する追加情報も多数掲載されているのだ。想定されている読者はこれから初めてRailsを扱うWeb開発者だが、Ruby初心者にも役立つはずだ。私の経験で言うと、各章を読み終えてから演習問題を一通り実行し、再び本章を復習することで、RoRに対する理解度をかなり深めることができたように感じている。

 なお自前のWebサーバを運営している訳ではなく、適当なWebホストを外部に求めているユーザの場合は、RailsHosting.orgで紹介されているRoRに特化した商用Webホストサービスの解説が参考になるだろう。

 実のところRoRというWeb開発フレームワークはLinuxとの親和性がかなり高く、他のOSの場合と同様の操作がLinuxでも行えるので、多数存在する既存のドキュメント類もそのままLinuxインストレーションに適用できるはずだ。RubyGemsも操作性に優れた包括的なパッケージマネージャに仕上がっており、ディストリビューション固有のパッケージマネージャとの併用もおそらく問題ないだろう。こうしたRoRをインストールすることで、動的なデータベース駆動型のWebサイトの構築という作業を簡単かつスリム化することができるはずだ。

Drew Amesは、ペンシルバニア州ハリスバーグにてトランスポーテーションプランナとして活動している。

Linux.com 原文(2008年12月4日)