xrea + rails + mysql + typo
http://gorou.s62.xrea.com/typo/
railsとtypo(railsで書かれてるweblogシステム)がxrea上であっさり動いて拍子抜け*1。スクリプト言語のフレームワークがxreaなどの広く使われてるサーバで簡単に設置できる意義は大きいよ。なんか作って公開するとき、シェルやらroot権があるサーバで動かせる人なんて一握りだろうしなー。
んでxreaでtypo(というかrailsアプリ全般)を動かす方法メモ。まず同梱の.htaccessがdispatch.fcgi用なのでdispatch.cgiへと変更。dispatch.cgiの1行目のパスを実際のrubyパスに変更(#!/usr/bin/env rubyでいいような気がする)。次にdatabase.ymlの中身をxreaのmysqlのユーザ、パスワード、DB名に変更。RAILS_ROOT/vender以下にrails本体を展開。
activerecordが利用するbase64.rb(ruby18には標準添付のはず?)が何故かxreaには入ってないっぽいのでどっかから落とすなりruby1.8添付のやつなりをRAILS_ROOT/libにコピー。typoで利用するredclothのredcloth.rbをRAILS_ROOT/lib/red_cloth.rbと名前を変更してコピー。んでこれらをアップロードすれば完了!超簡単!
でもxreaはシンボリックリンクが張れないようで、webに公開してないディレクトリにおいてRAILS_ROOT/publicだけを公開している場所にシンボリックリンクを張ることができないためセキュアじゃない。なので~/typoに上記ファイル一式をアップロードして~/public_html/typoにpublicをアップロード。んでdispatch.cgiのemviroment.rbをrequireしてるところを
require File.dirname(__FILE__) + "/../../typo/config/environment" unless defined?(RAILS_ROOT)
のように変更すればOK。これでpublic以下のみがwebで公開される。
*1:cgiだからちょっと重いけど、思ったよりは速い