Ruby on Rails/Fedra Core5でApache2+FastCGIのセットアップ http://www.ark-web.jp/sandbox/wiki/155.html

Fedra core 5にRuby on Railsをapache + FastCGIの構成でインストールしましたので、そのメモを残します。 [smile]

[edit]

流れ

次のような流れになります。

  1. fcgiのインストール
    fcgiは環境に依存しない常駐型のCGIプロセスのコンテナ(?)みたいなものっぽい。
  2. mod_fcgiのインストール
    apacheとfcgiを連動させるためのApacheモジュール
  3. rubyのインストール
    Ruby on Railsはrubyでできてる。
  4. ruby-fcgiのインストール
    rubyでfcgiのフレームワークでプログラムを実行するために使うrubyのライブラリっぽい。
  5. Ruby on Railsのインストール
    これが入れたい。
[edit]

fcgiのインストール

$ cd /usr/local/src/
$ wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
$ tar xzf fcgi-2.4.0.tar.gz
$ cd fcgi-2.4.0
$ ./configure
$ make
# make install
[edit]

mod_fcgiのインストール

yumから、mod_fcgidというのがインストールできるのでこれを使います。

# yum install mod_fcgid

mod_fcgidとは?
mod_fcgid is a binary-compatible alternative to the Apache module mod_fastcgi.
mod_fcgid has a new process management strategy, which concentrates on reducing
the number of fastcgi servers, and kicking out corrupt fastcgi servers as soon
as possible
mod_fcgiと互換性があり、mod_fcgiでトラブルになりがちな、プロセス数の制御がもっと頭がよくなったもと、という感じでしょうか。

[edit]

rubyのインストール

これもyumでインストール。

# yum install ruby ruby-devel rdoc irb
[edit]

gemsのインストール

$ cd /usr/local/src/
$ wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
$ tar xzf rubygems-0.9.0.tgz
$ cd rubygems-0.9.0
# ruby setup.rb
[edit]

ruby-fcgiのインストール

gemsのFCGIでは、

Dispatcher failed to catch: undefined method `is_cgi?' for 
FCGI:Class (NoMethodError)

のようなエラーがでてうまくいかなかったので、ruby-fcgiを入れました。

参考)http://sugi.nemui.org/prod/ruby-fcgi/

$ cd /usr/local/src/
$ tar xzf ruby-fcgi-0.8.6.tar.gz
$ ruby install.rb config
# ruby install.rb setup
[edit]

rakeのインストール

# gem install rake
[edit]

railsのインストール

# gem install rails --include-dependencies
[edit]

余談?


実はこれやってるとき、rubyforge.orgが落ちててリモートからインストールできませんでした。 [sad]
なので、
  http://rubyforge.iasi.roedu.net/gems/
などのミラーから、インストールしたいファイルをダウンロードして、そのファイルが
カレントディレクトリにある状態で

# gem install activerecord -l

のようにローカル指定してインストールしました。

[edit]

試しにセットアップ

$ rails test

セッションと、ログファイルのディレクトリにパーミッションを与える

$ chmod ugo+w -R tmp log

テスト用のcontrollerとactionを用意する

$ cd test
$ ./script/generate controller index
$ echo "aaa" > app/views/index/index.rhtml

表示してみる。
 http://my.domain/rails_root/public/index/index

投稿者志田 | パーマリンク | コメント(0)

| append.gif

tag: Ruby on Rails, FastCGI, ネットワーク


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-01-05 (金) 08:10:48 (4614d)

アークウェブのサービスやソリューションはこちら