diff options
Diffstat (limited to 'manifests/websites.pp')
-rw-r--r-- | manifests/websites.pp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/manifests/websites.pp b/manifests/websites.pp new file mode 100644 index 0000000..34475dd --- /dev/null +++ b/manifests/websites.pp @@ -0,0 +1,92 @@ +class websites::setup { + # Configure Apache Web Server + $apache_www_folder = "/var/www/data" + $apache_sites_folder = "/var/sites" + $apache_error_dest = "http://${domain}/missing.html" + $drupal_folder = "${apache_www_folder}/drupal" + + # Include apache + include apache + + # The needed apache modules + apache::module { "rewrite": + ensure => present, + } + + # Images folder + file { "${apache_www_folder}/images": + ensure => directory, + recurse => true, + purge => true, + force => true, + owner => "root", + group => "root", + # This mode will also apply to files from the source directory + mode => 0644, + # Puppet will automatically set +x for directories + source => "puppet://$server/files/apache/htdocs/images", + } + + # Web index + file { "${apache_www_folder}/index.html": + ensure => present, + owner => "root", + group => "root", + mode => 0644, + source => "puppet://$server/files/apache/htdocs/index.html", + } + + # Missing page + file { "${apache_www_folder}/missing.html": + ensure => present, + owner => "root", + group => "root", + mode => 0644, + source => "puppet://$server/files/apache/htdocs/missing.html", + } + + # Default vhost: can just be applied on the defining host + apache::site { "$hostname": + server_alias => "$domain", + docroot => "${apache_www_folder}", + } + + # We have to use 'zzz-erro' so it will be the last matched vhost + apache::site { "erro": + source => true, + docroot => '/var/www/erro', + filename => 'zzz-erro', + } + + # Index page for erro + file { "/var/www/erro/index.html": + ensure => "${apache_www_folder}/index.html", + owner => "root", + group => "root", + force => true, + require => File["/var/www/erro"], + } + + # TODO: this is temporary: remove when all nodes have applied it + file { "/var/www/erro/missing.html": + ensure => absent, + require => File["/var/www/erro"], + } +} + +class websites::hosting inherits websites::setup { + # Include the needed classes for website hosting + include drupal + include gitweb + include trac + include websvn + include moin + include ikiwiki + include pmwiki +} + +class websites::admin inherits websites::setup { + # Include the needed classes for admin interfaces + include trac + include gitweb +} |