1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
class website_blog_2 (
String $blog_root,
String $domain,
String $certname = $domain,
Hash[String,Hash] $blogs = {},
Optional[Array[String]] $domain_aliases = undef,
String $blog_server_name = 'blog-server',
) {
ensure_packages(['website-blog-2', 'php-fpm'])
file { '/var/website-blog-2':
ensure => directory,
}
file { '/var/website-blog-2/.workdirs':
ensure => directory,
}
letsencrypt::cert { $certname:
include_self => false,
domains => $domain_aliases << $domain,
authenticator => 'nginx',
}
$default = {
access_log => 'absent',
error_log => 'absent',
use_default_location => false,
} + letsencrypt::conf::nginx($domain)
include ::nginx
nginx::resource::server { $blog_server_name:
* => $default,
server_name => [ $domain, ],
index_files => [ 'index.php', 'index.html', 'index.htm', ],
www_root => $blog_root,
}
if $domain_aliases {
nginx::resource::server { "${blog_server_name}-aliases":
* => $default,
server_name => $domain_aliases,
server_cfg_append => {
'return' => "301 \$scheme://${domain}\$request_uri",
},
}
}
create_resources(website_blog_2::instance, $blogs)
}
|