I’m trying to deploy a Sinatra app to Dreamhost and it says the following:
Since DH supports Passenger, which in
turn supports Rack-based ruby
applications, DH does indeed support
Sinatra.
I’m having difficulty parsing that statement – what’s the difference between Rack and Passenger (and why is Sinatra “Rack-based”)?
Rack is a standardized API for web servers to talk to middleware and web frameworks in Ruby. Phusion Passenger is an Apache module that implements the Rack API. Sinatra is a web framework that is built on top of the Rack API, so because Dreamhost supports Phusion Passenger, that means that it supports Rack, and thus Sinatra.