June 20, 2007

Rubyに挑戦!










僕がパソコンを初めて買った時の理由は、当時学校で学んでいたC言語のプログラミングをするわけではなく、ウェブサイトを作りたかったからだった。

当時勉強していたC言語は、コマンドプロンプトとの対話に終始して面白くなかった。ウィンドウを作るコードも難しすぎて面白くなかった。
それに対してウェブサイト作成は、一種の洋服やアクセサリーを身につけるスタイリッシュさや、ウェブ上での情報発信がやりたかった自己表現の手段に気づかせてくれた。ような気がした。





それから、IPネットワーキング、UNIXシステム構築、情報セキュリティ対策、人材育成と色々やることの遍歴を重ねてきたけど、Web2.0に代表される最近のウェブの可能性の進化に感化され、ウェブプログラミングをまたやりたいと思い始めていました。

そこでめぐり合ったのがRuby on Rails。まあその前にもPerlにもPHPにも出会ったわけだけど、ウェブ開発の環境としてとても魅力的だった。





やってやるぜ!Ruby on Rails!!
ということで、会社の開発環境(CentOS)での備忘録をメモ。





1.Rubyのインタプリタをインストール。yumでサクッと。erubyも。
yum install ruby eruby


2.Apacheのapxsが必要なのでインストール。httpdが無いならhttpdもインストールしておく。
yum install httpd-devel


3.mod_rubyとeRubyのインストール
"http://www.modruby.net/ja/"からmod_rubyアーカイブをダウンロード。
下記コマンドでインストール、先ほどのapxsのpathを指定して、
モジュールを動的に組み込めるようにする。
./configure.rb --with-apxs=`which /usr/sbin/apxs`



4.httpd.confに追記
LoadModule ruby_module /usr/local/apache/libexec/mod_ruby.so

RubyRequire apache/eruby-run

# /eruby以下のファイルをeRubyファイルとして扱う

SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance


# *.rhtmlをeRubyファイルとして扱う。

SetHandler ruby-object
RubyHandler Apache::ERubyRun.instance




5.RubyGemsのインストール
"http://rubyforge.org/projects/rubygems/"からアーカイブをダウンロードし、スクリプトをrubyで実行。
ruby setup.rb


6.Railsのインストール
gem install rails --include-dependencies


7.エラーが出たので対処
エラー:
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
原因:
プロキシが必要な環境なので、プロキシを明示的に指定する。
対処:
$ env http_proxy="http://192.168.50.2:8080" gem install rails --include-dependencies


8.またエラーが出たので対処
エラー:
Could not find rails (> 0) in any repository
原因:
Gemsのアップデートが必要
参考:
http://armyofevilrobots.com/node/418


9.Railsのテンプレートを作成。Apacheのディレクトリ以下でね。
$ cd /var/www/html/test
$ ruby test

10.WEBRickの起動
$ cd test
$ ruby scripts/server -d

11.ブラウザでアクセス
http://192.168.0.1:3000

12.エラーの対処
ブラウザ上でのエラー:
Routing Error
no route found to match "/Demo" with {:method=>:get}
原因:
RoRコンテンツのルーティングが未設定
対処:
routes.rbに追記
map.connect '/Demo', :controller => 'demo'

プロセスを再起動
$ pkill server
$ ruby scripts/server -d








(参考)
mod_ruby インストールガイド