# Base class class nginx::base { # Setup packages package { "nginx": ensure => installed, } # Config folders, see http://projects.reductivelabs.com/issues/86 file { [ "/etc/nginx", "/etc/nginx/sites-available", "/etc/nginx/sites-enabled" ]: ensure => directory, owner => "root", group => "root", } service { "nginx": enable => true, ensure => running, hasrestart => true, require => [ Package["nginx"], File['/var/cache/nginx'] ], } # Main configuration # TODO: we're managing the default config. Remove this block after a while. file { "/etc/nginx/nginx.conf": content => template("nginx/nginx.conf.erb"), owner => "root", group => "root", mode => '0644', ensure => present, notify => Service["nginx"], } }