/[adm]/puppet/modules/apache/manifests/init.pp
ViewVC logotype

Contents of /puppet/modules/apache/manifests/init.pp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1021 - (show annotations) (download)
Fri Feb 11 18:09:46 2011 UTC (13 years, 2 months ago) by dams
File size: 6378 byte(s)
add a class for mod_deflate
1 class apache {
2
3 class base {
4 package { "apache-mpm-prefork":
5 alias => apache,
6 ensure => installed
7 }
8
9 service { httpd:
10 alias => apache,
11 ensure => running,
12 subscribe => [ Package['apache-mpm-prefork'] ],
13 }
14
15 file { "customization.conf":
16 ensure => present,
17 path => "/etc/httpd/conf.d/customization.conf",
18 content => template("apache/customization.conf"),
19 require => Package["apache"],
20 notify => Service["apache"],
21 owner => root,
22 group => root,
23 mode => 644,
24 }
25
26 file { "00_default_vhosts.conf":
27 path => "/etc/httpd/conf/vhosts.d/00_default_vhosts.conf",
28 ensure => "present",
29 owner => root,
30 group => root,
31 mode => 644,
32 notify => Service['apache'],
33 content => template("apache/00_default_vhosts.conf")
34 }
35 }
36
37 class mod_php inherits base {
38 package { "apache-mod_php":
39 ensure => installed
40 }
41 }
42
43 class mod_perl inherits base {
44 package { "apache-mod_perl":
45 ensure => installed
46 }
47 }
48
49 class mod_fcgid inherits base {
50 package { "apache-mod_fcgid":
51 ensure => installed
52 }
53 }
54
55 class mod_fastcgi inherits base {
56 package { "apache-mod_fastcgi":
57 ensure => installed
58 }
59 }
60
61 class mod_ssl inherits base {
62 file { "/etc/ssl/apache/":
63 ensure => directory
64 }
65
66 package { "apache-mod_ssl":
67 ensure => installed
68 }
69 }
70
71 class mod_wsgi inherits base {
72 package { "apache-mod_wsgi":
73 ensure => installed
74 }
75
76 file { "/usr/local/lib/wsgi":
77 ensure => directory,
78 owner => root,
79 group => root,
80 mode => 644,
81 }
82
83 file { "/etc/httpd/conf.d/mod_wsgi.conf":
84 ensure => present,
85 owner => root,
86 group => root,
87 mode => 644,
88 content => template('apache/mod_wsgi.conf')
89 }
90
91 }
92
93 class mod_proxy inherits base {
94 package { "apache-mod_proxy":
95 ensure => installed
96 }
97 }
98
99 class mod_public_html inherits base {
100 package { "apache-mod_public_html":
101 ensure => installed
102 }
103 }
104
105 class mod_deflate inherits base {
106 package { "apache-mod_deflate":
107 ensure => installed
108 }
109 }
110
111 define vhost_base($content = '',
112 $location = '/dev/null',
113 $use_ssl = false,
114 $vhost = false,
115 $aliases = {},
116 $server_aliases = [],
117 $enable_public_html = false) {
118 if ! $vhost {
119 $real_vhost = $name
120 } else {
121 $real_vhost = $vhost
122 }
123
124 if $use_ssl {
125 include apache::mod_ssl
126 openssl::self_signed_cert{ "$name":
127 directory => "/etc/ssl/apache/",
128 before => File["$filename"],
129 }
130 }
131
132 if $enable_public_html {
133 include apache::mod_public_html
134 }
135
136 $filename = "$name.conf"
137 file { "$filename":
138 path => "/etc/httpd/conf/vhosts.d/$filename",
139 ensure => "present",
140 owner => root,
141 group => root,
142 mode => 644,
143 notify => Service['apache'],
144 content => template("apache/vhost_base.conf")
145 }
146 }
147
148 define vhost_redirect_ssl() {
149 vhost_base { "redirect_ssl_$name":
150 vhost => $name,
151 content => template("apache/vhost_ssl_redirect.conf")
152 }
153 }
154
155 define vhost_catalyst_app($script, $location = '', $process = 4, $use_ssl = false) {
156
157 include apache::mod_fastcgi
158 vhost_base { $name:
159 use_ssl => $use_ssl,
160 content => template("apache/vhost_catalyst_app.conf")
161 }
162 }
163
164 define vhost_django_app($module = false, $module_path = false, $use_ssl = false) {
165 include apache::mod_wsgi
166 vhost_base { $name:
167 use_ssl => $use_ssl,
168 content => template("apache/vhost_django_app.conf")
169 }
170
171 # module is a ruby reserved keyword, cannot be used in templates
172 $django_module = $module
173 file { "$name.wsgi":
174 path => "/usr/local/lib/wsgi/$name.wsgi",
175 ensure => "present",
176 owner => root,
177 group => root,
178 mode => 755,
179 notify => Service['apache'],
180 content => template("apache/django.wsgi")
181 }
182 }
183
184 define vhost_wsgi($wsgi_path, $aliases = {}, $server_aliases = []) {
185 include apache::mod_wsgi
186 vhost_base { $name:
187 aliases => $aliases,
188 server_aliases => $server_aliases,
189 content => template("apache/vhost_wsgi.conf")
190 }
191 }
192
193 define vhost_other_app($vhost_file) {
194 include apache::base
195 file { "$name.conf":
196 path => "/etc/httpd/conf/vhosts.d/$name.conf",
197 ensure => "present",
198 owner => root,
199 group => root,
200 mode => 644,
201 notify => Service['apache'],
202 content => template($vhost_file)
203 }
204 }
205
206 define vhost_simple($location) {
207 include apache::base
208 vhost_base { $name:
209 location => $location,
210 }
211 }
212
213 define vhost_redirect($url) {
214 include apache::base
215 vhost_base { $name:
216 content => template("apache/vhost_redirect.conf"),
217 }
218 }
219
220 define vhost_reverse_proxy($url) {
221 include apache::mod_proxy
222 vhost_base { $name:
223 content => template("apache/vhost_reverse_proxy.conf")
224 }
225 }
226
227 define webapp_other($webapp_file) {
228 include apache::base
229 $webappname = $name
230 file { "webapp_$name.conf":
231 path => "/etc/httpd/conf/webapps.d/$webappname.conf",
232 ensure => "present",
233 owner => root,
234 group => root,
235 mode => 644,
236 notify => Service['apache'],
237 content => template($webapp_file)
238 }
239 }
240 }

  ViewVC Help
Powered by ViewVC 1.1.30