PHUSION PASSENGER (MOD_RAILS) PUBLIC RELEASE, HECK, IT’S ABOUT TIME :-)
After weeks of teaching it hardcore computer science kung-fu, we’ve finally reached a stage in that we think our little baby is now all grown up. It is no longer solely dependent of our care, and from this moment on, Phusion Passenger is available for the masses.
Phusion Passenger has been the result of many many many (did I say many? I mean MANY) hours of hard work by both Hongli and I ( Ninh ), but it couldn’t have been made possible without the help of our beta testers. In particular, we’d like to thank Dallas of Dreamhost for being so patient and we’re looking forward to seeing Passenger being fully integrated in your hosting plans. Also, we’d like to thank Alex of Twitter for trying his best to test Passenger in time.
Also, we’d like to thank the Ruby on Rails core team for their insightful feedback and support, and in particular, we’d like to thank David Heinemeier Hansson, Jeremy Kemper and Pratik Naik for this.
Yukihiro Matsumoto (matz), thank you for the kind words on our project, it really kept us motivated.
Ryan Bates of Railscasts, thank you so much for doing the screencast on Phusion Passenger. We’re looking forward to meeting you in person at Railsconf and being able to thank you properly
Depending on the paint we’re allowed to carry with us, shaking a green hand may be involved
Antonio Cangiano, thanks for the coverage. It was when we saw that a technical evangelist at IBM had written about us that it truly hit us that we were doing something important.
Russel Norris, you really should not underestimate the importance of your great sense of humor for an open source project :-D.
Since we’re from the Netherlands, we’d also like to thank our fellow dutchmen Stefan Fountain of Soocial and Thijs van der Vossen of Fingertips for their support on this project.
Also, thank you Weyert de Boer for being a great friend and helping us streamline the markup of our website. Even though we haven’t been able to complete it yet, we’re confident that we’ll be able to finish this with your help and we thank you for this.
Lastly, we’d like to thank Hans Scholten of the University of Twente for offering to help us on writing a scientific paper on our work with Ruby Enterprise Edition and Phusion Passenger.
To you the reader, we hope that you’ll enjoy using Passenger and we thank you for your patience. We’ll be seeing you guys at Railsconf USA 2008
(and probably Apachecon USA 2008 as well!
)
Be sure to check us out there, since we’ll be doing a talk on Phusion Passenger (mod_rails) and our garbage collector optimization work on MRI. The talk material will be based on our scientific paper to be published on eprints, so the tech savvy among you guys will be in for a treat :-).
For science and all things pragmatic, this was Hongli Lai and Ninh Bui of Phusion, The Computer Science Company, wishing you a good weekend as we’ll be seeing you guys monday again. We’re going to take that well-deserved time off now ;-).
P.S. Even though we’re currently getting swamped with clients, that shouldn’t stop you from contacting us for business enquiries. As a matter of fact, we’re planning on expanding our team, so if you’re a computer scientist / developer located in the Netherlands with a lot of work experience and interested in working with us, please contact us as well ![]()

