GOL @Wiki

RedHat上にRuby on Railsの環境を整備する

最終更新:

divadiva

- view
管理者のみ編集可


RedHat Enterprise Linux 5 上にRuby on Railsの環境を整備します。RubyGem(Rubyの後付け可能コンポーネント)の仕組みを使用しますが、ここではマシンがインターネットに接続できないクローズドな環境を想定しています。


Ruby本体のインストール

まずはRuby本体をインストールします。RedHatはRPM系のシステムですので、できたらRPMを拾ってきて、サクッとやっちゃいたいです。ただ、RedHat EL5向けに用意されているのは Ruby1.8.5 ということで、ちょっとバージョンが古い。今回、Rails2.1以上を入れたいのですが、Rails2.1はRuby1.8.6以上を推奨しています。

というわけで、今回はRuby自体はソースからコンパイルするものの、管理を楽にするため、RPMパッケージ化を簡単に代行してくれるcheckinstallユーティリティでRubyパッケージを作成した後、Rubyインストールを実施します。

まずは、checkinstall自体のインストールです。
RPMをサーチしてくれるRPM pbone.netから、RHEL5用のcheckinstall RPMをゲットし、
rpm -i checkinstall-1.6.0-3.el5.rf.i386.rpm
みたいな感じでインストールしてください。

次に、このサイトなどを参考にしてRuby本体をRPM化してインストールしてください。ちなみに上記サイトではRuby1.8.6について記述していますが、私は1.8.7でやりました。他にも「checkinstall」でサイト検索すれば、同様の情報はたくさん出てくるので参考にしてください。

なお後でインストールするRubyGem(Rubyの世界で使用されるパッケージ管理ソフト)のRPMをインストールする際のパッケージ依存性チェックで、/usr/bin/ruby が存在チェックされますので、Rubyのmake時のconfigureは --prefix=/usr でやりましょう。/usr/local 以下にrubyをインストールしても見てくれません。

Rubyの動作テスト

Ruby本体がインストールできたら、いちおう動作テストをしておきましょう。
#!/usr/bin/ruby
print "Hello, Golden Retriever!\n"
こんなのでいいでしょう。

RubyGem本体のインストール

RubyGem自体をインストールします。これもRPM pbone.netからゲットできます。

各種RubyGemのインストール

最終的にはRailsをインストールしたいのですが、Gem間でも依存性がありますので、下記のコマンドを使用して下記の順番にRubyGemをインストールしましょう。なお、最初に説明しましたが、ネットに接続できない環境を想定しておりますので、RUBY FORGEからRubyGemをそれぞれダウンロードして、ダウンロードしたgemファイルのディレクトリに移動して下記のコマンドを実行してください。
gem install (RubyGem名、たとえばactivesupport) --local
  1. Rake
  2. Active Support
  3. Activ eRecord
  4. Action Pack
  5. Action Mailer
  6. Active Resource
  7. Rails

Ruby CGIの動作試験

インストールが完了したので、RubyがCGIとして動作するかテストしましょう。RoRのテストはまたあとで。今回はApache2を想定しています。事前にCGIモジュールがインストールされているかを確認してください。余裕がある人はFastCGIモジュールもインストールし、より高速なCGI環境を整備しておいてください。

/etc/httpd/conf/httpd.confの書き換え

a) LoadModule cgi_module modules/mod_cgi.soのコメントをはずす。
b) CGIファイル用ディレクトリの設定。
<Directory "C:/Program Files/Apache Group/Apache2/cgi-bin">
   AllowOverride All
   Options +ExecCGI
   Order allow,deny
   Allow from all
   SetHandler cgi-script
</Directory>
c) 拡張子ハンドラの設定をする。
.rbファイルがCGIとして認識されます。(.cgiは最初から書いてあるので放置)
AddHandler cgi-script .cgi .rb
d) テスト用CGIプログラムの呼び出し。
テスト用のCGIプログラムをCGIファイル用ディレクトリに配置してブラウザから呼び出してください。
!/usr/bin/env ruby
puts "Content-Type: text/plain"
puts ""
puts "Hello, Golden Retriever!!"
記事メニュー
目安箱バナー