Permalink
Browse files

release v2.0.0

  • Loading branch information...
1 parent 029a7b1 commit 5aed9c14b3056cc2aaf6834bb8ca1796a9d9d9a8 @jtimberman jtimberman committed Feb 14, 2013
Showing with 89 additions and 26 deletions.
  1. +8 −0 CHANGELOG.md
  2. +80 −25 README.md
  3. +1 −1 metadata.rb
View
@@ -1,3 +1,11 @@
+## v2.0.0:
+
+[COOK-2115] - Improve `passenger_apache2` cookbook source
+[COOK-2128] - Allow apache passenger to be installed via packages
+[COOK-2203] - Remove :source key from `module_path`
+[COOK-2379] - `passenger_apache2` should install passenger 3.0.19
+[COOK-2380] - `pasenger_apache2` should use `platform_family` for additional platform support
+
## v1.1.0:
* [COOK-2003] - only able to use apache2-prefork-dev to compile
View
105 README.md
@@ -1,14 +1,22 @@
Description
-====
+===========
Installs passenger for Apache 2.
Requirements
-====
+============
+
+Requires Chef 0.10.10+ and Ohai 0.6.10+ for `platform_family` attribute use.
## Platform
-Tested on Ubuntu 10.04. Should work on any Ubuntu/Debian platforms.
+Tested on the following platforms:
+
+* Ubuntu 10.04, 12.04
+* CentOS 5.8, 6.3
+
+The source install method was used on CentOS. It may work on other
+platforms with or without modification.
## Cookbooks
@@ -17,52 +25,99 @@ Opscode cookbooks:
* apache2
* build-essential
-Attributes
-====
-
-* `passenger['version']` - Specify the version of passenger to install.
-* `passenger['max_pool_size']` - Sets PassengerMaxPoolSize in the Apache module config.
-* `passenger['root_path']` - The location of the passenger gem.
-* `passenger['module_path']` - The location of the compiled passenger apache module.
+Attributes
+==========
+
+* `node['passenger']['version']` - Specify the version of passenger to
+ install.
+* `node['passenger']['max_pool_size']` - Sets PassengerMaxPoolSize in the
+ Apache module config.
+* `node['passenger']['root_path']` - The location of the passenger gem.
+* `node['passenger']['module_path']` - The location of the compiled passenger
+ apache module.
+* `node['passenger']['install_method']` - Includes the "source" (gem
+ install) or "package" recipe. Default "source."
+* `node['passenger']['apache_mpm']` - Override with an
+ "override_attribute" (in a role, environment or with node.override)
+ to "worker" or "threaded" to use apache2-threaded-dev package.
+ Otherwise this assumes prefork.
+* `node['passenger']['package']['name']` - Name of the package for
+ passenger, default is nil, so this must be set before using the
+ "package" install method/recipe.
+* `node['passenger']['package']['version']` - Specify the version of
+ the passenger package to install. Uses `version` attribute above by
+ default. To install the version available by default (latest,
+ usually), delete the attribute in a recipe with this line:
+
+ node.set['passenger']['package'].delete('version')
Recipes
=======
-default
--------
-Installs the passenger gem.
+## default
+
+Installs passenger from gem (source) or package depending on the value
+of the `install_method` attribute.
+
+## mod_rails
-mod_rails
----------
Installs the passenger gem and enables the module in Apache2.
+## source
+
+Installs passenger as a RubyGem.
+
+## package
+
+Installs passenger as a Package.
+
+Set the `install_method` attribute to package, then set the
+`package['name']` attribute to the correct package for your platform.
+The recipe does not yet handle adding yum repositories for RHEL
+platforms, so that should be done in another recipe until COOK-2414 is
+resolved.
+
+The version of the package to install will be the same as the gem (the
+`version` attribute, above). Set the
+`node['passenger']['package']['version']` attribute to the correct
+value for your system's available package repository, or delete the
+attribute and use the latest available with:
+
+ node.set['passenger']['package'].delete('version')
+
Usage
-====
+=====
For example, to run a Rails application on passenger:
include_recipe "rails"
include_recipe "passenger_apache2"
-
+
web_app "myproj" do
docroot "/srv/myproj/public"
server_name "myproj.#{node[:domain]}"
server_aliases [ "myproj", node[:hostname] ]
rails_env "production"
end
-A sample config template is provided, `web_app.conf.erb`. If this is suitable for your application, add 'cookbook "passenger"' to the define above to use that template. Otherwise, copy the template to the cookbook where you're using `web_app`, and modify as needed. The cookbook parameter is optional, if omitted it will search the cookbook where the define is used.
+A sample config template is provided, `web_app.conf.erb`. If this is
+suitable for your application, add 'cookbook "passenger"' to the
+define above to use that template. Otherwise, copy the template to the
+cookbook where you're using `web_app`, and modify as needed. The
+cookbook parameter is optional, if omitted it will search the cookbook
+where the define is used.
License and Author
-====
+==================
-Author:: Joshua Timberman (<joshua@opscode.com>)
-Author:: Joshua Sierles (<joshua@37signals.com>)
-Author:: Michael Hale (<mikehale@gmail.com>)
+- Author: Joshua Timberman (<joshua@opscode.com>)
+- Author: Joshua Sierles (<joshua@37signals.com>)
+- Author: Michael Hale (<mikehale@gmail.com>)
+- Author: Chris Roberts (<chrisroberts.code@gmail.com>)
-Copyright:: 2009-2011, Opscode, Inc
-Copyright:: 2009, 37signals
-Coprighty:: 2009, Michael Hale
+- Copyright: 2009-2013, Opscode, Inc
+- Copyright: 2009, 37signals
+- Copright: 2009, Michael Hale
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
View
@@ -4,7 +4,7 @@
license "Apache 2.0"
description "Installs passenger for Apache2"
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
-version "1.1.0"
+version "2.0.0"
recipe "passenger_apache2", "Installs Passenger as an Apache module"
recipe "passenger_apache2::mod_rails", "Enables Apache module configuration for passenger module"

0 comments on commit 5aed9c1

Please sign in to comment.