install_site.pp
1.23 KB
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
# Define: install_site
#
# Install nginx vhost
# This definition is private, not intended to be called directly
#
define nginx::install_site($content=undef) {
# first, make sure the site config exists
case $content {
undef: {
file { "/etc/nginx/sites-available/${name}":
ensure => present,
mode => '0644',
owner => 'root',
group => 'root',
alias => "sites-${name}",
notify => Service['nginx'],
require => Package[$nginx::nginx_packages],
}
}
default: {
file { "/etc/nginx/sites-available/${name}":
ensure => present,
mode => '0644',
owner => 'root',
group => 'root',
alias => "sites-$name",
content => $content,
require => Package[$nginx::nginx_packages],
notify => Service['nginx'],
}
}
}
# now, enable it.
exec { "ln -s /etc/nginx/sites-available/${name} /etc/nginx/sites-enabled/${name}":
unless => "/bin/sh -c '[ -L /etc/nginx/sites-enabled/${name} ] && \
[ /etc/nginx/sites-enabled/${name} -ef /etc/nginx/sites-available/${name} ]'",
path => ['/usr/bin/', '/bin/'],
notify => Service['nginx'],
require => File["sites-${name}"],
}
}