aboutsummaryrefslogtreecommitdiffstats
path: root/modules/apache/manifests/vhost
diff options
context:
space:
mode:
Diffstat (limited to 'modules/apache/manifests/vhost')
-rw-r--r--modules/apache/manifests/vhost/base.pp50
-rw-r--r--modules/apache/manifests/vhost/catalyst_app.pp24
-rw-r--r--modules/apache/manifests/vhost/django_app.pp22
-rw-r--r--modules/apache/manifests/vhost/other_app.pp6
-rw-r--r--modules/apache/manifests/vhost/redirect_ssl.pp6
-rw-r--r--modules/apache/manifests/vhost/reverse_proxy.pp11
-rw-r--r--modules/apache/manifests/vhost/wsgi.pp10
7 files changed, 129 insertions, 0 deletions
diff --git a/modules/apache/manifests/vhost/base.pp b/modules/apache/manifests/vhost/base.pp
new file mode 100644
index 00000000..27a19998
--- /dev/null
+++ b/modules/apache/manifests/vhost/base.pp
@@ -0,0 +1,50 @@
+define apache::vhost::base ($content = '',
+ $location = '/dev/null',
+ $use_ssl = false,
+ $vhost = false,
+ $aliases = {},
+ $server_aliases = [],
+ $access_logfile = false,
+ $error_logfile = false,
+ $options = [],
+ $enable_public_html = false,
+ $enable_location = true) {
+ include apache::base
+ $httpd_logdir = '/var/log/httpd'
+ $filename = "${name}.conf"
+
+ if ! $vhost {
+ $real_vhost = $name
+ } else {
+ $real_vhost = $vhost
+ }
+
+ if ! $access_logfile {
+ $real_access_logfile = "${httpd_logdir}/${real_vhost}-access_log"
+ } else {
+ $real_access_logfile = $access_logfile
+ }
+ if ! $error_logfile {
+ $real_error_logfile = "${httpd_logdir}/${real_vhost}-error_log"
+ } else {
+ $real_error_logfile = $error_logfile
+ }
+
+ if $use_ssl {
+ include apache::mod::ssl
+ if $wildcard_sslcert != true {
+ openssl::self_signed_cert{ $real_vhost:
+ directory => '/etc/ssl/apache/',
+ before => Apache::Config["/etc/httpd/conf/vhosts.d/${filename}"],
+ }
+ }
+ }
+
+ if $enable_public_html {
+ include apache::mod::public_html
+ }
+
+ apache::config { "/etc/httpd/conf/vhosts.d/${filename}":
+ content => template('apache/vhost_base.conf')
+ }
+}
diff --git a/modules/apache/manifests/vhost/catalyst_app.pp b/modules/apache/manifests/vhost/catalyst_app.pp
new file mode 100644
index 00000000..1ce40747
--- /dev/null
+++ b/modules/apache/manifests/vhost/catalyst_app.pp
@@ -0,0 +1,24 @@
+define apache::vhost::catalyst_app( $script,
+ $location = '',
+ $process = 4,
+ $use_ssl = false,
+ $aliases = {},
+ $vhost = false) {
+ include apache::mod::fcgid
+ if ($location) {
+ $aliases['/static'] = "${location}/root/static"
+ }
+
+ $script_aliases = {
+ '/' => "$script/",
+ }
+
+ apache::vhost::base { $name:
+ vhost => $vhost,
+ use_ssl => $use_ssl,
+ content => template('apache/vhost_fcgid.conf'),
+ aliases => $aliases,
+ }
+}
+
+
diff --git a/modules/apache/manifests/vhost/django_app.pp b/modules/apache/manifests/vhost/django_app.pp
new file mode 100644
index 00000000..91974acd
--- /dev/null
+++ b/modules/apache/manifests/vhost/django_app.pp
@@ -0,0 +1,22 @@
+define apache::vhost::django_app ($module = false,
+ $module_path = false,
+ $use_ssl = false,
+ $aliases= {}) {
+ include apache::mod::wsgi
+ apache::vhost::base { $name:
+ use_ssl => $use_ssl,
+ content => template('apache/vhost_django_app.conf'),
+ aliases => $aliases,
+ }
+
+ # module is a ruby reserved keyword, cannot be used in templates
+ $django_module = $module
+ file { "${name}.wsgi":
+ path => "/usr/local/lib/wsgi/${name}.wsgi",
+ mode => '0755',
+ notify => Service['apache'],
+ content => template('apache/django.wsgi'),
+ }
+}
+
+
diff --git a/modules/apache/manifests/vhost/other_app.pp b/modules/apache/manifests/vhost/other_app.pp
new file mode 100644
index 00000000..f5a71574
--- /dev/null
+++ b/modules/apache/manifests/vhost/other_app.pp
@@ -0,0 +1,6 @@
+define apache::vhost::other_app($vhost_file) {
+ include apache::base
+ apache::config { "/etc/httpd/conf/vhosts.d/${name}.conf":
+ content => template($vhost_file),
+ }
+}
diff --git a/modules/apache/manifests/vhost/redirect_ssl.pp b/modules/apache/manifests/vhost/redirect_ssl.pp
new file mode 100644
index 00000000..22a4d4f6
--- /dev/null
+++ b/modules/apache/manifests/vhost/redirect_ssl.pp
@@ -0,0 +1,6 @@
+define apache::vhost::redirect_ssl() {
+ apache::vhost::base { "redirect_ssl_${name}":
+ vhost => $name,
+ content => template('apache/vhost_ssl_redirect.conf')
+ }
+}
diff --git a/modules/apache/manifests/vhost/reverse_proxy.pp b/modules/apache/manifests/vhost/reverse_proxy.pp
new file mode 100644
index 00000000..a32aaff0
--- /dev/null
+++ b/modules/apache/manifests/vhost/reverse_proxy.pp
@@ -0,0 +1,11 @@
+define apache::vhost::reverse_proxy($url,
+ $vhost = false,
+ $use_ssl = false,
+ $content = '') {
+ include apache::mod::proxy
+ apache::vhost::base { $name:
+ use_ssl => $use_ssl,
+ vhost => $vhost,
+ content => template('apache/vhost_reverse_proxy.conf')
+ }
+}
diff --git a/modules/apache/manifests/vhost/wsgi.pp b/modules/apache/manifests/vhost/wsgi.pp
new file mode 100644
index 00000000..291c6d71
--- /dev/null
+++ b/modules/apache/manifests/vhost/wsgi.pp
@@ -0,0 +1,10 @@
+define apache::vhost::wsgi ($wsgi_path,
+ $aliases = {},
+ $server_aliases = []) {
+ include apache::mod::wsgi
+ apache::vhost::base { $name:
+ aliases => $aliases,
+ server_aliases => $server_aliases,
+ content => template('apache/vhost_wsgi.conf'),
+ }
+}