# TODO: log level, log files, etc
# TODO: better variable names, enable value overwriting
-$apache_sites_folder = '/var/users/home';
-$apache_www_folder = '/var/www/sarava';
class apache {
notify => Service["apache"],
}
+ # prepare variables to use in templates
+ case $apache_sites_folder {
+ '': { $apache_sites_folder = '/var/www/sites' }
+ }
+
+ case $apache_www_folder {
+ '': { $apache_www_folder= '/var/www' }
+ }
+
# TODO: ensure folders exist with right modes and ownership
- define website($ensure = present, $alias = [], $use = []) {
+ define website($ensure = present, $docroot = false, $redirect = false,
+ $protocol = 'http', $alias = false, $use = false) {
file { "/etc/apache2/sites-available/$title":
ensure => $ensure,
content => template('apache/website.erb'),
-# begin vhost for <%= $title %>
+# begin vhost for <%= title %>
<VirtualHost *:80>
- # TODO
- ServerName <%= $title %>.<%= $domain %>
+ ServerName <%= title %>.<%= domain %>
+<% if alias != false %>
+ ServerAlias <%= alias %>
+<% end %>
+ DocumentRoot <%= docroot %>
+<% if redirect != false %>
+ RedirectMatch ^/$ <%= protocol %>://<%= title %>.<%= domain %>/<%= redirect %>
+<% end %>
+
+<% if use != false %>
+ <% use.each do |instance| -%>
+ Use <%= instance %>
+ <% end -%>
+<% end -%>
</VirtualHost>
-# end vhost for <%= $title %>
+# end vhost for <%= title %>