Mongrel+Apacheをサブディレクトリで公開する方法

Ubuntu+Rails2.2+Apache2
気合でドメイン作らないでサブディレクトリからやってみるテスト

好きなディレクトリにRailsプロジェクトを作成

ApacheのVirtualHostの設定

RequestHeader set X_FORWARDED_PROTO ‘https’
ProxyPass /yukihttp://localhost:3000/yuki
ProxyPassReverse /yukihttp://localhost:3000/yuki

RequestHeaderはhttpsの場合に。
これらはデフォでは無効なので

$sudo a2enmod headers
$sudo a2enmod proxy

有効化

$ cd /etc/apache2/sites-available
$ vi proxy.conf
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

403 Access forbiddenになるのでProxy.confを作成
enableにシンボリックリンク貼ってApache再起動

・route.rbにて

map.connect ‘yuki/:controller/:action/:id’
map.connect ‘yuki/:controller/:action/:id.:format’

ルーティングを書き換え

$ sudo apt-get install mongrel

script/serverでなく、mongrel_railsが使えるようになる。–prefixオプションが使いたいため

$ mongrel_rails -prefix /yuki

こうすることで、link_toなどのHelperが正しいURLを作成できる

Publicがおかしいので

$ cd public
$ ln -s . yuki

自身へリンク、これでPublic内のImagesなども見れた

参考
http://webos-goodies.jp/archives/51261261.html
http://43hr.wordpress.com/2007/03/12/mongrel-apache-20-mod_proxy-%E3%82%92%E3%82%B5%E3%83%96%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%A7/
http://d.hatena.ne.jp/someeda/20060313