I must determine if there's a specific distribution that's more suited (has more utilities) for development and deployment of web sites produced using ruby on rails and javascript


Is dependent around the scale of the deployment. If you are only implementing to 1 application server then any Linux distro you are feeling comfortable maintaining is going to do.

Otherwise, CentOS.

One problem is your project will rely on Rubygems (a minimum of the Rails ones most likely Mongrel too), plus some gems have binary extensions. It isn't sound practice to possess plenty of *-devel packages placed on a production server so your gems will compile (you ought to be keeping your development/build systems outside of your production ones).

Why CentOS?

  • Red-colored Hat's rpmbuild system -- coupled with Yummy repository tools like createrepo -- allow it to be simple to compile and deploy your personal packages. You are able to setup a repository server and point all of your production servers into it among their Yummy sources. You'll be able to use gem2rpm to produce packages of all of the Rubygems assembling your shed needs. Actually, should you package your website like a Revoltions per minute and hang all of the needed dependencies, deployment becomes as easy as "yummy install myproject".
  • If you will find every other non-Ruby/Rails packages you'll need, you've got a large amount of versatility regarding how to have them. For instance, we have back-ported some Fedora 8 and 9 packages we required to CentOS 4.
  • You will find the choice to get commercial support for the servers by purchasing RHEL -- or simply use CentOS in production, based on your financial allowance. Your decision.

Note: I am not bigoted against other distros (Ubuntu is excellent, and you will get commercial support from Canonical -- I understand everything). I am just stating that CentOS is a superb alternative that's labored well for all of us.


The easy response is no. I personally use Ubuntu personally and also have no complaints.

For deployment, Engineyard, who focus on Rails deployment appear to make use of Gentoo. To ensure that can not be bad. But it's actually a few preference and conditions.

I suggest Ubuntu, due to the fact Slicehost have detailed instructions on establishing Rails hosting with Mongrel on Ubuntu: Slicehost Articles.

I'd never done much system admin before and could set everything up, and (more to the point) ensure that it stays running by using individuals paperwork.

I would recommend either Ubuntu or CentOS. I have had best of luck implementing to these two platforms, running ~30 websites using Apache and Phusion Passenger (mod_rails).

For development, you'll do fine with just about any linux distribution as lengthy because it has recent ruby packages or compile your personal from source. A far as editing goes, I am a large fan of vim using the rails.vim and project plug ins. http://rails.vim.tpope.internet

this really is subjective. Go to whichever distribution you're preferred with.

My colleagues recommend Apple computers for development due to textmate. I would need to say ubuntu for that server. Ubuntu is dependant on Debian the industry solid server operating-system. I conserve a Debian server for any client, If only I'd used Ubuntu. Rails really loves to make use of leading edge packages and ruby gems. Debian lags behind enough to become a problem once in some time. My encounters with CentOS 5 help remind me of Debian. It's solid however the packages are older and might be too outdated for rails.

While there is not much that you can do in a single distribution that can not be completed in another, I believe you cannot fail when you purchase among the large community projects, for example Ubuntu, Fedora, or Debian. They generally have probably the most software already packed and able to choose you and in addition they have a lot of lessons, irc channels, and discussion boards to visit for help if you want it. Apart from which community fits into your budget, I do not think there is a compelling reason to select one within the other.