Поскольку тип Passenger «встраивает» себя в Apache, я не могу переключать интерпретаторы ruby без перезапуска (и, возможно, даже перекомпиляции Passenger?). Чтобы достичь такого уровня гибкости, вам может понадобиться какая-то настройка обратного прокси-сервера с использованием автономного сервера приложений, такого как Thin, Unicorn или Mongrel, работающего за Apache или Nginx.
Если об этом не может быть и речи, то приложения Rails 2.3.8 и 3.0.5 строго могут работать на Ruby 1.8.7. У меня есть несколько приложений Rails 3, развернутых на 1.8.7, хотя, надеюсь, это скоро изменится. Если ваше приложение 3.0.5 не имеет явных зависимостей 1.9, почему вы не можете просто запустить их вместе на 1.8 на отдельных виртуальных хостах?