今更Ruby on Rails

既存のapacheに入れるのが面倒だった。手順:

  1. enable mod_rewrite
  2. 適当なディレクトリにRailsファイルを展開
  3. AliasをApacheから貼る
mod_rewriteを使えるようにする

#cd /etc/apache2/mods-enabled/
#ln -s /etc/apache2/mods-available/rewrite.load rewrite.load

Railsファイルを展開

/path/to/myapp/にでもしとくと

AliasをApacheから貼る

/etc/apache2/sites-available/defaultを編集、次のAliasを書き加える

Alias /myapp /path/to/myapp

Options +FollowSymLinks +ExecCGI
AllowOverride All
Order deny, allow
allow from all

これでhttp://localhost/myappをブラウザで開いたらとりあえずWelcome aboardが見えた。

しかーし、なんかわからんがこの後が続かん。mod_rubyの設定か、とにかくgemsのライブラリとあんまし相性がよくないらしい。mod_rubyそれ自体は簡単に動くんだが、railsだかgemsのライブラリ群をmod_rubyでロードするところに何かダウトがあるみたいだ。というか、Railsをmod_ruby@Apacheで動かそうとしている人はあんましいないみたいだ。みんなlighttpdとかwebrickとか変なサーバばっかり使ってやがる。いいなぁ。しかも当然MySQL。新しくRDBMSdaemon立ち上げるのが嫌なので、今動かしてしまってるPostgreSQLを使おうとしている私は負け組ですかそうですか。

今のruby.loadはこんな感じです↓

LoadModule ruby_module /usr/lib/apache2/modules/mod_ruby.so
#RubySafeLevel 0

RubyRequire apache/ruby-run
RubyRequire rubygems
# RubyRequire apache/rails-dispatcher
# RubyTransHandler Apache::RailsDispatcher.instance

SetHandler ruby-object
RubyHandler Apache::RubyRun.instance

RubyRequire auto-reload
AddHandler ruby-object .rb

AddHandler ruby-object .rb
# RubyHandler Apache::RailsDispatcher.instance