Chess said,
April 11, 2008 @ 8:28 pm
Congratulations guys!! Here is to the dawning of new era of rails availability!
Paul said,
April 11, 2008 @ 8:57 pm
Brilliant! So far so good. Couple hiccups on getting it working in dev on OS X machine but nothing as terrible as some of the early fcgi deployments or even the time I’ve spend trying to figure out how to keep mongrels alive.
Great job guys. Congrats on a great piece of software that really is something that seems like it is another revolutionary step for Rails.
Gen Du said,
April 11, 2008 @ 9:08 pm
I don’t think it’s valid to say it’s scientific unless it’s correct
Gen Du said,
April 11, 2008 @ 9:13 pm
Also, your modified GPL2 is not OSI approved.
The Secret Life of Pudding » Blog Archive » Good news for Ruby on Rails users said,
April 11, 2008 @ 9:14 pm
[…] Phusion Passenger has been released. […]
austin_web_developer said,
April 11, 2008 @ 9:30 pm
I’d like to see a benchmark between this and litespeed webserver.
austin_web_developer said,
April 11, 2008 @ 9:31 pm
… and any hope for this to work on windows?
installing the gem gives me an error … (cannot find nmake etc)
Nat Budin said,
April 11, 2008 @ 10:00 pm
@Gen Du: For something as complex and open-ended as Passenger seems to be, it’s hard to imagine how one would prove correctness with any mathematical rigor. Indeed, for any software of non-trivial complexity, I think this probably holds true. So does it follow that any useful software, by your argument, can’t be “science?”
Wayne said,
April 11, 2008 @ 10:08 pm
Thanks guys, this is awesome, I have been following this project for a while. I can’t wait to install it on my server tonight. David’s right, this could become very popular, very fast!
Gen Du said,
April 11, 2008 @ 10:19 pm
@Nat: Yes.
Dan said,
April 11, 2008 @ 10:44 pm
This is great guys. Installation on Ubuntu was awesome!
-Dan
Joseph said,
April 11, 2008 @ 11:49 pm
I just gave a donation. This is one of the most important things to happen to Rails since, well..
This is the most important thing to happen to Rails, ever. IMO.
Great work!
atsushi said,
April 12, 2008 @ 12:55 am
Great work! I tried on my MacBook AIR, just started. thanx.
links for 2008-04-12 at brant interactive said,
April 12, 2008 @ 1:44 am
[…] 赖洪礼的 blog » PHUSION PASSENGER (MOD_RAILS) PUBLIC RELEASE, HECK, IT’S ABOUT TIME
so long mongrel.. (tags: ruby rails apache) Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages. […]
TS said,
April 12, 2008 @ 8:07 am
Thanks a lot guys. Great work.
Uhm, can you choose another header for your blog? I just don’t feel comfortable showing it to co-workers. I know there might be nothing wrong with that image, but, It just doesn’t feel right.
Hongli said,
April 12, 2008 @ 8:38 am
Hi TS.
You are correct with regarding to the blog header. This is a personal blog. We’re still working on a corporate blog aggregator with a “professional” look. Once it’s done, it’ll be announced.
ruby licious said,
April 12, 2008 @ 9:13 am
@TS: Haha, you do have a good point there =).
@Hongli, Ninh: great effin work, I’ll try this out tonight.
Frédéric de Villamil said,
April 12, 2008 @ 9:58 am
Hello, I’ve just made a French installation tutorial, it’s at http://fredericdevillamil.com/installer-passenger-mod_rails-sous-debian
Sorry for the spam, but trackbacks are brocken on my install.
Nauhaie said,
April 12, 2008 @ 11:43 am
Works great!
Simple question however. Rails app run as environment.rb’s owner. But what if some user (in a shared-host environment) chowns his environnment.rb script to someone else. Will the first guy’s app run as another user, potentially leading to a security threat?
Hongli said,
April 12, 2008 @ 12:26 pm
Hi Nauhaie.
Yes, it will. So there are 3 things that you can do about it:
Actually, in a shared host environment that’s usually not even possible.
1. Don’t chown the file to a user that you don’t trust.
2. Disable user switching support. There’s a nice option for this, documented in the users guide.
Nauhaie said,
April 12, 2008 @ 12:42 pm
Hi Hongli!
Thanks for your answer!
However, I don’t think I need the other guy’s permission to make him own my script! Let’s suppose I want to get Joe’s password. Then I only need to make a simple Rails app that will display his /var/www/Joe/config/database.yml. Then, because I now own my app, I *can* chown it to Joe. Then, the next time the application is spawned, it will be spawned as Joe, and thus be allowed to access his database.yml. And Joe didn’t have to trust me! And I don’t think I can be prevented from chowning a file *I* possess!
And if I disable switching support, it’s even worse, because now I don’t even need to make this trick to read Joe’s database.yml!
Thus there *is* some security threat here… And none of your options prevents it!
So what would be great is to have a *PER VIRTUAL HOST* DefaultUser! Thus, the ISP can simply disable user switching, yet specify some user for every virtualhost, which is not possible yet as far as I understand!
Right?
Hongli said,
April 12, 2008 @ 1:03 pm
Nauhaie:
Are you sure about that?
As far as I know, root is the only one who has the power to chown files to his liking.
albert ramstedt said,
April 12, 2008 @ 1:12 pm
Hey guys. Great work!
I was trying to setup this on my ancient rails-app and i ran into some trouble. I couldn’t find anywhere to post bugs? Do you guys have an issue tracker somewhere?
I am using the page_cache_directory config option to put my pagecache in another directory. Still it tries to write to the default one for some reason. The same app works as intended on mongrel. I added my mod_rewrite rules, and then it at least tries to fetch it from the proper place, but when rails tries to write, it does so to the default RAILS_ROOT + ‘public’ dir.
Nauhaie said,
April 12, 2008 @ 1:16 pm
My mistake… Sorry!
However, I still do think DefaultUser shoud be a per-virtualhost directive… Any particular reason why it shouldn’t or couldn’t?
Thanks a lot!
Hongli said,
April 12, 2008 @ 1:23 pm
Hi albert. Please take a look at the “(Commercial) support” section on the website, there’s a link to an issue tracker there.
Nauhaie: I don’t understand why you want that. If root is the only user who is able to chown environment.rb to its liking, then isn’t setting the file owner of environment.rb essentially the same thing as a per-virtual host user option?
haveone said,
April 12, 2008 @ 6:01 pm
Anyone get this working under solaris?
Robin2 said,
April 12, 2008 @ 8:34 pm
This is great.
I got it to work on my laptop in just under 2 hours - Ubuntu 7.10. Earlier in the afternoon I had installed Apache and got it to produce the “It Works” page. With my knowledge of Apache that was an achievement.
I had a problem getting the passenger-install… thingumy to run. Wouldn’t work from my command line, but did work when I double clicked on it in the file browser.
Then it found (not surprisingly) that I was missing several apache bits, rake and fastthread. It offered to help, but just shut down when I pressed enter. Anyway I was able to install the missing bits with Synaptic Package Manager, and fastthread with gem install - when Google told me what fastthread was. (I thought it was one of those Apache bits we were trying to escape from
There were several messages about redefining constants during some part of the exercise. I reinstalled it a second time and there was no trouble.
I know nothing bout configuring Apache and I entered the code from your railscast into the configuration file. I didn’t realise the installation produces the correct text to copy for my installation. This wasted a lot of time because I couldn’t figure where the ****.so file was stored. When I realised I should copy from the installation text that stopped the Apache errors.
The laptop I’ve installed passenger on is my “other” one and I can’t remember how rails and ruby is configured on it. I’ve been using Netbeans and I got it to create an empty rails application. It seems to have created a .htaccess file in /public. That prevented Apache/passenger from working - with a 500 internal server error. I eventually found the Apache error log (why doesn’t Apache put all its files in a directory called Apache) and realized there was a .htaccess file. A quick glance into it showed that it was old fastcgi stuff so I renamed it and …. it all worked - i.e. I got the Rails welcome page. A few minutes later and I had a working Time.now clock.
I’ll read the instructions tomorrow - the proper order of things
By the way - if you’re still reading — how does Passenger handle different rails versions. I’m pretty sure the app I tried is 1.2.5 (and I don’t think it was “frozen”) - but there was no problem. I have 2.0.? on this laptop.
Thanks and best wishes.
Vasil said,
April 13, 2008 @ 12:08 am
Hontou ni arigatou gozaimashita ツ
fadhli said,
April 13, 2008 @ 12:56 am
Oh my god. You guys don’t know what you have done. I’ve just installed it. It only took me 30 minutes to make it running in my ubuntu gutsy box.
Cheap efficient rails hosting is on its way. Period.
nap said,
April 13, 2008 @ 1:15 am
Congrats guys, this is great stuff. I’m not quite ready to move my mongrel clusters on more high traffic sites (yet!), but I moved my a staging server on Friday and have been super happy with the ease of use. So happy, in fact, that I moved a production mephisto multi-site install this morning (blog.zerosum.org). Great error display, great documentation, and super easy deployment.
This will open up Rails development to a lot of new people and make it even easier to get rolling with Rails (particularly for small, low-end projects for which a full-on app server cluster solution is massive overkill). So when are you going to finish mod_rack?
kidding, kidding!
Pratik said,
April 13, 2008 @ 3:19 am
Awesome stuff ! I had been waiting for this for so long
Can’t wait for major shared host to start using it !
Congrats once again
marcel said,
April 13, 2008 @ 6:39 am
Thankx a lot! I’m a beginner in RoR. The only thing I was afraid of all the time, was the day I would have to deploy my app. But now there is hope…great!!!
Congrats
Ben Reubenstein said,
April 13, 2008 @ 6:40 am
Really amazing stuff. I just finished getting up and running on Mac OS X leopard. I wrote up a tutorial here, including the compiling of your own Apache.
http://benr75.com/articles/2008/04/12/setup-mod_rails-phusion-mac-os-x-leopard
Daniel Wijnands said,
April 13, 2008 @ 8:47 am
Ran in to a problem on suse 10.1 with apr headers :
/usr/include/apache2/ap_config.h:26:23: error: apr_hooks.h: No such file or directory
/usr/include/apache2/ap_config.h:27:32: error: apr_optional_hooks.h: No such file or directory
Solution :
cd /usr/include/apr-1/
cp *.h ../apache2
Webreakstuff » Seen elsewhere this week said,
April 13, 2008 @ 3:17 pm
[…] all is business, though! Github launched and Rails moved over - which is sweet. Oh, and mod_rails (also known as Phusion Passenger - fan of the project, not the name) has launched as well. […]
e-moka Bazar » Blog Archive » Passenger: deployment facile per Ruby on Rails said,
April 13, 2008 @ 5:36 pm
[…] una rivoluzione quello che Phusion, una ditta di software dei Paesi Bassi, ha rilasciato venerdì (qui l’annuncio ufficiale). Passenger, chiamato anche mod_rails, è un modulo di Apache che rende facile il deployment di […]
Maximilian Schulz said,
April 13, 2008 @ 7:56 pm
Just installed it yesterday and I have to say… fantastic. Although I am having quite some headache right now (but I think it is related to the application), it helped me to lower memory consumption of the production system.
This Week in Ruby (April 14, 2008) | Zen and the Art of Programming said,
April 14, 2008 @ 4:39 am
[…] week there were a few announcements that will change the history of Ruby. The first of them was the release of Phusion Passenger. For those who spent the last three weeks in a cave, Passenger is the name of mod_rails for Apache […]
TheWebFellas Blog said,
April 14, 2008 @ 12:39 pm
Sponsoring Open Source - Crazy Ideas or a Fresh Way of Thinking?…
We’ve taken it for a test drive and it lived up to its promise of being easy to use. The other good thing about it? It’s Open Source. As well as that, the guys from Phusion have been slightly fresh thinking and offered people the chance to donate for…
Mitja said,
April 14, 2008 @ 2:56 pm
Hey,
this really is a great work from you guys!!
But, i would like to have an answer to the question from beginning of the comments….will there ever be a “Windows Passenger”?
I know Windows sucks and a lot more servers are deployed on *nix machines, but still….ignoring it alltogether is not a way to go imho.
I am sorry if i missed an explaination anywhere.
Hongli said,
April 14, 2008 @ 3:05 pm
Hi Mitja. We have no plans to port Passenger on Windows. Windows lacks the proper facilities to implement Passenger efficiently. Passenger on Windows will be very, very inefficient, which can give both Ruby on Rails as well as Passenger a bad name.
JB said,
April 14, 2008 @ 8:31 pm
Thanks for this amazing mod.
I’ts blazing fast and really saves us a lot of time in management.
Well done!
Marcus Koze said,
April 15, 2008 @ 12:25 pm
Quite “THE Thing” needed to push Ruby and Ruby on Rails to the masses, as in get the hosting companies support it along the lines of PHP support world-wide. Installed it myself; being completely Apache iliterate, had a few trial-and-error sessions until got it to work in my ubuntu laptop, but done it and felt like a feather
No more fear for the Deployment Day, but instead joy
For the guys at Phusion: many warm thanks for this major contribution to the Ruby / Rails mixin
John said,
April 15, 2008 @ 11:03 pm
Hello,
How to install mod_rails on cPanel server and how to check install mod_rails on the server.
Thanks
John
Unofficial DreamHost Blog » Blog Archive » DreamHost Testing New Rails Deployment said,
April 16, 2008 @ 10:55 pm
[…] Apparently DreamHost have been beta testing Phusion Passenger - a new and interesting mod_rails deployment tool - and so involved in the development, that they are mentioned in the release notes. […]
空想枫 said,
April 20, 2008 @ 8:42 am
Phusion Passenger(mod_rails)…
Phusion Passenger — a.k.a. mod_rails
非常简单,方便的将rails部署于Apache上的apache模块,安装也非常简单。
在Ubuntu上的部署:
sudo gem install passenger
sudo passenger-install-apache2-module
如果有缺少组件,它…