public
Description: Phusion Passenger (mod_rails)
Homepage: http://www.modrails.com/
Clone URL: git://github.com/FooBarWidget/passenger.git
Search Repo:
Click here to lend your support to: passenger and make a donation at www.pledgie.com !
Hongli Lai (Phusion) (author)
Thu Apr 03 05:04:49 -0700 2008
commit  2c1c741eacbfdad3d2174918f00fda6eef40bfb4
tree    7d400f580ae1c7b12ae3599545b6faa6c38d51c0
parent  3dd968d7eff557447de197b509e4907c94a55a3b
name age message
folder .gitignore Mon Mar 31 07:37:36 -0700 2008 Ignore all log files from stub Rails apps. [Hongli Lai (Phusion)]
folder DEVELOPERS.TXT Tue Mar 18 19:02:03 -0700 2008 Split developer documentation to seperate file [Hongli Lai (Phusion)]
folder LICENSE Sun Mar 02 06:16:42 -0800 2008 Improve documentation [Hongli Lai (Phusion)]
folder README Tue Mar 18 19:02:03 -0700 2008 Split developer documentation to seperate file [Hongli Lai (Phusion)]
folder Rakefile Thu Apr 03 04:11:31 -0700 2008 Attempt to fix threading compilation issues on ... [Hongli Lai (Phusion)]
folder benchmark/ Tue Apr 01 14:06:00 -0700 2008 Add benchmark tool for the Rails Dispatcher. [Hongli Lai (Phusion)]
folder bin/ Thu Apr 03 05:04:24 -0700 2008 Installer: check for OpenSSL support in Ruby. [Hongli Lai (Phusion)]
folder doc/ Wed Apr 02 03:58:55 -0700 2008 Minor change of wording. [Hongli Lai (Phusion)]
folder ext/ Tue Apr 01 09:47:22 -0700 2008 Add a 'RailsAllowModRewrite' option for users w... [Hongli Lai (Phusion)]
folder lib/ Thu Apr 03 05:04:49 -0700 2008 Require platform_info in spawn_manager in order... [Hongli Lai (Phusion)]
folder misc/ Thu Mar 27 14:48:54 -0700 2008 Make sure STDOUT and STDERR are always synced. ... [Hongli Lai (Phusion)]
folder test/ Tue Apr 01 14:06:00 -0700 2008 Add benchmark tool for the Rails Dispatcher. [Hongli Lai (Phusion)]
README
== Introduction

Passenger is an Apache module, which makes deploying Ruby on Rails applications
on Apache a breeze. It follows the usual Ruby on Rails conventions, such as
"Don't-Repeat-Yourself" and ease of setup. Passenger's key goals are:

[ Ease of use (for the developer) ]
  Deploying a Rails application is as easy as uploading the files to the web
  server. The applications should _Just Work(tm)_ without any further manual
  configurations.

[ Ease of installation ]
  It is possible to install Passenger in less than 3 minutes, with minimal
  reading of documentation. The system administrator should not have to edit
  30 configuration files to get Passenger working.

[ Stability ]
  We strive for the highest level of stability. Passenger should never crash,
  and should never leave Apache into an unusable state which requires a
  restart.

[ Zero maintenance ]
  Software that is the easiest to maintain is software that doesn't have to be
  maintained. Just like a (train) passenger, who can step into a train and
  enjoy the trip, Passenger strives to allow the developer and system
  administrator to sit back, enjoy, and relax.
  
  * Ruby on Rails applications are started and stopped automatically based on
    site traffic. There should be no need to think about application server
    management.
  * Passenger makes no use of temporary files or sockets, so even after a hard
    system crash, the administrator does not have to manually clean up stale
    files. *
    
    <em>* This is only possible on Linux. On systems such as BSD, Passenger
    falls back to using temporary Unix sockets.</em>
  * If Passenger encounters an error, and it knows that it can be automatically
    recovered, then Passenger will do that. The administrator should not have
    to run server monitoring software to monitor Rails applications. Rails
    applications that crash are automatically restarted.

[ Security ]
  We take security very seriously. We review our code for security issues to
  the best of our ability. Design- and implementation issues that have security
  implications are carefully documented, making it possible for third parties to
  review Passenger's security, in the true spirit in Open Source.
  
  A key security feature of Passenger is the ability to run different Ruby on
  Rails applications under different users, in an efficient manner. This is
  perfect for shared hosts. And in the line of ease of installation, this can
  be done automatically without any further need for configuration.

[ Performance ]
  Performance is an important issue, so we strive for the highest possible
  performance. We use the performance of Mongrel, a popular Ruby on Rails
  application server, as our performance base line. We carefully consider every
  aspect of Passenger, and under no circumstances must Passenger perform
  significantly worse than Mongrel.

[ Efficient resource usage ]
  Unlike other Ruby on Rails deployment systems, Passenger makes efficient use
  of memory when possible. Passenger allows different Ruby on Rails
  applications to share memory with each other, resulting in as much of 30%
  memory saving on average. *
  
  <em>* This requires additional software. Please read the users guide for
  information. Please visit our website for technical details and
  measurements.</em>

[ Well-documented ]
  We know that documentation is of great importance to everybody. We put a
  great deal of effort into documenting Passenger, for system administrators
  who use Passenger, as well as developers who want to contribute to Passenger.


== Welcome, beta tester

Since Passenger hasn't been released yet, if you're reading this, then you must
be a beta tester. :) We only ask of you not to give out this software to
others. Even though it's going to be open source, we want the first release to
leave a good - no, GREAT - impression. Leaking an unfinished beta will likely
spoil peoples' first impression. Thank you for your understanding.

We're pretty confident that the current version is pretty stable: we have lots
of tests, and we've even tested the insertion of random errors, and so far we
haven't been able to make it crash. But we're not done yet, and there is a lot
more to test before we're confident enough that it can be released to the
public.


== Installation

Run the following script as root:

 ./bin/passenger-install-apache2-module

That's it. :) For troubleshooting, configuration and tips, please read the
file 'doc/Users guide.html'.