Skip to content
This repository has been archived by the owner on Jun 5, 2020. It is now read-only.

puppetlabs-toy-chest/puppetlabs-passenger

Repository files navigation

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)

About

Puppet Labs Module for Passenger

htps://forge.puppetlabs.com/puppetlabs/passenger

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published