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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1599 - (hide annotations) (download)
Sun May 8 19:12:41 2011 UTC (12 years, 11 months ago) by pterjan
File size: 7844 byte(s)
Allow setting options in vhost base template
1 misc 80 class apache {
2    
3     class base {
4 boklm 1501 $php_date_timezone = "UTC"
5 boklm 1500
6 misc 80 package { "apache-mpm-prefork":
7 misc 117 alias => apache,
8 misc 80 ensure => installed
9     }
10    
11 misc 1065 package { "apache-conf":
12     ensure => installed,
13     }
14    
15 misc 96 service { httpd:
16     alias => apache,
17 misc 80 ensure => running,
18     subscribe => [ Package['apache-mpm-prefork'] ],
19     }
20 misc 117
21     file { "customization.conf":
22     ensure => present,
23 misc 126 path => "/etc/httpd/conf.d/customization.conf",
24 misc 117 content => template("apache/customization.conf"),
25 misc 1065 require => Package["apache-conf"],
26 misc 117 notify => Service["apache"],
27     owner => root,
28     group => root,
29     mode => 644,
30     }
31 boklm 207
32     file { "00_default_vhosts.conf":
33     path => "/etc/httpd/conf/vhosts.d/00_default_vhosts.conf",
34     ensure => "present",
35     owner => root,
36     group => root,
37     mode => 644,
38     notify => Service['apache'],
39 misc 1065 require => Package["apache-conf"],
40 boklm 207 content => template("apache/00_default_vhosts.conf")
41     }
42 boklm 1241
43 misc 80 }
44    
45     class mod_php inherits base {
46     package { "apache-mod_php":
47     ensure => installed
48     }
49 misc 1185
50     file { "/etc/httpd/conf.d/mod_php.conf":
51     ensure => present,
52     owner => root,
53     group => root,
54     mode => 644,
55     require => Package['apache-conf'],
56 misc 1188 content => template('apache/mod_php.conf'),
57 misc 1186 notify => Service['apache'],
58 misc 1185 }
59 misc 80 }
60    
61     class mod_perl inherits base {
62     package { "apache-mod_perl":
63     ensure => installed
64     }
65     }
66    
67 misc 84 class mod_fcgid inherits base {
68     package { "apache-mod_fcgid":
69     ensure => installed
70     }
71     }
72    
73 misc 124 class mod_fastcgi inherits base {
74     package { "apache-mod_fastcgi":
75     ensure => installed
76     }
77     }
78 misc 84
79 misc 192 class mod_ssl inherits base {
80 misc 487 file { "/etc/ssl/apache/":
81     ensure => directory
82     }
83    
84 misc 192 package { "apache-mod_ssl":
85     ensure => installed
86     }
87 boklm 1245
88     file { "01_default_ssl_vhost.conf":
89     path => '/etc/httpd/conf/vhosts.d/01_default_ssl_vhost.conf',
90     ensure => "present",
91     owner => root,
92     group => root,
93     mode => 644,
94     notify => Service['apache'],
95     require => Package["apache-conf"],
96     content => template("apache/01_default_ssl_vhost.conf")
97     }
98 misc 192 }
99    
100 misc 80 class mod_wsgi inherits base {
101     package { "apache-mod_wsgi":
102     ensure => installed
103     }
104 misc 182
105 misc 201 file { "/usr/local/lib/wsgi":
106 misc 182 ensure => directory,
107     owner => root,
108     group => root,
109     mode => 644,
110     }
111 misc 908
112     file { "/etc/httpd/conf.d/mod_wsgi.conf":
113     ensure => present,
114     owner => root,
115     group => root,
116     mode => 644,
117 misc 1065 require => Package['apache-conf'],
118 misc 1188 content => template('apache/mod_wsgi.conf'),
119 misc 1186 notify => Service['apache'],
120 misc 908 }
121    
122 misc 80 }
123 misc 778
124     class mod_proxy inherits base {
125     package { "apache-mod_proxy":
126     ensure => installed
127     }
128     }
129 misc 167
130 misc 929 class mod_public_html inherits base {
131     package { "apache-mod_public_html":
132     ensure => installed
133     }
134     }
135    
136 dams 1021 class mod_deflate inherits base {
137     package { "apache-mod_deflate":
138     ensure => installed
139     }
140     }
141    
142 misc 928 define vhost_base($content = '',
143     $location = '/dev/null',
144     $use_ssl = false,
145 misc 930 $vhost = false,
146 misc 932 $aliases = {},
147 misc 935 $server_aliases = [],
148 pterjan 1599 $options = [],
149 misc 930 $enable_public_html = false) {
150 boklm 1464 include apache::base
151 misc 928 if ! $vhost {
152     $real_vhost = $name
153     } else {
154     $real_vhost = $vhost
155 misc 176 }
156 misc 167
157 misc 489 if $use_ssl {
158     include apache::mod_ssl
159 boklm 1248 if $wildcard_sslcert != 'true' {
160 boklm 1237 openssl::self_signed_cert{ "$real_vhost":
161     directory => "/etc/ssl/apache/",
162     before => File["$filename"],
163     }
164     }
165 misc 489 }
166    
167 misc 930 if $enable_public_html {
168     include apache::mod_public_html
169     }
170    
171 misc 928 $filename = "$name.conf"
172     file { "$filename":
173     path => "/etc/httpd/conf/vhosts.d/$filename",
174 misc 167 ensure => "present",
175     owner => root,
176     group => root,
177     mode => 644,
178     notify => Service['apache'],
179 misc 1065 require => Package['apache-conf'],
180 misc 928 content => template("apache/vhost_base.conf")
181     }
182     }
183    
184     define vhost_redirect_ssl() {
185     vhost_base { "redirect_ssl_$name":
186     vhost => $name,
187     content => template("apache/vhost_ssl_redirect.conf")
188     }
189     }
190    
191     define vhost_catalyst_app($script, $location = '', $process = 4, $use_ssl = false) {
192    
193     include apache::mod_fastcgi
194     vhost_base { $name:
195     use_ssl => $use_ssl,
196 misc 167 content => template("apache/vhost_catalyst_app.conf")
197     }
198     }
199 misc 182
200 misc 1193 define vhost_django_app($module = false, $module_path = false, $use_ssl = false, $aliases= {}) {
201 misc 182 include apache::mod_wsgi
202 misc 928 vhost_base { $name:
203 misc 934 use_ssl => $use_ssl,
204 misc 1193 content => template("apache/vhost_django_app.conf"),
205     aliases => $aliases,
206 misc 621 }
207 misc 928
208 misc 612 # module is a ruby reserved keyword, cannot be used in templates
209     $django_module = $module
210 misc 182 file { "$name.wsgi":
211 misc 201 path => "/usr/local/lib/wsgi/$name.wsgi",
212 misc 182 ensure => "present",
213     owner => root,
214     group => root,
215     mode => 755,
216     notify => Service['apache'],
217     content => template("apache/django.wsgi")
218     }
219     }
220 boklm 280
221 misc 935 define vhost_wsgi($wsgi_path, $aliases = {}, $server_aliases = []) {
222 misc 812 include apache::mod_wsgi
223 misc 933 vhost_base { $name:
224     aliases => $aliases,
225 misc 935 server_aliases => $server_aliases,
226 misc 812 content => template("apache/vhost_wsgi.conf")
227     }
228     }
229    
230 boklm 280 define vhost_other_app($vhost_file) {
231 misc 412 include apache::base
232 boklm 280 file { "$name.conf":
233     path => "/etc/httpd/conf/vhosts.d/$name.conf",
234     ensure => "present",
235     owner => root,
236     group => root,
237     mode => 644,
238     notify => Service['apache'],
239 misc 1065 require => Package['apache-conf'],
240 boklm 280 content => template($vhost_file)
241     }
242     }
243    
244 misc 742 define vhost_simple($location) {
245     include apache::base
246 misc 928 vhost_base { $name:
247     location => $location,
248     }
249 misc 742 }
250    
251 boklm 1319 define vhost_redirect($url,
252     $vhost = false,
253     $use_ssl = false) {
254 misc 931 include apache::base
255     vhost_base { $name:
256 boklm 1319 use_ssl => $use_ssl,
257     vhost => $vhost,
258 misc 931 content => template("apache/vhost_redirect.conf"),
259     }
260     }
261    
262 misc 1103 define vhost_reverse_proxy($url,
263     $vhost = false,
264     $use_ssl = false) {
265 misc 778 include apache::mod_proxy
266 misc 928 vhost_base { $name:
267 misc 1102 use_ssl => $use_ssl,
268 misc 1103 vhost => $vhost,
269 misc 778 content => template("apache/vhost_reverse_proxy.conf")
270 misc 928 }
271 misc 778 }
272    
273 boklm 280 define webapp_other($webapp_file) {
274 misc 422 include apache::base
275 boklm 280 $webappname = $name
276     file { "webapp_$name.conf":
277     path => "/etc/httpd/conf/webapps.d/$webappname.conf",
278     ensure => "present",
279     owner => root,
280     group => root,
281     mode => 644,
282     notify => Service['apache'],
283 misc 1065 require => Package['apache-conf'],
284 boklm 280 content => template($webapp_file)
285     }
286     }
287 misc 80 }

  ViewVC Help
Powered by ViewVC 1.1.30