Add initial kosmos-wordpress cookbook
This commit is contained in:
98
site-cookbooks/kosmos-wordpress/recipes/nginx.rb
Normal file
98
site-cookbooks/kosmos-wordpress/recipes/nginx.rb
Normal file
@@ -0,0 +1,98 @@
|
||||
#
|
||||
# Cookbook Name:: kosmos-wordpress
|
||||
# Recipe:: nginx
|
||||
#
|
||||
# Copyright 2016, Kosmos
|
||||
#
|
||||
# All rights reserved - Do Not Redistribute
|
||||
#
|
||||
|
||||
node.set_unless['php-fpm']['pools'] = []
|
||||
|
||||
include_recipe "php-fpm::configure"
|
||||
include_recipe 'php-fpm::repository' unless node['php-fpm']['skip_repository_install']
|
||||
|
||||
if node['php-fpm']['package_name'].nil?
|
||||
if platform_family?("rhel")
|
||||
php_fpm_package_name = "php-fpm"
|
||||
else
|
||||
php_fpm_package_name = "php5-fpm"
|
||||
end
|
||||
else
|
||||
php_fpm_package_name = node['php-fpm']['package_name']
|
||||
end
|
||||
|
||||
package php_fpm_package_name do
|
||||
action :upgrade
|
||||
end
|
||||
|
||||
if node['php-fpm']['service_name'].nil?
|
||||
php_fpm_service_name = php_fpm_package_name
|
||||
else
|
||||
php_fpm_service_name = node['php-fpm']['service_name']
|
||||
end
|
||||
|
||||
service "php-fpm" do
|
||||
service_name php_fpm_service_name
|
||||
supports :start => true, :stop => true, :restart => true, :reload => true
|
||||
action [ :enable, :start ]
|
||||
end
|
||||
|
||||
php_fpm_pool "www" do
|
||||
enable false
|
||||
end
|
||||
|
||||
php_fpm_pool "wordpress" do
|
||||
listen "127.0.0.1:9001"
|
||||
user node['wordpress']['install']['user']
|
||||
group node['wordpress']['install']['group']
|
||||
if node['platform'] == 'ubuntu' and node['platform_version'] == '10.04'
|
||||
process_manager 'dynamic'
|
||||
end
|
||||
listen_owner node['wordpress']['install']['user']
|
||||
listen_group node['wordpress']['install']['group']
|
||||
php_options node['wordpress']['php_options']
|
||||
start_servers 5
|
||||
enable true
|
||||
end
|
||||
|
||||
include_recipe "php::module_mysql"
|
||||
|
||||
include_recipe "kosmos-nginx"
|
||||
|
||||
include_recipe "wordpress::app"
|
||||
|
||||
data_bag_item = Chef::EncryptedDataBagItem.load('certificates', 'wildcard_kosmos_org')
|
||||
|
||||
ssl_cert_path = "/etc/ssl/private/wildcard.kosmos.org.crt"
|
||||
file ssl_cert_path do
|
||||
content data_bag_item['ssl_cert']
|
||||
mode 0600
|
||||
owner 'www-data'
|
||||
sensitive true
|
||||
end
|
||||
|
||||
ssl_key_path = "/etc/ssl/private/wildcard.kosmos.org.key"
|
||||
file ssl_key_path do
|
||||
content data_bag_item['ssl_key']
|
||||
mode 0600
|
||||
owner 'www-data'
|
||||
sensitive true
|
||||
end
|
||||
|
||||
template "#{node['nginx']['dir']}/sites-available/wordpress" do
|
||||
source "nginx.conf.erb"
|
||||
variables(
|
||||
docroot: node['wordpress']['dir'],
|
||||
server_name: node['wordpress']['server_name'],
|
||||
server_aliases: node['wordpress']['server_aliases'],
|
||||
server_port: node['wordpress']['server_port'],
|
||||
ssl_cert: ssl_cert_path,
|
||||
ssl_key: ssl_key_path
|
||||
)
|
||||
action :create
|
||||
end
|
||||
|
||||
nginx_site 'wordpress' do
|
||||
enable true
|
||||
end
|
||||
Reference in New Issue
Block a user