Version information
This version is compatible with:
- Puppet Enterprise 3.x
- Puppet >= 2.7.0 < 4.0.0
- , , ,
Start using this module
Add this module to your Puppetfile:
mod 'puppetlabs-passenger', '0.4.1'
Learn more about managing modules with a PuppetfileDocumentation
passenger
Overview
The Passenger module allows easy configuration and management of Phusion Passenger.
Module Description
The Passenger module lets you run Rails or Rack inside Apache with ease. Utilizing Passenger, an application server for Ruby (Rack) and Python (WSGI) apps, the Passenger module enables quick configuration of Passenger for Apache.
Setup
What Passenger affects:
- Apache
- installs packages on chosen nodes
- package/service/configuration files for Passenger
Beginning with Passenger
Install and begin managing Passenger on a node by declaring the class in your node definition:
node default {
class {'passenger': }
}
This will establish Passenger on your node with sane default values. However, you can manually set the parameter values:
node default {
class {'passenger':
passenger_version => '2.2.11',
passenger_provider => 'gem',
passenger_package => 'passenger',
gem_path => '/var/lib/gems/1.8/gems',
gem_binary_path => '/var/lib/gems/1.8/bin',
passenger_root => '/var/lib/gems/1.8/gems/passenger-2.2.11'
mod_passenger_location => '/var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so',
include_build_tools => true,
}
}
Usage
The passenger
class has a set of configurable parameters that allow you to control aspects of Passenger's installation.
Parameters within passenger
####gem_binary_path
Path to Rubygems binaries on your system
####gem_path
The path to rubygems on your system
####include_build_tools
Boolean to require gcc and make classes. Default is false.
####mod_passenger_location
Path to Passenger's mod_passenger.so file
####package_ensure
Ensure the state of the passenger package
####package_provider
Provider to use to install passenger
####passenger_package
The name of the Passenger package
####passenger_provider
The package provider to use for the system
####passenger_root
Root directory for passenger
####passenger_ruby
Allows you to customize what ruby binary is used
####passenger_version
The Version of Passenger to be installed
####compile_passenger
Whether or not to include the passenger::compile
class. Defaults to true.
Implementation
This module operates by compiling Ruby gems on the system being managed.
Limitations
This module was developed and tested against RHEL and Debian based systems (Centos, Fedora, Redhat, Debian, Ubuntu). This module may require you to specify default parameter values to accommodate other distributions.
Development
Puppet Labs modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great. We can’t access the huge number of platforms and myriad of hardware, software, and deployment configurations that Puppet is intended to serve.
We want to keep it as easy as possible to contribute changes so that our modules work in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
You can read the complete module contribution guide on the Puppet Labs wiki.
Release Notes
0.0.4 Release
- Remove puppetlabs-gcc dependency
- Add package dependencies for Passenger 3.0
- Re-order resources (removing chaining syntax)
##2015-01-29 - Release 0.4.1 ###Summary
This release fixes a typo in the version requirement for 'croddy/make' in the metadata.
##2015-01-27 - Release 0.4.0 ###Summary
This includes a few new features and bugfixes, including the ability to optionally include build related modules and making passenger compilation optional.
####Features
- Add new
$compile_passenger
and$include_build_tools
parameters
####Bugfixes
- Use the
$builddir
variable for determiningmod_passenger_location
- Fix to use the correct curl package on EL5
##2014-06-03 - Release 0.3.0 ###Summary
The major change here is to use an updated 3.0.x release.
####Features
- Use the last version in the 3.0.x releases as the default.
####Fixes
- Fixed timeout when compiling passenger on 'slow' machines
##2013-11-20 - Release 0.2.0 ###Summary
This release refactors the module fairly expensively, and adds Passenger 4 support.
####Features
- Parameters in
passenger
class: package_name
: Name of the passenger package.package_ensure
: Ensure state of the passenger package.package_provider
: Provider to use to install passenger.passenger_root
: Root directory for passenger.
##2013-07-31 - Release 0.1.0 ###Summary
Several changes over the last year to improve compatibility against modern distributions, improvements to make things more robust and some fixes for Puppet 3.
####Features
- Parameters in
passenger
class: passenger_ruby
: Allows you to customize what ruby binary is used.
####Bugfixes
- Ubuntu compatibility fixes.
- Debian 6+ compatibility fixes.
- Fixes against newer puppetlabs-apache.
- Properly qualify variables.
- Restart apache if passenger configuration changes.
- Don't try to load unless compilation stage was successful.
Dependencies
- puppetlabs/apache (>= 1.0.0 < 2.0.0)
- puppetlabs/ruby (>= 0.1.0 < 1.0.0)
- puppetlabs/stdlib (>= 3.2.0 < 5.0.0)
- croddy/make (>= 0.0.5 < 1.0.0)
- puppetlabs/gcc (>= 0.2.0 < 1.0.0)
Copyright (C) 2012 Puppet Labs Inc Puppet Labs can be contacted at: info@puppetlabs.com 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.