Revision 4c18f820
Added by Ivan Necas over 10 years ago
modules/apache/manifests/vhost.pp | ||
---|---|---|
# of 'warn' is used.
|
||
# - The $access_log specifies if *_access.log directives should be configured.
|
||
# - The $ensure specifies if vhost file is present or absent.
|
||
# - The $headers is a list of Header statement strings as per http://httpd.apache.org/docs/2.2/mod/mod_headers.html#header
|
||
# - The $request_headers is a list of RequestHeader statement strings as per http://httpd.apache.org/docs/2.2/mod/mod_headers.html#requestheader
|
||
# - $aliases is a list of Alias hashes for mod_alias as per http://httpd.apache.org/docs/current/mod/mod_alias.html
|
||
# each statement is a hash in the form of { alias => '/alias', path => '/real/path/to/directory' }
|
||
... | ... | |
$add_listen = true,
|
||
$docroot_owner = 'root',
|
||
$docroot_group = $apache::params::root_group,
|
||
$serveradmin = false,
|
||
$serveradmin = undef,
|
||
$ssl = false,
|
||
$ssl_cert = $apache::default_ssl_cert,
|
||
$ssl_key = $apache::default_ssl_key,
|
||
... | ... | |
$servername = $name,
|
||
$serveraliases = [],
|
||
$options = ['Indexes','FollowSymLinks','MultiViews'],
|
||
$index_options = [],
|
||
$index_order_default = [],
|
||
$override = ['None'],
|
||
$directoryindex = '',
|
||
$vhost_name = '*',
|
||
... | ... | |
$redirect_source = '/',
|
||
$redirect_dest = undef,
|
||
$redirect_status = undef,
|
||
$redirectmatch_status = undef,
|
||
$redirectmatch_regexp = undef,
|
||
$rack_base_uris = undef,
|
||
$headers = undef,
|
||
$request_headers = undef,
|
||
$rewrites = undef,
|
||
$rewrite_base = undef,
|
||
$rewrite_rule = undef,
|
||
$rewrite_cond = undef,
|
||
$setenv = [],
|
||
$setenvif = [],
|
||
$block = [],
|
||
$ensure = 'present',
|
||
$wsgi_application_group = undef,
|
||
$wsgi_daemon_process = undef,
|
||
$wsgi_daemon_process_options = undef,
|
||
$wsgi_import_script = undef,
|
||
$wsgi_import_script_options = undef,
|
||
$wsgi_process_group = undef,
|
||
$wsgi_script_aliases = undef,
|
||
$custom_fragment = undef,
|
||
... | ... | |
$fastcgi_socket = undef,
|
||
$fastcgi_dir = undef,
|
||
$additional_includes = [],
|
||
$apache_version = $apache::apache_version
|
||
) {
|
||
# The base class must be included first because it is used by parameter defaults
|
||
if ! defined(Class['apache']) {
|
||
fail('You must include the apache base class before using any apache defined resources')
|
||
}
|
||
|
||
$apache_name = $apache::params::apache_name
|
||
|
||
validate_re($ensure, '^(present|absent)$',
|
||
... | ... | |
}
|
||
|
||
# Deprecated backwards-compatibility
|
||
if $rewrite_base {
|
||
warning('Apache::Vhost: parameter rewrite_base is deprecated in favor of rewrites')
|
||
}
|
||
if $rewrite_rule {
|
||
warning('Apache::Vhost: parameter rewrite_rule is deprecated in favor of rewrites')
|
||
}
|
||
... | ... | |
if $wsgi_daemon_process_options {
|
||
validate_hash($wsgi_daemon_process_options)
|
||
}
|
||
if $wsgi_import_script_options {
|
||
validate_hash($wsgi_import_script_options)
|
||
}
|
||
if $itk {
|
||
validate_hash($itk)
|
||
}
|
||
... | ... | |
if $access_log_file {
|
||
$access_log_destination = "${logroot}/${access_log_file}"
|
||
} elsif $access_log_pipe {
|
||
$access_log_destination = "\"${access_log_pipe}\""
|
||
$access_log_destination = $access_log_pipe
|
||
} elsif $access_log_syslog {
|
||
$access_log_destination = $access_log_syslog
|
||
} else {
|
||
if $ssl {
|
||
$access_log_destination = "${logroot}/${servername}_access_ssl.log"
|
||
$access_log_destination = "${logroot}/${name}_access_ssl.log"
|
||
} else {
|
||
$access_log_destination = "${logroot}/${servername}_access.log"
|
||
$access_log_destination = "${logroot}/${name}_access.log"
|
||
}
|
||
}
|
||
|
||
if $error_log_file {
|
||
$error_log_destination = "${logroot}/${error_log_file}"
|
||
} elsif $error_log_pipe {
|
||
$error_log_destination = "\"${error_log_pipe}\""
|
||
$error_log_destination = $error_log_pipe
|
||
} elsif $error_log_syslog {
|
||
$error_log_destination = $error_log_syslog
|
||
} else {
|
||
if $ssl {
|
||
$error_log_destination = "${logroot}/${servername}_error_ssl.log"
|
||
$error_log_destination = "${logroot}/${name}_error_ssl.log"
|
||
} else {
|
||
$error_log_destination = "${logroot}/${servername}_error.log"
|
||
$error_log_destination = "${logroot}/${name}_error.log"
|
||
}
|
||
}
|
||
|
||
... | ... | |
$priority_real = '25'
|
||
}
|
||
|
||
# Check if mod_headers is required to process $request_headers
|
||
if $request_headers {
|
||
# Check if mod_headers is required to process $headers/$request_headers
|
||
if $headers or $request_headers {
|
||
if ! defined(Class['apache::mod::headers']) {
|
||
include apache::mod::headers
|
||
}
|
||
... | ... | |
|
||
## Create a default directory list if none defined
|
||
if $directories {
|
||
if !is_hash($directories) and !(is_array($directories) and is_hash($directories[0])) {
|
||
fail("Apache::Vhost[${name}]: 'directories' must be either a Hash or an Array of Hashes")
|
||
}
|
||
$_directories = $directories
|
||
} else {
|
||
$_directories = [ {
|
||
$_directory = {
|
||
provider => 'directory',
|
||
path => $docroot,
|
||
options => $options,
|
||
allow_override => $override,
|
||
directoryindex => $directoryindex,
|
||
order => 'allow,deny',
|
||
allow => 'from all',
|
||
} ]
|
||
}
|
||
|
||
if $apache_version == 2.4 {
|
||
$_directory_version = {
|
||
require => 'all granted',
|
||
}
|
||
} else {
|
||
$_directory_version = {
|
||
order => 'allow,deny',
|
||
allow => 'from all',
|
||
}
|
||
}
|
||
|
||
$_directories = [ merge($_directory, $_directory_version) ]
|
||
}
|
||
|
||
# Template uses:
|
||
... | ... | |
# - $redirect_source
|
||
# - $redirect_dest
|
||
# - $redirect_status
|
||
# header fragment
|
||
# - $headers
|
||
# requestheader fragment:
|
||
# - $request_headers
|
||
# rewrite fragment:
|
||
... | ... | |
# - $suphp_engine
|
||
# - $suphp_configpath
|
||
# wsgi fragment:
|
||
# - $wsgi_application_group
|
||
# - $wsgi_daemon_process
|
||
# - $wsgi_import_script
|
||
# - $wsgi_process_group
|
||
# - $wsgi_script_aliases
|
||
file { "${priority_real}-${filename}.conf":
|
Also available in: Unified diff
Update to librarian