Hatena::ブログ(Diary)

なんとなく日記 このページをアンテナに追加 RSSフィード

2008-10-07

[][]さくらインターネットgateway.cgi を使う@Rails 2.1.1

fcgi と drb を使って 90 秒だけ生存するサーバみたいな感じですかね.

基本的にhttp://d.hatena.ne.jp/cimadai/20080923/RubyonRails_on_sakuraを参考にしました.

1. Rails/Gemインストールなど.

どこぞにある方法で.

2. fcgiインストール

$ cd ~/local/srv
$ wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
$ tar zxvf fcgi-2.4.0.tar.gz
$ cd fcgi-2.4.0
$ ./configure --prefix=$HOME
$ make
$ make install
$ gem install fcgi -- --with-fcgi-include=$HOME/local/include

3. gateway.cgi の準備

$ cp ~/local/ruby/lib/ruby/gems/1.8/gems/rails-2.1.1/dispatchers/gateway.cgi ~/www/apps/
$ cp ~/local/ruby/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/commands/ncgi/listener ~/rails/apps/script
$ cp ~/local/ruby/lib/ruby/gems/1.8/gems/rails-2.1.1/lib/commands/ncgi/tracker ~/rails/apps/script
$ chmod 755 ~/www/apps/gateway.cgi

4. ファイルの書き換え

4-1. .htaccess

RewriteEngine On

RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ gateway.cgi [QSA,L]

ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"

4-2. listener の fcgi_handler の前に次の2行を追加.

require 'rubygems'
gem 'fcgi'
require 'fcgi_handler'

4-3. listener の self.stdoutput の次に追加

    $stdin = self.stdinput
    $stdout = self.stdoutput

4-4. gateway.cgi/listener/tracker 共に ruby のパスを変更.

4-5. production.rb に relative_url_root の設定を追加.

ActionController::AbstractRequest.relative_url_root = "/apps"

こんな感じで動作するようになりました.

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証