cookbook 'passenger_apache2', '= 3.1.0'
passenger_apache2
(37) Versions
3.1.0
-
Follow46
Installs Passenger for Apache2
cookbook 'passenger_apache2', '= 3.1.0', :supermarket
knife supermarket install passenger_apache2
knife supermarket download passenger_apache2
passenger_apache2 Cookbook
Installs Phusion Passenger Ruby application server for Apache 2.
Requirements
Platforms
- Debian/Ubuntu
- RHEL/CentOS/Scientific/Amazon/Oracle
- Fedora
- openSUSE/SLES
Chef
- Chef 12.1+
Cookbooks
- apache2 >= 2.0.0
- build-essential
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']['ruby_bin']
- Sets PassengerRuby in the Apache module config and is used for passenger module configuration. Defaults tonode['languages']['ruby']['ruby_bin']
. -
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']['install_module']
- Specify the boolean value which decides installing Passenger. Defaults to true, and setting to false skips the installation -
node['passenger']['package']['version']
- Specify the version of the passenger package to install. Usesversion
attribute above by default. To install the version available by default (latest, usually), delete the attribute in a recipe with this line:
node.normal['passenger']['package'].delete('version')
Recipes
default
Installs passenger from gem (source) or package depending on the value of the install_method
attribute.
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.
Set the node['passenger']['package']['version']
attribute to the correct value for your system's available package repository if necessary. By default the value is nil which will install the latest package version from the distribution package manager.
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_apache2"' 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.
Example:
web_app "myproj" do # ... cookbook "passenger_apache2" # ... end
Known Issues
When run as a daemonized process under init on linux, using https://github.com/opscode-cookbooks/chef-client/blob/master/recipes/init_service.rb for example, the /sbin/service script scrubs the environment, including the HOME environment variable. In some versions, Passenger depends on the HOME environment variable to be present. This can be worked around by setting the necessary environment variables directly in your recipes.
License & Authors
- Author: Joshua Timberman (joshua@chef.io)
- Author: Joshua Sierles (joshua@37signals.com)
- Author: Michael Hale (mikehale@gmail.com)
- Author: Chris Roberts (chrisroberts.code@gmail.com)
Copyright: 2009-2017, Chef Software, 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. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
passenger_apache2 Cookbook CHANGELOG
This file is used to list changes made in each version of the passenger_apache2 cookbook.
3.1.0 (2018-05-14)
- Cookstyle fix
- Remove maintainer files
- Enable all Foodcritic rules
- Use build_essential resource vs. recipe
3.0.1 (2017-04-27)
- Fix attributes to work with Chef 13
3.0.0 (2016-09-16)
- Default to 4.0.60
- Fix compatibility with Ubuntu 16.04
- correct documentation for using cookbook's default web_app.conf template
- add example of specifying where to get web app template from
- Testing updates
- Avoid node.set and instead use node.normal
- Use multipackage installs to speed up installs
- Require Chef 12.1
v2.3.1 (2016-03-29)
- Install Passenger using the correct Gem binary by adding default['passenger']['bin_dir'] and default['passenger']['bin']
- Properly notify Apache2 to reload when configs change in mod_rails
- Add known issues to the Readme
- Run integration tests in Travis CI using Kitchen Docker
- Add long_description to the metadata
- Add basic converge coverage with ChefSpec
- Update testing dependencies and resolve new Rubocop warnings
- Remove incorrect build-essential dependency listed in the readme
v2.3.0 (2015-09-23)
- Update Apache 2 requirement from 1.X.X to >= 2.0.0 which adds support for current Ubuntu and CentOS releases
- The minimum supported Chef release is now 11.0
- Added support for Fedora and openSUSE / SLES
- Update source recipe to not upgrade packages. Package upgrades should be done outside community cookbooks and not randomly during Chef runs.
- Add chef standard gitignore and chefignore files
- Add a .foodcritic file to exclude rules that aren't valid for this cookbook
- Update Kitchen CI config for new platforms and format
- Add Rubocop config
- Add Travis CI config
- Update Berksfile to 3.X format and remove Yum, which wasn't actually used
- Update Contributing, Testing, and Maintainers docs
- Add Rakefile for simplified testing
- Update Gemfile with updated testing and development gems
- Replace all references to Opscode with Chef Software
- Add Travis CI and cookbook version badges to the Readme
v2.2.3 (2014-12-07)
- Fix idempotence check to check for existence of the right file, at the right time (#34, #37, #42)
- Constrain apache2 cookbook version (#32, #33)
- Update passenger version to latest bugfix release (4.0.53)
v2.2.2 (2014-08-25)
- COOK-4666 Include attribute conditional check to install module
v2.2.0 (2014-02-21)
Bug
- COOK-4081 - Install command does not use correct attribute
Improvement
- COOK-4005 - Make the passenger apache module installation step use optional custom ruby when building from source
v2.1.4
Improvement
- [COOK-4005] Make the passenger apache module installation use optional custom ruby when building from source
v2.1.2
Bug
- [COOK-3706] Fix permission of passenger.load
- [COOK-3747] Call full path for installing module
v2.1.0
Bug
- COOK-3654 - Fix compatibility with Chef 11
- COOK-3395 - Fix an issue where the recipe does not compile the version of passenger specified on the node attribute
Improvement
-
COOK-3486 - Make
PassengerRuby
configurable
v2.0.4
Bug
- COOK-2293 - Automatically reload Ohai attribtues
v2.0.2
Bug
- [COOK-2750]: using
mod_rails
inrun_list
by itself fails in version 2.0.0 - [COOK-2972]:
passenger_apache2
has foodcritic errors - [COOK-3180]: don't use
mod_rails
recipe w/ package install
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 passenger
v1.0.0
- [COOK-1097] - documentation missing for mod_rails recipe
- [COOK-1132] - example doesn't work
- [COOK-1133] - update to passenger v3.0.11
v0.99.4
- [COOK-958] - fix regression for loadmodule on debian/ubuntu
- [COOK-1003] - support archlinux
v0.99.2
- [COOK-859] - don't hardcode module path
- [COOK-539] - use --auto for installation
- [COOK-608] - remove RailsAllowModRewrite from web_app.erb
- [COOK-640] - use correct development headers on RHEL
v0.99.0
- Upgrade to passenger 3.0.7
- Attributes are all "default"
- Install curl development headers
- Move PassengerMaxPoolSize to config of module instead of vhost.
Collaborator Number Metric
3.1.0 passed this metric
Contributing File Metric
3.1.0 passed this metric
Foodcritic Metric
3.1.0 passed this metric
No Binaries Metric
3.1.0 passed this metric
Testing File Metric
3.1.0 passed this metric
Version Tag Metric
3.1.0 passed this metric
3.1.0 passed this metric
3.1.0 passed this metric
Foodcritic Metric
3.1.0 passed this metric
No Binaries Metric
3.1.0 passed this metric
Testing File Metric
3.1.0 passed this metric
Version Tag Metric
3.1.0 passed this metric
3.1.0 passed this metric
3.1.0 passed this metric
Testing File Metric
3.1.0 passed this metric
Version Tag Metric
3.1.0 passed this metric
3.1.0 passed this metric
3.1.0 passed this metric