It creates a folder, the nginx vhost for certbot and HTTP redirects, and also runs certbot and recreates the nginx vhost that includes the TLS cert
60 lines
1.4 KiB
Ruby
60 lines
1.4 KiB
Ruby
#
|
|
# 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"
|
|
include_recipe 'php-fpm::repository' unless node['php-fpm']['skip_repository_install']
|
|
include_recipe "php-fpm::install"
|
|
|
|
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']
|
|
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"
|
|
|
|
server_name = node['wordpress']['server_name']
|
|
|
|
ssl_cert = "/etc/letsencrypt/live/#{server_name}/fullchain.pem"
|
|
ssl_key = "/etc/letsencrypt/live/#{server_name}/privkey.pem"
|
|
template "#{node['nginx']['dir']}/sites-available/#{server_name}" do
|
|
source "nginx.conf.erb"
|
|
variables(
|
|
docroot: node['wordpress']['dir'],
|
|
server_name: server_name,
|
|
server_aliases: node['wordpress']['server_aliases'],
|
|
server_port: node['wordpress']['server_port'],
|
|
ssl_cert: ssl_cert,
|
|
ssl_key: ssl_key
|
|
)
|
|
action :create
|
|
notifies :reload, "service[nginx]", :delayed
|
|
end
|
|
|
|
nginx_site server_name do
|
|
action :enable
|
|
end
|
|
|
|
nginx_certbot_site server_name
|