MOONGIFT: » Railsをさらに加速するテクノロジー「Ruby Enterprise Edition」:オープンソースを毎日紹介

seen from United States

seen from Russia

seen from Netherlands
seen from Italy
seen from Russia

seen from United States
seen from Angola

seen from United States
seen from United States

seen from United States

seen from United States
seen from China

seen from Singapore

seen from Brazil

seen from United Kingdom
seen from Singapore

seen from United States

seen from United States
seen from Germany

seen from United States
MOONGIFT: » Railsをさらに加速するテクノロジー「Ruby Enterprise Edition」:オープンソースを毎日紹介
How to setup mod_rails using Phusion on Mac OS X
Phusion Passenger with a prefix
The Mongrel Web server can run with a URL prefix, using the --prefix option. This is useful for running an app in a "subdirectory"—say BankDirectr at http://banks.info/directr and BankRobbr at http://banks.info/robbr .
In development you want that same prefix; this way your stylesheets, images, and other static assets show correctly at the right URL. For this we had originally modified script/server to always pass --prefix to Mongrel.
Switching to Phusion Passenger has removed one tab from my screen session, and made development faster and easier. However, getting it to work with a subdirectory took a few minutes.
The basic idea is that Apache handles the static assets, and Passenger handles the rest. So in your VirtualHost block you need to add an Alias from the prefix to the DocumentRoot. Like this:
<VirtualHost *:80> ServerName banks.info DocumentRoot /var/www/robbr Alias /robbr /var/www/robbr </VirtualHost>
However, in an attempt to ruin our fun, Phusion Passenger's documentation says this:
Phusion Passenger conflicts with mod_rewrite and mod_alias. Those modules may be installed and loaded together with mod_passenger, and they will work fine outside virtual hosts that contain a Rails application, but we recommend you not to use their features inside virtual hosts that contain a Rails application.
Fine. It works just fine for me using mod_alias, but that's only in my development environment and not in production. Here's another solution:
cd /var/www/robbr/public ln -s . robbr
Now any asset that references /robbr , such as /robbr/stylesheets/layout.css , will follow the symlink to public .