How to improve the Ruby on Rails experience for next Ubuntu release ?

There have been some discussions during the last two Ubuntu Developer Summits about improving the Ruby on Rails experience in Ubuntu. Thoughts have been collected in a blueprint and preliminary work has been outlined in the RubyOnRailsStack wiki page. The content deals primarily with hosting RoR applications and is based around apache2 configured as a reverse proxy for Mongrel.

A higher level issue is related to deployment workflow. The question is how can Ubuntu be improved to streamline RoR application deployment ? Every system administrator has its own scripts to deploy Rails applications – are there any patterns there ? Could these be integrated into Ubuntu ? How do you manage the development-testing-production cycle of Rails application deployment ?

The Ubuntu Server Team is looking for input of Rails users. Add your feedback to the discussion section on the RubyOnRailsStack page and help us shaping out a rock-solid RoR experience for Intrepid Ibex.

14 Responses to “How to improve the Ruby on Rails experience for next Ubuntu release ?”


  1. 2 Tim Tuesday, 8 July 2008 at 6:39 am

    Rails is under rapid development. The version that shipped with Hardy is already outdated. Rails web hosting stacks are plentiful and rapidly evolving themselves (mongrels behind nginx/Apache, thin behind nginx/Apache, mod-rails/Apache, etc.).

    Mongrel behind Apache sounds like a good choice for getting a development machine up & running, or running a small web site. As long as the different stack options are battling it out you will find that every rails developer has a different stack that they prefer.

    I would like to see Ubuntu improve their gem support or take the gems package out entirely. Right now it runs into weird issues when you run ‘gem update –system’ for example, and I wish I had just installed gems from the tar installer instead of apt.

    Nginx support is important for many people running production rails web servers. I was very happy to see it as part of the standard repositories in 8.04 but unfortunately the version shipped with Hardy is also quite a bit behind already.

  2. 3 garg Tuesday, 8 July 2008 at 12:35 pm

    An option would be nice just like there is an option for LAMP

  3. 4 ralph Tuesday, 8 July 2008 at 8:40 pm

    1. include phusion in the stack
    2. include monit in the stack

  4. 5 Phil Tuesday, 8 July 2008 at 10:12 pm

    It’s already pretty easy if you use nginx instead of apache and use a manually-installed rubygems instead of apt-get.

    The biggest hiccup has been the fact that the debian-packaged rubygems puts things in places that aren’t on users’ PATHs, so “gem install rails” doesn’t work as expected because the “rails” executable is not available without adding to your PATH.

    As I understand it this is just due to an insistence from Debian that rubygems be packaged in a way that is contrary to users’ expectations but compliant with LSB. I don’t know if anything can be done about this by Ubuntu except packaging a pristine rubygems instead of using Debian’s. Everyone I know installs rubygems from source instead of relying on apt-get precisely because of this issue. It would be great if Ubuntu chose to be more useful (dare I say… human?) at the expense of being LSB-compliant.

    As a ruby library maintainer, I’ve come to accept the fact that even the debs shipped with an up-to-date distro like Ubuntu will be out of date and that rubygems is often the only way to get the versions you need. Ruby libraries are developed at a very fast pace; it’s even increasing with github-distributed gems. If I were working on Ubuntu, I would simply come to embrace this and focus on making rubygems work great out of the box with Ubuntu servers rather than duplicating effort by double-packaging libraries. Being able to rely on “apt-get install rubygems” would be a great first step.

    See https://bugs.launchpad.net/ubuntu/+source/ruby1.8/+bug/145267

  5. 6 Tom Wednesday, 9 July 2008 at 5:52 am

    Please don’t. Many developers would prefer to use Merb, Ramaze, Camping, or one of the other twenty Ruby Web frameworks.

    Do the best you can to have solid Ruby support; do not favor one Ruby Web tool over others.

  6. 7 Leonardo Faria Wednesday, 9 July 2008 at 2:02 pm

    my suggests:

    include mod_rails, rails and main gems.

    and if possible, nginx and mongrel.

  7. 8 Ninh Thursday, 10 July 2008 at 4:13 pm

    @Tom:
    Well, if the Ubuntu guys choose to go with Phusion Passenger(tm) (a.k.a. mod_rails/mod_rack), then those developers should be just fine seeing as it also supports Rack and even WSGI ;-) . Through Rack, developers should be able to use any Ruby framework that has a Rack adapter available for it, which among many others, include Merb and Camping. The same goes for WSGI with regards to Python frameworks, which for one, allows you to deploy Django apps as well. All with the same ease of use :-) For more information on the features of Phusion Passenger, please see: http://www.modrails.com/ and http://phusion.nl/assets/phusion_rubyenrails2008.swf

    Cheers,
    Ninh
    – Phusion.nl

    P.s. Thanks PeterC for the heads-up :-)

  8. 9 mathew Saturday, 12 July 2008 at 3:33 am

    The best thing you could do would be to fix Ruby in general; however, that would require diverging significantly from Debian. Unfortunately, the Debian packagers were utterly unwilling to compromise and work with the Ruby developers to achieve a packaging of Ruby that actually worked properly out of the box.

  9. 10 Neil Wilson Sunday, 13 July 2008 at 7:22 am

    I have to say I’m somewhat surprised about this sort of response, when the Passenger package is already in Ubuntu REVU. https://bugs.edge.launchpad.net/ubuntu/+bug/246719

    To get that in the archive you need to be lobbying the MOTUs to get them to review the package.

  10. 11 Neil Wilson Sunday, 13 July 2008 at 7:30 am

    At Brightbox we obviously deliver Rails to customers using Ubuntu Server, and we’re quite happy for that technology to be fed back into the main release LAMP style.

    We’re working on the main problems at the moment which are

    - Rubygems not activating gems by defaults. (Already kicked off: https://bugs.edge.launchpad.net/ubuntu/+source/libgems-ruby/+bug/145267)
    - Gems standing on apt packages and vice versa
    - Lack of Phusion Passenger support.
    - Poor to non-existent mongrel cluster support.
    - Difficulty of generating apt packages from Gems
    - Which causes a general lack of packaged gems.
    - Lack of effective Rails packaging.
    - Inability to switch Ruby backends easily – again due to bad packaging support.

  11. 12 David P Sunday, 13 July 2008 at 4:30 pm

    Im the author of the original spec, and wiki pages, We’ve recently decided to go with passenger/rack/apache, anyone wishing to contribute should subscribe to the spec, and shoot me an email. Thanks to the author of this for getting it out in the blogsphere.

  12. 13 Joran Sunday, 21 December 2008 at 7:12 am

    Phil has a great point. That’s an instant win. Otherwise, I’ve tried Nginx/Thin, Apache/Mongrel, Apache/Passenger, and Passenger is certainly ahead of the pack. I would prefer Nginx to Apache but for the use of Passenger, the switch to Apache is justified. Passenger is much simpler, much easier to maintain. And memory usage is certainly less. Less leaks.


  1. 1 Ubuntu Server Team Needs Help With Rails Experience Trackback on Monday, 7 July 2008 at 11:56 pm

Leave a Reply




The Ubuntu Server Team

RSS Dustin Kirkland’s Ubuntu Server posts

  • QEMU in Launchpad
    QEMU provides the userspace and device emulation required by KVM. As such, it's an extremely important project to Ubuntu's virtualization and cloud computing efforts.The upstream project has not had an actively maintained bug tracker for quite some time.I recently helped QEMU's maintainer, Anthony Liguori setup a Launchpad project for trackin […]
  • KVM's inside of Byobu
    Here's a neat trick that I find phenomenally useful...I like to run KVM virtual machines inside of Byobu, using KVM's -curses option. From QEMU's manpage:Normally, QEMU uses SDL to display the VGA output. With this option, QEMU can display the VGA output when in text mode using a curses/ncurses interface. Nothing is displayed in graphical m […]
  • KVM-84 Backport Release Candidate
    Howdy,On March 17, 2009, I blogged the following call for testing:http://blog.dustinkirkland.com/2009/03/ubuntu-server-kvm-call-for-testing.htmlWe have worked through a number of the issues raised after that blog post, and cherry-picked several patches that fix some known bugs. We believe that Ubuntu 9.04's kvm-84 is a far more complete hypervisor.This […]

RSS Kees Cook’s Ubuntu Server posts

  • Goodbye Gutsy
    (In reading my prior EOL posts, I realize I should have said “Enough Edgy” or something like that to be appropriately alliterative.) Gutsy is now officially at end-of-life. Looking back through my build logs, I can see that my desktop spent 25 hours, 6 minutes, and 47 seconds building 208 security updates. (And 18 hours, 23 minutes, 45 seconds do […]
  • CODEGATE 2009 ran Ubuntu Intrepid
    I’m pleased to hear than the CODEGATE 2009 International Hacking Contest ran Ubuntu Intrepid for both the qualifying rounds and the final match. The host machine was running the 32bit -server kernel, so NX was active (along with all the other memory-corruption protections). From what I can see the compiled challenges were stack-protected and fortifie […]
  • debugging hangs in MIMEDefang
    I spent a while this morning hunting down the root cause of a 100% CPU MIMEDefang process. (Turned out to be one specific email triggering one of my custom SpamAssassin rules that seems to get processed really inefficiently.) I wasn’t able to find any documentation on how to debug where in MIMEDefang an email was getting stuck, and even jacking up th […]

RSS Mathias Gug’s Ubuntu Server posts

  • Merges of the Weekend: suggestions from the Ubuntu Server team
    Got some time for a couple of merges this week-end? I’ve just updated the list of packages that look easy to merge on the Ubuntu Server Team roadmap: vsftpd and amavisd-new in main asterisk, heimdal and boinc in universe. The Merging wiki page gives an overview on the process and once your debdiff is ready you can upload it to karmic or file a bug […]
  • Are configuration management tools still needed in the cloud?
    Cloud is the buzz word of the year and with the Ubuntu Enterprise Cloud available in Ubuntu 9.04 everyone will be able to build its own private cloud to experiment. As a cloud base infrastructure provides more flexibility and dynamism in the computing infrastructure it seems that configuration management tools will become more and more important in the futur […]
  • March, 12th 2009: The Thursday samba bugs were exterminated
    I call for Ubuntu Bug warriors to unite on the 12th day of the month of March of the year of 2009 and march all together to squash bugs related to the samba package. Instructions for first timers will be provided in a wiki page as well as a list of prime targets. Veterans are also encouraged to join and focus on the most complex issues while providing suppor […]

RSS Thierry Carrez’s Ubuntu Server posts

  • Best UDS so far ?
    UDS Karmic in Barcelona is shaping up to be a great Ubuntu Developer Summit. The venue looks gorgeous, Barcelona is a great city to spend evenings in, and the schedule is packed with great sessions, twice as many as usual in the Server track. So if you live nearby and consider joining, you should definitely do. You can learn a lot, we can learn from you, you […]
  • The server GUI dilemma
    Among the many comments on my last article there were calls for a graphical administration interface, i.e. providing by default a desktop environment on the server (like Microsoft or Redhat do) or some web-based admin application. This is an often required feature, and so far we stood firm on the desktop environment part, and did not really invest in integra […]
  • What I want Ubuntu Server to be
    What we call “Ubuntu Server” is currently a basic system, released together with a giant set of packages that you can install. Being Debian-based, the result is very close to what Debian also delivers: a powerful base platform that can be customized to do almost anything. We add some killer features and packages that we feel are missing, do some […]

RSS Rick Clark’s Ubuntu Server Posts

  • Next Stop UDS
    All the Canonical folks are meeting this week prior to UDS.  We’ve already had some great discussions including: Canonical Plan for World Domination — text redacted — (Sorry, if I told you, I’d have to kill you.) Actually, it is a great time to see all our co-workers from across the globe.  However, I can’t wait for next week, […]
  • UDS Barcelona Has Incredible Potential
    This UDS each track will have two session rooms, plus a breakout room. That means we will have, at least, twice as many sessions. We should some out of it with twice as many specs for new features. My question is, how will we handle twice the data? In previous UDS’ the server track was very well documented, thanks to Adam Sommer from the documentati […]
  • I’ll be at the Free Software & Technology Expo in St Louis, MO on Saturday
    I’ll be speaking at the Free Software & Technology Expo tomorrow May 9th. My talk will cover: * What’s new in Jaunty, including the Ubuntu Enterprise cloud * Hints of what might come in Karmic, and a UDS preview * Observations from the front line (or What it’s like to work for Canonical, and the furious pace of our 6 month release cy […]

RSS Jamie Strandboge’s Ubuntu Server Posts

  • ext4 on Ubuntu 9.04
    It all started back in the good ol’ days of the Jaunty development cycle when I heard this new fangled filesystem thingy called ext4 was going to be an option in Jaunty. It claimed to be faster with much shorter fsck times. So, like any good Ubuntu developer, I tried it. It was indeed noticeably faster and fsck times were much improved. The honeymoon w […]
  • ufw status
    While not exactly news as it happened sometime last month, ufw is now in Debian and is even available in Squeeze. What is new is that the fine folks in Debian have started to translate the debconf strings in ufw, and during the process the strings are much better. Thanks Debian! In other news, ufw trunk now has support for filtering by interface. To use it, […]

 

July 2008
M T W T F S S
« Jun   Aug »
 123456
78910111213
14151617181920
21222324252627
28293031