XREA+にSinatraを仕込んだのでメモ。
Rubyで動く軽量フレームワークのSinatraを使いたくなったので導入してみた。
Sinatraはrubygems経由での導入となるので、XREAのサーバに対してsshで接続して作業します。
rubyのバージョンは
ruby 1.8.5 (2006-12-04 patchlevel 2) [i686-linux]
まずは~/.bashrcの編集。デフォルトだと存在しないはずなので適当に以下の内容で作成。
export PATH=$PATH:$HOME/bin:$HOME/lib/ruby/gems/1.8/bin export GEM_HOME=$HOME/lib/ruby/gems/1.8 export RUBYLIB=$HOME/lib/ruby:$HOME/lib/ruby/site_ruby/1.8
で、再読み込み。
> source ~/.bashrc
で、適当にディレクトリ作ってrubygemsを落としてくる。
解凍して、
> mkdir ~/src > cd ~/src > wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz > tar zxf rubygems-1.3.5.tgz
setup.rbを実行。
> cd ~/src/rubygems-1.3.5 > ruby setup.rb all --prefix=$HOME
rubygemsは~/lib以下に置かれてしまうので、配置を修正。
> cd ~/lib > mkdir ruby/site_ruby > mkdir ruby/site_ruby/1.8 > mv gauntlet_rubygems.rb ruby/site_ruby/1.8/ > mv rubygems.rb ruby/site_ruby/1.8/ > mv ubygems.rb ruby/site_ruby/1.8/ > mv rbconfig ruby/site_ruby/1.8/ > mv rubygems ruby/site_ruby/1.8/
終わったら成功したか確認するためバージョン表示。
> gem -v
1.3.5
で、gemでSinatraをインストール。
> gem install sinatra --no-ri --no-rdoc
Successfully installed rack-1.2.1 Successfully installed tilt-1.2.2 Successfully installed sinatra-1.1.3 3 gems installed
で、後は適当なディレクトリで以下のファイルを作成。
# .htaccess SetEnv RUBYLIB /virtual/(username)/lib/ruby/site_ruby/1.8:/virtual/(username)/lib SetEnv GEM_HOME /virtual/(username)/lib/ruby/gems/1.8 AddHandler cgi-script .cgi #AddHandler cgi-script-debug .cgi Options +FollowSymLinks +ExecCGI
# test.cgi #!/usr/bin/ruby require 'rubygems' require 'sinatra' get '/hi' do 'Hello World!' end set :run => false, :environment => :cgi Rack::Handler::CGI.run Sinatra::Application
後はhttp://hoge/test.cgi/hi
でアセスするとHello, World!が見れるはず。
と思っていたけれど、Sinatraでエラーが出ていたのでソースを修正した。
# ~/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/utils.rb 36: ESCAPE_HTML_PATTERN = Regexp.union(ESCAPE_HTML.keys)
を
36: ESCAPE_HTML_PATTERN = Regexp.union(ESCAPE_HTML.keys.join(","))
作業後に書いたから抜けがあるかもw
参考サイト様:
http://shockby.com/2009/04/22/sinatra%E3%80%81%E7%B5%90%E6%A7%8B%E3%81%84%E3%81%84%E3%81%8B%E3%82%82/
http://kitbc.s41.xrea.com/main/?install_sinatra
XREAにRubyGemsをインストールする - 名もないテクノ手
XREAにRubyGemsをインストール | tech.portalshit.net