Spencer Krum dab0f45bea Rename apache2 to httpd globally
This renames the classes and defined types from apache to httpd.
With the 'httpd' module available, we can migrate usage of 'apache'
to 'httpd.' Eventually this will free the 'apache' namespace.

A native ruby type and provider is contained in this class. It is
not namespaced to the class name so it has been renamed from a2mod
to httpd_mod.

Change-Id: I056eb28a13e7ccc95f1496019bedc332c17dd458
2015-02-05 05:49:30 -08:00

91 lines
2.3 KiB
Puppet

# Definition: httpd::vhost
#
# This class installs Apache Virtual Hosts
#
# Parameters:
# - The $port to configure the host on
# - The $docroot provides the DocumentationRoot variable
# - The $ssl option is set true or false to enable SSL for this Virtual Host
# - The $configure_firewall option is set to true or false to specify if
# a firewall should be configured.
# - The $template option specifies whether to use the default template or
# override
# - The $priority of the site
# - The $serveraliases of the site
# - The $options for the given vhost
# - The $vhost_name for name based virtualhosting, defaulting to *
#
# Actions:
# - Install Apache Virtual Hosts
#
# Requires:
# - The httpd class
#
# Sample Usage:
# httpd::vhost { 'site.name.fqdn':
# priority => '20',
# port => '80',
# docroot => '/path/to/docroot',
# }
#
define httpd::vhost(
$port,
$docroot,
$configure_firewall = true,
$ssl = $httpd::params::ssl,
$template = $httpd::params::template,
$priority = $httpd::params::priority,
$servername = $httpd::params::servername,
$serveraliases = $httpd::params::serveraliases,
$auth = $httpd::params::auth,
$redirect_ssl = $httpd::params::redirect_ssl,
$options = $httpd::params::options,
$apache_name = $httpd::params::apache_name,
$vhost_name = $httpd::params::vhost_name
) {
include httpd
if $servername == '' {
$srvname = $name
} else {
$srvname = $servername
}
if $ssl == true {
include httpd::ssl
}
# Since the template will use auth, redirect to https requires mod_rewrite
if $redirect_ssl == true {
case $::operatingsystem {
'debian','ubuntu': {
Httpd_mod <| title == 'rewrite' |>
}
default: { }
}
}
file { "${priority}-${name}.conf":
path => "${httpd::params::vdir}/${priority}-${name}.conf",
content => template($template),
owner => 'root',
group => 'root',
mode => '0755',
require => Package['httpd'],
notify => Service['httpd'],
}
if $configure_firewall {
if ! defined(Firewall["0100-INPUT ACCEPT ${port}"]) {
@firewall {
"0100-INPUT ACCEPT ${port}":
action => 'accept',
dport => '$port',
proto => 'tcp'
}
}
}
}