Update cookbooks
This commit is contained in:
21
cookbooks/php-fpm/.kitchen.yml
Normal file
21
cookbooks/php-fpm/.kitchen.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
driver:
|
||||
name: vagrant
|
||||
|
||||
provisioner:
|
||||
name: chef_solo
|
||||
|
||||
platforms:
|
||||
- name: ubuntu-12.04
|
||||
- name: centos-6.4
|
||||
- name: fedora-21
|
||||
|
||||
suites:
|
||||
- name: default
|
||||
run_list:
|
||||
- recipe[php-fpm::default]
|
||||
attributes:
|
||||
php-fpm:
|
||||
pools:
|
||||
- name: web
|
||||
listen: '127.0.0.1:9081'
|
||||
1
cookbooks/php-fpm/.ruby-version
Normal file
1
cookbooks/php-fpm/.ruby-version
Normal file
@@ -0,0 +1 @@
|
||||
1.9.3-p327
|
||||
3
cookbooks/php-fpm/Berksfile
Normal file
3
cookbooks/php-fpm/Berksfile
Normal file
@@ -0,0 +1,3 @@
|
||||
source "https://supermarket.getchef.com"
|
||||
|
||||
metadata
|
||||
20
cookbooks/php-fpm/Gemfile
Normal file
20
cookbooks/php-fpm/Gemfile
Normal file
@@ -0,0 +1,20 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
gem 'berkshelf'
|
||||
|
||||
# Uncomment these lines if you want to live on the Edge:
|
||||
#
|
||||
# group :development do
|
||||
# gem "berkshelf", github: "berkshelf/berkshelf"
|
||||
# gem "vagrant", github: "mitchellh/vagrant", tag: "v1.6.3"
|
||||
# end
|
||||
#
|
||||
# group :plugins do
|
||||
# gem "vagrant-berkshelf", github: "berkshelf/vagrant-berkshelf"
|
||||
# gem "vagrant-omnibus", github: "schisamo/vagrant-omnibus"
|
||||
# end
|
||||
|
||||
gem 'test-kitchen'
|
||||
gem 'kitchen-vagrant'
|
||||
gem 'stove'
|
||||
gem 'serverspec'
|
||||
179
cookbooks/php-fpm/Gemfile.lock
Normal file
179
cookbooks/php-fpm/Gemfile.lock
Normal file
@@ -0,0 +1,179 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
activesupport (3.2.19)
|
||||
i18n (~> 0.6, >= 0.6.4)
|
||||
multi_json (~> 1.0)
|
||||
addressable (2.3.6)
|
||||
akami (1.2.2)
|
||||
gyoku (>= 0.4.0)
|
||||
nokogiri
|
||||
berkshelf (2.0.18)
|
||||
activesupport (~> 3.2.0)
|
||||
addressable (~> 2.3.4)
|
||||
buff-shell_out (~> 0.1)
|
||||
chozo (>= 0.6.1)
|
||||
faraday (~> 0.8.5)
|
||||
hashie (~> 2.0)
|
||||
minitar (~> 0.5.4)
|
||||
rbzip2 (~> 0.2.0)
|
||||
retryable (~> 1.3.3)
|
||||
ridley (~> 1.7.0)
|
||||
solve (~> 0.8.2)
|
||||
thor (~> 0.18.0)
|
||||
buff-config (0.4.0)
|
||||
buff-extensions (~> 0.3)
|
||||
varia_model (~> 0.1)
|
||||
buff-extensions (0.5.0)
|
||||
buff-ignore (1.1.1)
|
||||
buff-ruby_engine (0.1.0)
|
||||
buff-shell_out (0.2.0)
|
||||
buff-ruby_engine (~> 0.1.0)
|
||||
builder (3.2.2)
|
||||
celluloid (0.16.0)
|
||||
timers (~> 4.0.0)
|
||||
celluloid-io (0.16.1)
|
||||
celluloid (>= 0.16.0)
|
||||
nio4r (>= 1.0.0)
|
||||
chef-api (0.5.0)
|
||||
logify (~> 0.1)
|
||||
mime-types
|
||||
chozo (0.6.1)
|
||||
activesupport (>= 3.2.0)
|
||||
hashie (>= 2.0.2)
|
||||
multi_json (>= 1.3.0)
|
||||
diff-lcs (1.2.5)
|
||||
erubis (2.7.0)
|
||||
faraday (0.8.9)
|
||||
multipart-post (~> 1.2.0)
|
||||
ffi (1.9.6)
|
||||
gssapi (1.0.3)
|
||||
ffi (>= 1.0.1)
|
||||
gyoku (1.2.2)
|
||||
builder (>= 2.1.2)
|
||||
hashie (2.1.2)
|
||||
hitimes (1.2.2)
|
||||
httpclient (2.5.1)
|
||||
httpi (0.9.7)
|
||||
rack
|
||||
i18n (0.6.11)
|
||||
json (1.8.1)
|
||||
kitchen-vagrant (0.15.0)
|
||||
test-kitchen (~> 1.0)
|
||||
little-plugger (1.1.3)
|
||||
logging (1.8.2)
|
||||
little-plugger (>= 1.1.3)
|
||||
multi_json (>= 1.8.4)
|
||||
logify (0.2.0)
|
||||
mime-types (2.4.2)
|
||||
mini_portile (0.6.0)
|
||||
minitar (0.5.4)
|
||||
mixlib-authentication (1.3.0)
|
||||
mixlib-log
|
||||
mixlib-log (1.6.0)
|
||||
mixlib-shellout (1.6.1)
|
||||
multi_json (1.10.1)
|
||||
multipart-post (1.2.0)
|
||||
net-http-persistent (2.9.4)
|
||||
net-scp (1.2.1)
|
||||
net-ssh (>= 2.6.5)
|
||||
net-ssh (2.9.1)
|
||||
nio4r (1.0.1)
|
||||
nokogiri (1.6.3.1)
|
||||
mini_portile (= 0.6.0)
|
||||
nori (1.1.5)
|
||||
rack (1.5.2)
|
||||
rbzip2 (0.2.0)
|
||||
retryable (1.3.6)
|
||||
ridley (1.7.1)
|
||||
addressable
|
||||
buff-config (~> 0.2)
|
||||
buff-extensions (~> 0.3)
|
||||
buff-ignore (~> 1.1)
|
||||
buff-shell_out (~> 0.1)
|
||||
celluloid (~> 0.15)
|
||||
celluloid-io (~> 0.15)
|
||||
erubis
|
||||
faraday (>= 0.8.4)
|
||||
hashie (>= 2.0.2)
|
||||
json (>= 1.7.7)
|
||||
mixlib-authentication (>= 1.3.0)
|
||||
net-http-persistent (>= 2.8)
|
||||
net-ssh
|
||||
retryable
|
||||
solve (>= 0.4.4)
|
||||
varia_model (~> 0.1)
|
||||
winrm (~> 1.1.0)
|
||||
rspec (3.1.0)
|
||||
rspec-core (~> 3.1.0)
|
||||
rspec-expectations (~> 3.1.0)
|
||||
rspec-mocks (~> 3.1.0)
|
||||
rspec-core (3.1.7)
|
||||
rspec-support (~> 3.1.0)
|
||||
rspec-expectations (3.1.2)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.1.0)
|
||||
rspec-its (1.0.1)
|
||||
rspec-core (>= 2.99.0.beta1)
|
||||
rspec-expectations (>= 2.99.0.beta1)
|
||||
rspec-mocks (3.1.3)
|
||||
rspec-support (~> 3.1.0)
|
||||
rspec-support (3.1.2)
|
||||
rubyntlm (0.1.1)
|
||||
safe_yaml (1.0.4)
|
||||
savon (0.9.5)
|
||||
akami (~> 1.0)
|
||||
builder (>= 2.1.2)
|
||||
gyoku (>= 0.4.0)
|
||||
httpi (~> 0.9)
|
||||
nokogiri (>= 1.4.0)
|
||||
nori (~> 1.0)
|
||||
wasabi (~> 1.0)
|
||||
serverspec (2.3.1)
|
||||
multi_json
|
||||
rspec (~> 3.0)
|
||||
rspec-its
|
||||
specinfra (~> 2.3)
|
||||
solve (0.8.2)
|
||||
specinfra (2.3.0)
|
||||
net-scp
|
||||
net-ssh
|
||||
stove (3.2.3)
|
||||
chef-api (~> 0.5)
|
||||
logify (~> 0.2)
|
||||
test-kitchen (1.2.1)
|
||||
mixlib-shellout (~> 1.2)
|
||||
net-scp (~> 1.1)
|
||||
net-ssh (~> 2.7)
|
||||
safe_yaml (~> 1.0)
|
||||
thor (~> 0.18)
|
||||
thor (0.18.1)
|
||||
timers (4.0.1)
|
||||
hitimes
|
||||
uuidtools (2.1.5)
|
||||
varia_model (0.3.2)
|
||||
buff-extensions (~> 0.2)
|
||||
hashie (>= 2.0.2)
|
||||
wasabi (1.0.0)
|
||||
nokogiri (>= 1.4.0)
|
||||
winrm (1.1.3)
|
||||
gssapi (~> 1.0.0)
|
||||
httpclient (~> 2.2, >= 2.2.0.2)
|
||||
logging (~> 1.6, >= 1.6.1)
|
||||
nokogiri (~> 1.5)
|
||||
rubyntlm (~> 0.1.1)
|
||||
savon (= 0.9.5)
|
||||
uuidtools (~> 2.1.2)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
berkshelf
|
||||
kitchen-vagrant
|
||||
serverspec
|
||||
stove
|
||||
test-kitchen
|
||||
|
||||
BUNDLED WITH
|
||||
1.10.3
|
||||
@@ -24,7 +24,7 @@ The `apt_repository` and `yum_repository` LWRPs are used from these cookbooks to
|
||||
Description
|
||||
==========
|
||||
|
||||
Creates a PHP-FPM configuration file at the path specified. Meant to be deployed with a service init scheme/supervisor such as runit. Please see the `application::php-fpm` recipe for a complete working example. In depth information about PHP-FPM's configuration values can be [found in the PHP-FPM documentation](http://php-fpm.org/wiki/Configuration_File).
|
||||
Creates a PHP-FPM configuration file at the path specified. Meant to be deployed with a service init scheme/supervisor such as runit. Please see the `application::php-fpm` recipe for a complete working example. In depth information about PHP-FPM's configuration values can be [found in the PHP-FPM documentation](http://php.net/manual/en/install.fpm.configuration.php).
|
||||
|
||||
Usage
|
||||
=====
|
||||
@@ -38,18 +38,18 @@ name "php-fpm"
|
||||
description "php fpm role"
|
||||
run_list "recipe[php-fpm]"
|
||||
override_attributes "php-fpm" => {
|
||||
"pools" => [
|
||||
{
|
||||
:name => "default"
|
||||
"pools" => {
|
||||
"default" => {
|
||||
:enable => true
|
||||
},
|
||||
{
|
||||
:name => "www",
|
||||
"www" => {
|
||||
:enable => "true",
|
||||
:cookbook => "another-cookbook",
|
||||
:process_manager => "dynamic",
|
||||
:max_requests => 5000,
|
||||
:php_options => { 'php_admin_flag[log_errors]' => 'on', 'php_admin_value[memory_limit]' => '32M' }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
13
cookbooks/php-fpm/Rakefile
Normal file
13
cookbooks/php-fpm/Rakefile
Normal file
@@ -0,0 +1,13 @@
|
||||
begin
|
||||
require 'kitchen/rake_tasks'
|
||||
Kitchen::RakeTasks.new
|
||||
rescue LoadError
|
||||
puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI']
|
||||
end
|
||||
|
||||
begin
|
||||
require 'stove/rake_task'
|
||||
Stove::RakeTask.new
|
||||
rescue LoadErro
|
||||
pust ">>>>> Stove gem not loaded, omitting tasks" unless ENV['CI']
|
||||
end
|
||||
12
cookbooks/php-fpm/Thorfile
Normal file
12
cookbooks/php-fpm/Thorfile
Normal file
@@ -0,0 +1,12 @@
|
||||
# encoding: utf-8
|
||||
|
||||
require 'bundler'
|
||||
require 'bundler/setup'
|
||||
require 'berkshelf/thor'
|
||||
|
||||
begin
|
||||
require 'kitchen/thor_tasks'
|
||||
Kitchen::ThorTasks.new
|
||||
rescue LoadError
|
||||
puts ">>>>> Kitchen gem not loaded, omitting tasks" unless ENV['CI']
|
||||
end
|
||||
90
cookbooks/php-fpm/Vagrantfile
vendored
Normal file
90
cookbooks/php-fpm/Vagrantfile
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
|
||||
VAGRANTFILE_API_VERSION = "2"
|
||||
|
||||
Vagrant.require_version ">= 1.5.0"
|
||||
|
||||
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
||||
# All Vagrant configuration is done here. The most common configuration
|
||||
# options are documented and commented below. For a complete reference,
|
||||
# please see the online documentation at vagrantup.com.
|
||||
|
||||
config.vm.hostname = "php-fpm-berkshelf"
|
||||
|
||||
# Set the version of chef to install using the vagrant-omnibus plugin
|
||||
config.omnibus.chef_version = :latest
|
||||
|
||||
# Every Vagrant virtual environment requires a box to build off of.
|
||||
# If this value is a shorthand to a box in Vagrant Cloud then
|
||||
# config.vm.box_url doesn't need to be specified.
|
||||
# config.vm.box = "chef/ubuntu-14.04"
|
||||
case ENV['VMBOX']
|
||||
when 'centos65'
|
||||
config.vm.box = "opscode-centos-6.5"
|
||||
config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box"
|
||||
else
|
||||
config.vm.box = "opscode-ubuntu-12.04"
|
||||
config.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box"
|
||||
end
|
||||
|
||||
# The url from where the 'config.vm.box' box will be fetched if it
|
||||
# is not a Vagrant Cloud box and if it doesn't already exist on the
|
||||
# user's system.
|
||||
# config.vm.box_url = "https://vagrantcloud.com/chef/ubuntu-14.04/version/1/provider/virtualbox.box"
|
||||
|
||||
# Assign this VM to a host-only network IP, allowing you to access it
|
||||
# via the IP. Host-only networks can talk to the host machine as well as
|
||||
# any other machines on the same network, but cannot be accessed (through this
|
||||
# network interface) by any external networks.
|
||||
# config.vm.network :private_network, type: "dhcp"
|
||||
config.vm.network :private_network, ip: "33.33.33.10"
|
||||
|
||||
# Create a forwarded port mapping which allows access to a specific port
|
||||
# within the machine from a port on the host machine. In the example below,
|
||||
# accessing "localhost:8080" will access port 80 on the guest machine.
|
||||
|
||||
# Share an additional folder to the guest VM. The first argument is
|
||||
# the path on the host to the actual folder. The second argument is
|
||||
# the path on the guest to mount the folder. And the optional third
|
||||
# argument is a set of non-required options.
|
||||
# config.vm.synced_folder "../data", "/vagrant_data"
|
||||
|
||||
# Provider-specific configuration so you can fine-tune various
|
||||
# backing providers for Vagrant. These expose provider-specific options.
|
||||
# Example for VirtualBox:
|
||||
#
|
||||
# config.vm.provider :virtualbox do |vb|
|
||||
# # Don't boot with headless mode
|
||||
# vb.gui = true
|
||||
#
|
||||
# # Use VBoxManage to customize the VM. For example to change memory:
|
||||
# vb.customize ["modifyvm", :id, "--memory", "1024"]
|
||||
# end
|
||||
#
|
||||
# View the documentation for the provider you're using for more
|
||||
# information on available options.
|
||||
|
||||
# The path to the Berksfile to use with Vagrant Berkshelf
|
||||
# config.berkshelf.berksfile_path = "./Berksfile"
|
||||
|
||||
# Enabling the Berkshelf plugin. To enable this globally, add this configuration
|
||||
# option to your ~/.vagrant.d/Vagrantfile file
|
||||
config.berkshelf.enabled = true
|
||||
|
||||
# An array of symbols representing groups of cookbook described in the Vagrantfile
|
||||
# to exclusively install and copy to Vagrant's shelf.
|
||||
# config.berkshelf.only = []
|
||||
|
||||
# An array of symbols representing groups of cookbook described in the Vagrantfile
|
||||
# to skip installing and copying to Vagrant's shelf.
|
||||
# config.berkshelf.except = []
|
||||
|
||||
config.vm.provision :chef_solo do |chef|
|
||||
chef.run_list = [
|
||||
"recipe[apt]",
|
||||
"recipe[php-fpm::default]"
|
||||
]
|
||||
end
|
||||
end
|
||||
@@ -1,4 +1,5 @@
|
||||
if node.platform_family == "rhel"
|
||||
case node["platform_family"]
|
||||
when "rhel", "fedora"
|
||||
user = "apache"
|
||||
group = "apache"
|
||||
conf_dir = "/etc/php.d"
|
||||
@@ -26,18 +27,30 @@ default['php-fpm']['conf_dir'] = conf_dir
|
||||
default['php-fpm']['pool_conf_dir'] = pool_conf_dir
|
||||
default['php-fpm']['conf_file'] = conf_file
|
||||
default['php-fpm']['pid'] = pid
|
||||
default['php-fpm']['log_dir'] = '/var/log/php-fpm'
|
||||
default['php-fpm']['error_log'] = error_log
|
||||
default['php-fpm']['log_level'] = "notice"
|
||||
default['php-fpm']['emergency_restart_threshold'] = 0
|
||||
default['php-fpm']['emergency_restart_interval'] = 0
|
||||
default['php-fpm']['process_control_timeout'] = 0
|
||||
default['php-fpm']['pools'] = [
|
||||
{
|
||||
:name => "www"
|
||||
default['php-fpm']['pools'] = {
|
||||
"www" => {
|
||||
:enable => true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
default['php-fpm']['skip_repository_install'] = false
|
||||
default['php-fpm']['installation_action'] = :install
|
||||
default['php-fpm']['version'] = nil
|
||||
|
||||
default['php-fpm']['yum_url'] = "http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/"
|
||||
default['php-fpm']['yum_mirrorlist'] = "http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror"
|
||||
case node["platform_family"]
|
||||
when "rhel"
|
||||
default['php-fpm']['yum_url'] = "http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/"
|
||||
default['php-fpm']['yum_mirrorlist'] = "http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror"
|
||||
when "fedora"
|
||||
default['php-fpm']['skip_repository_install'] = true
|
||||
end
|
||||
|
||||
default['php-fpm']['dotdeb_repository']['uri'] = "http://packages.dotdeb.org"
|
||||
default['php-fpm']['dotdeb_repository']['key'] = "http://www.dotdeb.org/dotdeb.gpg"
|
||||
default['php-fpm']['dotdeb-php53_repository']['uri'] = "http://php53.dotdeb.org"
|
||||
|
||||
101
cookbooks/php-fpm/chefignore
Normal file
101
cookbooks/php-fpm/chefignore
Normal file
@@ -0,0 +1,101 @@
|
||||
# Put files/directories that should be ignored in this file when uploading
|
||||
# or sharing to the community site.
|
||||
# Lines that start with '# ' are comments.
|
||||
|
||||
# OS generated files #
|
||||
######################
|
||||
.DS_Store
|
||||
Icon?
|
||||
nohup.out
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
||||
# SASS #
|
||||
########
|
||||
.sass-cache
|
||||
|
||||
# EDITORS #
|
||||
###########
|
||||
\#*
|
||||
.#*
|
||||
*~
|
||||
*.sw[a-z]
|
||||
*.bak
|
||||
REVISION
|
||||
TAGS*
|
||||
tmtags
|
||||
*_flymake.*
|
||||
*_flymake
|
||||
*.tmproj
|
||||
.project
|
||||
.settings
|
||||
mkmf.log
|
||||
|
||||
## COMPILED ##
|
||||
##############
|
||||
a.out
|
||||
*.o
|
||||
*.pyc
|
||||
*.so
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*/rdoc/
|
||||
|
||||
# Testing #
|
||||
###########
|
||||
.watchr
|
||||
.rspec
|
||||
spec/*
|
||||
spec/fixtures/*
|
||||
test/*
|
||||
features/*
|
||||
Guardfile
|
||||
Procfile
|
||||
|
||||
# SCM #
|
||||
#######
|
||||
.git
|
||||
*/.git
|
||||
.gitignore
|
||||
.gitmodules
|
||||
.gitconfig
|
||||
.gitattributes
|
||||
.svn
|
||||
*/.bzr/*
|
||||
*/.hg/*
|
||||
*/.svn/*
|
||||
|
||||
# Berkshelf #
|
||||
#############
|
||||
Berksfile
|
||||
Berksfile.lock
|
||||
cookbooks/*
|
||||
tmp
|
||||
|
||||
# Cookbooks #
|
||||
#############
|
||||
CONTRIBUTING
|
||||
CHANGELOG*
|
||||
|
||||
# Strainer #
|
||||
############
|
||||
Colanderfile
|
||||
Strainerfile
|
||||
.colander
|
||||
.strainer
|
||||
|
||||
# Vagrant #
|
||||
###########
|
||||
.vagrant
|
||||
Vagrantfile
|
||||
|
||||
# Travis #
|
||||
##########
|
||||
.travis.yml
|
||||
|
||||
# Other #
|
||||
##########
|
||||
.sandbox
|
||||
.bundle
|
||||
@@ -48,7 +48,9 @@ define :php_fpm_pool, :template => "pool.conf.erb", :enable => true do
|
||||
:max_requests => params[:max_requests],
|
||||
:catch_workers_output => params[:catch_workers_output],
|
||||
:security_limit_extensions => params[:security_limit_extensions] || node['php-fpm']['security_limit_extensions'],
|
||||
:access_log => params[:access_log] || false,
|
||||
:php_options => params[:php_options] || {},
|
||||
:request_terminate_timeout => params[:request_terminate_timeout],
|
||||
:params => params
|
||||
)
|
||||
notifies :restart, "service[php-fpm]"
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
{
|
||||
"name": "php-fpm",
|
||||
"version": "0.6.10",
|
||||
"description": "Installs/Configures php-fpm",
|
||||
"long_description": "Description\n===========\n\nInstalls and configures PHP-FPM (FastCGI Process Manager), an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. It's like the `unicorn` of the PHP world dawg.\n\nRequirements\n============\n\nPlatform\n--------\n\n* Debian, Ubuntu\n* CentOS, Red Hat, Fedora\n* Amazon Linux\n\nCookbooks\n---------\n\n* apt (leverages apt_repository LWRP)\n* yum (leverages yum_repository LWRP)\n\nThe `apt_repository` and `yum_repository` LWRPs are used from these cookbooks to create the proper repository entries so the php-fpm package downloaded and installed.\n\nDescription\n==========\n\nCreates a PHP-FPM configuration file at the path specified. Meant to be deployed with a service init scheme/supervisor such as runit. Please see the `application::php-fpm` recipe for a complete working example. In depth information about PHP-FPM's configuration values can be [found in the PHP-FPM documentation](http://php-fpm.org/wiki/Configuration_File).\n\nUsage\n=====\nSimply include the recipe where you want PHP-FPM installed. Default pool __www__ will be created. To disable pool creation set default['php-fpm']['pools'] to false.\n\nTo customize settings and pools you can override default attributes.\n\n### Usage in roles:\n```ruby\nname \"php-fpm\"\ndescription \"php fpm role\"\nrun_list \"recipe[php-fpm]\"\noverride_attributes \"php-fpm\" => {\n\t\"pools\" => [\n\t\t{\n\t\t\t:name => \"default\"\n\t\t},\n\t\t{\n\t\t\t:name => \"www\",\n\t\t\t:cookbook => \"another-cookbook\",\n\t\t\t:process_manager => \"dynamic\",\n\t\t\t:max_requests => 5000,\n\t\t\t:php_options => { 'php_admin_flag[log_errors]' => 'on', 'php_admin_value[memory_limit]' => '32M' }\n\t\t}\n\t]\n}\n```\n\nCreating pools in recipes\n=========================\n### Create PHP-FPM pool named 'www' with default settings:\n```ruby\nphp_fpm_pool \"www\"\n```\n\n### Create PHP-FPM pool named 'www' with custom settings:\n```ruby\nphp_fpm_pool \"www\" do\n cookbook \"another-cookbook\" # get template from another cookbook\n process_manager \"dynamic\"\n max_requests 5000\n php_options 'php_admin_flag[log_errors]' => 'on', 'php_admin_value[memory_limit]' => '32M'\nend\n```\n\n### Delete PHP-FPM pool named 'www':\n```ruby\nphp_fpm_pool \"www\" do\n enable false\nend\n```\n\nLicense and Author\n==================\n\nAuthor:: Seth Chisamore (<schisamo@opscode.com>)\n\nCopyright:: 2011, Opscode, Inc\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n",
|
||||
"maintainer": "Opscode, Inc.",
|
||||
"maintainer_email": "cookbooks@opscode.com",
|
||||
"license": "Apache 2.0",
|
||||
"platforms": {
|
||||
"debian": ">= 0.0.0",
|
||||
"ubuntu": ">= 0.0.0",
|
||||
"centos": ">= 0.0.0",
|
||||
"redhat": ">= 0.0.0",
|
||||
"fedora": ">= 0.0.0",
|
||||
"amazon": ">= 0.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"apt": ">= 0.0.0",
|
||||
"yum": ">= 3.0.0"
|
||||
},
|
||||
"recommendations": {
|
||||
},
|
||||
"suggestions": {
|
||||
},
|
||||
"conflicting": {
|
||||
},
|
||||
"providing": {
|
||||
},
|
||||
"replacing": {
|
||||
},
|
||||
"attributes": {
|
||||
},
|
||||
"groupings": {
|
||||
},
|
||||
"recipes": {
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ maintainer_email "cookbooks@opscode.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs/Configures php-fpm"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version "0.6.10"
|
||||
version "0.7.5"
|
||||
|
||||
depends "apt"
|
||||
depends "yum", ">= 3.0"
|
||||
|
||||
@@ -28,7 +28,13 @@ end
|
||||
|
||||
if node['php-fpm']['pools']
|
||||
node['php-fpm']['pools'].each do |pool|
|
||||
php_fpm_pool pool[:name] do
|
||||
if pool.is_a?(Array)
|
||||
pool_name = pool[0]
|
||||
pool = pool[1]
|
||||
else
|
||||
pool_name = pool[:name]
|
||||
end
|
||||
php_fpm_pool pool_name do
|
||||
pool.each do |k, v|
|
||||
self.params[k.to_sym] = v
|
||||
end
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
#
|
||||
|
||||
include_recipe 'php-fpm::repository' unless node['php-fpm']['skip_repository_install']
|
||||
include_recipe 'apt::default' if node['platform_family'] == 'debian'
|
||||
|
||||
if node['php-fpm']['package_name'].nil?
|
||||
if platform_family?("rhel")
|
||||
if platform_family?("rhel", "fedora")
|
||||
php_fpm_package_name = "php-fpm"
|
||||
else
|
||||
php_fpm_package_name = "php5-fpm"
|
||||
@@ -31,7 +32,8 @@ else
|
||||
end
|
||||
|
||||
package php_fpm_package_name do
|
||||
action :upgrade
|
||||
action node['php-fpm']['installation_action']
|
||||
version node['php-fpm']['version'] if node['php-fpm']['version']
|
||||
end
|
||||
|
||||
if node['php-fpm']['service_name'].nil?
|
||||
@@ -40,13 +42,9 @@ else
|
||||
php_fpm_service_name = node['php-fpm']['service_name']
|
||||
end
|
||||
|
||||
service_provider = nil
|
||||
if node['platform'] == 'ubuntu' and node['platform_version'].to_f >= 13.10
|
||||
service_provider = ::Chef::Provider::Service::Upstart
|
||||
end
|
||||
directory node['php-fpm']['log_dir']
|
||||
|
||||
service "php-fpm" do
|
||||
provider service_provider if service_provider
|
||||
service_name php_fpm_service_name
|
||||
supports :start => true, :stop => true, :restart => true, :reload => true
|
||||
action [ :enable, :start ]
|
||||
|
||||
@@ -40,33 +40,33 @@ when 'debian'
|
||||
# http://www.dotdeb.org/instructions/
|
||||
if node.platform_version.to_f >= 7.0
|
||||
apt_repository "dotdeb" do
|
||||
uri "http://packages.dotdeb.org"
|
||||
uri node['php-fpm']['dotdeb_repository']['uri']
|
||||
distribution "stable"
|
||||
components ['all']
|
||||
key "http://www.dotdeb.org/dotdeb.gpg"
|
||||
key node['php-fpm']['dotdeb_repository']['key']
|
||||
action :add
|
||||
end
|
||||
elsif node.platform_version.to_f >= 6.0
|
||||
apt_repository "dotdeb" do
|
||||
uri "http://packages.dotdeb.org"
|
||||
uri node['php-fpm']['dotdeb_repository']['uri']
|
||||
distribution "squeeze"
|
||||
components ['all']
|
||||
key "http://www.dotdeb.org/dotdeb.gpg"
|
||||
key node['php-fpm']['dotdeb_repository']['key']
|
||||
action :add
|
||||
end
|
||||
else
|
||||
apt_repository "dotdeb" do
|
||||
uri "http://packages.dotdeb.org"
|
||||
uri node['php-fpm']['dotdeb_repository']['uri']
|
||||
distribution "oldstable"
|
||||
components ['all']
|
||||
key "http://www.dotdeb.org/dotdeb.gpg"
|
||||
key node['php-fpm']['dotdeb_repository']['key']
|
||||
action :add
|
||||
end
|
||||
apt_repository "dotdeb-php53" do
|
||||
uri "http://php53.dotdeb.org"
|
||||
uri node['php-fpm']['dotdeb-php53_repository']['uri']
|
||||
distribution "oldstable"
|
||||
components ['all']
|
||||
key "http://www.dotdeb.org/dotdeb.gpg"
|
||||
key node['php-fpm']['dotdeb_repository']['key']
|
||||
action :add
|
||||
end
|
||||
end
|
||||
|
||||
@@ -112,7 +112,7 @@ pm.max_children = <%= @max_children || 50 %>
|
||||
; Note: Used only when pm is set to 'dynamic'
|
||||
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
|
||||
<% if @start_servers %>
|
||||
pm.start_servers = <%= @start_servers %>
|
||||
pm.start_servers = <%= @start_servers %>
|
||||
<% end %>
|
||||
|
||||
; The desired minimum number of idle server processes.
|
||||
@@ -257,7 +257,9 @@ pm.max_requests = <%= @max_requests || 500 %>
|
||||
|
||||
; The access log file
|
||||
; Default: not set
|
||||
;access.log = log/$pool.access.log
|
||||
<% if @access_log %>
|
||||
access.log = <%= node['php-fpm']['log_dir'] %>/$pool.access.log
|
||||
<% end %>
|
||||
|
||||
; The access log format.
|
||||
; The following syntax is allowed
|
||||
@@ -330,7 +332,7 @@ pm.max_requests = <%= @max_requests || 500 %>
|
||||
; does not stop script execution for some reason. A value of '0' means 'off'.
|
||||
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
||||
; Default Value: 0
|
||||
;request_terminate_timeout = 0
|
||||
request_terminate_timeout = <%=@request_terminate_timeout || 0 %>
|
||||
|
||||
; Set open file descriptor rlimit.
|
||||
; Default Value: system defined value
|
||||
@@ -364,6 +366,7 @@ pm.max_requests = <%= @max_requests || 500 %>
|
||||
; Default Value: no
|
||||
catch_workers_output = <%= @catch_workers_output || "no" %>
|
||||
|
||||
<% if node['platform'] != 'ubuntu' && node['platform_version'] != '10.04' %>
|
||||
; Limits the extensions of the main script FPM will allow to parse. This can
|
||||
; prevent configuration mistakes on the web server side. You should only limit
|
||||
; FPM to .php extensions to prevent malicious users to use other extensions to
|
||||
@@ -372,6 +375,7 @@ catch_workers_output = <%= @catch_workers_output || "no" %>
|
||||
; Default Value: .php
|
||||
;security.limit_extensions = .php .php3 .php4 .php5
|
||||
security.limit_extensions = <%=@security_limit_extensions || ".php" %>
|
||||
<% end %>
|
||||
|
||||
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
|
||||
; the current environment.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
require 'serverspec'
|
||||
|
||||
set :backend, :exec
|
||||
|
||||
describe port(9081) do
|
||||
it { should be_listening }
|
||||
end
|
||||
Reference in New Issue
Block a user