Once in a while you, as a Ruby developer, are faced with product owner's "Allright, now it's time to make it live". And then you probably think "I'll be fighting with these stubborn servers for next few days....". If you have very simple app or one at the early stages of its lifetime you can use one of "no hassle deployment" platforms like Heroku or OpenShift. But chances are you need some custom stuff that is hard to achieve on these kind of platforms or you just feel better with "root" access.
You have many options for setting up Linux servers. Amongst the most popular ones are Chef and Puppet. Various hosting provider also add their own solutions for provisioning boxes (like Stackscripts on Linode). Or you can do it "the old-school way", manually. If you don't need multiple machines and/or you have just a simple Rails s