fairchild-poolparty 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.txt +1 -3
- data/VERSION.yml +1 -1
- data/bin/cloud-configure +0 -2
- data/bin/cloud-show +2 -2
- data/lib/poolparty/base_packages/haproxy.rb +9 -4
- data/lib/poolparty/base_packages/poolparty.rb +2 -0
- data/lib/poolparty/base_packages/tokyo_tyrant.rb +23 -0
- data/lib/poolparty/core/string.rb +14 -0
- data/lib/poolparty/dependency_resolver/chef_resolver.rb +12 -5
- data/lib/poolparty/helpers/binary.rb +5 -2
- data/lib/poolparty/modules/cloud_dsl.rb +10 -0
- data/lib/poolparty/modules/definable_resource.rb +1 -4
- data/lib/poolparty/monitors/neighborhood_monitor.rb +3 -4
- data/lib/poolparty/net/remoter/interactive.rb +1 -0
- data/lib/poolparty/plugins/chef.rb +5 -0
- data/lib/poolparty/plugins/deploydirectory.rb +13 -22
- data/lib/poolparty/plugins/git.rb +8 -6
- data/lib/poolparty/plugins/svn.rb +56 -39
- data/lib/poolparty/poolparty/cloud.rb +23 -4
- data/lib/poolparty/poolparty/plugin_model.rb +1 -1
- data/lib/poolparty/poolparty/pool.rb +1 -1
- data/lib/poolparty/poolparty/poolparty_base_class.rb +2 -0
- data/lib/poolparty/provision/dr_configure.rb +6 -5
- data/test/poolparty/modules/cloud_dsl_test.rb +33 -0
- data/test/test_helper.rb +1 -1
- data/vendor/chef/apache2/README.rdoc +59 -0
- data/vendor/chef/apache2/attributes/apache.rb +72 -0
- data/vendor/chef/apache2/definitions/apache_module.rb +36 -0
- data/vendor/chef/apache2/definitions/apache_site.rb +36 -0
- data/vendor/chef/apache2/definitions/web_app.rb +45 -0
- data/vendor/chef/apache2/files/default/apache2_module_conf_generate.pl +41 -0
- data/vendor/chef/apache2/recipes/default.rb +132 -0
- data/vendor/chef/apache2/recipes/mod_alias.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_auth_basic.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_auth_digest.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_authn_file.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_authnz_ldap.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_authz_default.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_authz_groupfile.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_authz_host.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_authz_user.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_autoindex.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_cgi.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_dav.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_dav_svn.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_deflate.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_dir.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_env.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_expires.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_fcgid.rb +35 -0
- data/vendor/chef/apache2/recipes/mod_headers.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_ldap.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_log_config.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_mime.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_negotiation.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_php5.rb +27 -0
- data/vendor/chef/apache2/recipes/mod_proxy.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_proxy_http.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_python.rb +22 -0
- data/vendor/chef/apache2/recipes/mod_rewrite.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_setenvif.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_ssl.rb +20 -0
- data/vendor/chef/apache2/recipes/mod_status.rb +20 -0
- data/vendor/chef/apache2/templates/default/a2dismod.erb +22 -0
- data/vendor/chef/apache2/templates/default/a2dissite.erb +29 -0
- data/vendor/chef/apache2/templates/default/a2enmod.erb +37 -0
- data/vendor/chef/apache2/templates/default/a2ensite.erb +38 -0
- data/vendor/chef/apache2/templates/default/apache2.conf.erb +630 -0
- data/vendor/chef/apache2/templates/default/default-site.erb +45 -0
- data/vendor/chef/apache2/templates/default/port_apache.erb +2 -0
- data/vendor/chef/apache2/templates/default/ports.conf.erb +6 -0
- data/vendor/chef/apache2/templates/default/web_app.conf.erb +43 -0
- data/vendor/gems/dslify/dslify.gemspec +2 -2
- data/vendor/gems/dslify/lib/dslify/version.rb +1 -1
- data/vendor/gems/suitcase/VERSION.yml +1 -1
- data/vendor/gems/suitcase/lib/suitcase/zipper.rb +23 -7
- data/vendor/gems/suitcase/suitcase.gemspec +5 -25
- data/vendor/gems/suitcase/test/suitcase_test.rb +13 -0
- metadata +61 -2
@@ -0,0 +1,33 @@
|
|
1
|
+
require "#{::File.dirname(__FILE__)}/../../test_helper"
|
2
|
+
|
3
|
+
class TestCloudDsl < Test::Unit::TestCase
|
4
|
+
context "enabling and disabling" do
|
5
|
+
setup do
|
6
|
+
reset!
|
7
|
+
@cloud = cloud :test_cloud_dsl
|
8
|
+
end
|
9
|
+
should "not have an option set for hyper_drive" do
|
10
|
+
@cloud.dsl_options[:hyper_drive].should == nil
|
11
|
+
end
|
12
|
+
|
13
|
+
should "set the option to :enabled when enabled" do
|
14
|
+
@cloud.enable :hyper_drive
|
15
|
+
@cloud.dsl_options[:hyper_drive].should == :enabled
|
16
|
+
end
|
17
|
+
|
18
|
+
should "set the option to disabled when disabled" do
|
19
|
+
@cloud.disable :hyper_drive
|
20
|
+
@cloud.dsl_options[:hyper_drive].should == :disabled
|
21
|
+
end
|
22
|
+
|
23
|
+
should "be able to check if they are enabled" do
|
24
|
+
@cloud.enable :hyper_drive
|
25
|
+
@cloud.enabled?(:hyper_drive).should == true
|
26
|
+
end
|
27
|
+
should "be able to check that they are disabled" do
|
28
|
+
@cloud.disable :hyper_drive
|
29
|
+
@cloud.enabled?(:hyper_drive).should == false
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -0,0 +1,59 @@
|
|
1
|
+
= DESCRIPTION:
|
2
|
+
|
3
|
+
Complete Debian/Ubuntu style Apache2 configuration.
|
4
|
+
|
5
|
+
= REQUIREMENTS:
|
6
|
+
|
7
|
+
Debian or Ubuntu preferred.
|
8
|
+
|
9
|
+
Red Hat/CentOS and Fedora can be used,
|
10
|
+
|
11
|
+
= ATTRIBUTES:
|
12
|
+
|
13
|
+
The file attributes/apache.rb contains the following attribute types:
|
14
|
+
|
15
|
+
* platform specific locations and settings.
|
16
|
+
* general settings
|
17
|
+
* prefork attributes
|
18
|
+
* worker attributes
|
19
|
+
|
20
|
+
General settings and prefork/worker attributes are tunable.
|
21
|
+
|
22
|
+
= USAGE:
|
23
|
+
|
24
|
+
Include the apache2 recipe to install Apache2 and get 'sane' default settings. Configuration is modularized through Apache vhost sites a la Debian style configuration.
|
25
|
+
|
26
|
+
== Defines:
|
27
|
+
|
28
|
+
* apache_module: sets up an Apache module.
|
29
|
+
* apache_site: sets up a vhost site. The conf file must be available.
|
30
|
+
* web_app: copies the template for a web app and enables it as a site via apache_site.
|
31
|
+
|
32
|
+
== Web Apps:
|
33
|
+
|
34
|
+
Various applications that can be set up with Apache as the front end, such as PHP, Django, Rails and others can use the web_app define to set up the template and the Apache site. The define is kind of dumb, so the template needs have the application implementation settings, since we don't know what your app is or what is needed from Apache.
|
35
|
+
|
36
|
+
We only prototype one parameter for the web_app define, "template". This is used to specify the name of the template to use in the current cookbook. When you use web_app, you can set up any parameters you want to use in your template. They will get passed to the template through the params hash. For example, the sample web_app.conf.erb template in this cookbook makes use of these.
|
37
|
+
|
38
|
+
* docroot
|
39
|
+
* server_name
|
40
|
+
* server_aliases
|
41
|
+
|
42
|
+
These are available as @params[:docroot], @params[:server_name], @params[:server_aliases] within the template.
|
43
|
+
|
44
|
+
= LICENSE & AUTHOR:
|
45
|
+
|
46
|
+
Author:: Joshua Timberman (<joshua@opscode.com>)
|
47
|
+
Copyright:: 2009, Opscode, Inc
|
48
|
+
|
49
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
50
|
+
you may not use this file except in compliance with the License.
|
51
|
+
You may obtain a copy of the License at
|
52
|
+
|
53
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
54
|
+
|
55
|
+
Unless required by applicable law or agreed to in writing, software
|
56
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
57
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
58
|
+
See the License for the specific language governing permissions and
|
59
|
+
limitations under the License.
|
@@ -0,0 +1,72 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Attributes:: apache
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache Mash.new unless attribute?("apache")
|
21
|
+
|
22
|
+
# Where the various parts of apache are
|
23
|
+
case platform
|
24
|
+
when "redhat","centos","fedora","suse"
|
25
|
+
apache[:dir] = "/etc/httpd"
|
26
|
+
apache[:log_dir] = "/var/log/httpd"
|
27
|
+
apache[:user] = "apache"
|
28
|
+
apache[:binary] = "/usr/sbin/httpd"
|
29
|
+
apache[:icondir] = "/var/www/icons"
|
30
|
+
when "debian","ubuntu"
|
31
|
+
apache[:dir] = "/etc/apache2"
|
32
|
+
apache[:log_dir] = "/var/log/apache2"
|
33
|
+
apache[:user] = "www-data"
|
34
|
+
apache[:binary] = "/usr/sbin/apache2"
|
35
|
+
apache[:icondir] = "/usr/share/apache2/icons"
|
36
|
+
else
|
37
|
+
apache[:dir] = "/etc/apache2"
|
38
|
+
apache[:log_dir] = "/var/log/apache2"
|
39
|
+
apache[:user] = "www-data"
|
40
|
+
apache[:binary] = "/usr/sbin/apache2"
|
41
|
+
apache[:icondir] = "/usr/share/apache2/icons"
|
42
|
+
end
|
43
|
+
|
44
|
+
###
|
45
|
+
# These settings need the unless, since we want them to be tunable,
|
46
|
+
# and we don't want to override the tunings.
|
47
|
+
###
|
48
|
+
|
49
|
+
# General settings
|
50
|
+
apache[:listen_ports] = [ "80" ] unless apache.has_key?(:listen_ports)
|
51
|
+
apache[:contact] = "ops@example.com" unless apache.has_key?(:contact)
|
52
|
+
apache[:timeout] = 300 unless apache.has_key?(:timeout)
|
53
|
+
apache[:keepalive] = "On" unless apache.has_key?(:keepalive)
|
54
|
+
apache[:keepaliverequests] = 100 unless apache.has_key?(:keepaliverequests)
|
55
|
+
apache[:keepalivetimeout] = 5 unless apache.has_key?(:keepalivetimeout)
|
56
|
+
|
57
|
+
# Prefork Attributes
|
58
|
+
apache[:prefork] = Mash.new unless apache.has_key?(:prefork)
|
59
|
+
apache[:prefork][:startservers] = 16 unless apache[:prefork].has_key?(:prefork_startservers)
|
60
|
+
apache[:prefork][:minspareservers] = 16 unless apache[:prefork].has_key?(:prefork_minspareservers)
|
61
|
+
apache[:prefork][:maxspareservers] = 32 unless apache[:prefork].has_key?(:prefork_maxspareservers)
|
62
|
+
apache[:prefork][:maxclients] = 400 unless apache[:prefork].has_key?(:prefork_maxclients)
|
63
|
+
apache[:prefork][:maxrequestsperchild] = 10000 unless apache[:prefork].has_key?(:prefork_maxrequestsperchild)
|
64
|
+
|
65
|
+
# Worker Attributes
|
66
|
+
apache[:worker] = Mash.new unless apache.has_key?(:worker)
|
67
|
+
apache[:worker][:startservers] = 4 unless apache[:worker].has_key?(:startservers)
|
68
|
+
apache[:worker][:maxclients] = 1024 unless apache[:worker].has_key?(:maxclients)
|
69
|
+
apache[:worker][:minsparethreads] = 64 unless apache[:worker].has_key?(:minsparethreads)
|
70
|
+
apache[:worker][:maxsparethreads] = 192 unless apache[:worker].has_key?(:maxsparethreads)
|
71
|
+
apache[:worker][:threadsperchild] = 64 unless apache[:worker].has_key?(:threadsperchild)
|
72
|
+
apache[:worker][:maxrequestsperchild] = 0 unless apache[:worker].has_key?(:maxrequestsperchild)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Definition:: apache_module
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
define :apache_module, :enable => true do
|
21
|
+
include_recipe "apache2"
|
22
|
+
|
23
|
+
if params[:enable]
|
24
|
+
execute "a2enmod #{params[:name]}" do
|
25
|
+
command "/usr/sbin/a2enmod #{params[:name]}"
|
26
|
+
notifies :restart, resources(:service => "apache2")
|
27
|
+
not_if do File.symlink?("#{node[:apache][:dir]}/mods-enabled/#{params[:name]}.load") end
|
28
|
+
end
|
29
|
+
else
|
30
|
+
execute "a2dismod #{params[:name]}" do
|
31
|
+
command "/usr/sbin/a2dismod #{params[:name]}"
|
32
|
+
notifies :restart, resources(:service => "apache2")
|
33
|
+
only_if do File.symlink?("#{node[:apache][:dir]}/mods-enabled/#{params[:name]}.load") end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Definition:: apache_site
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
define :apache_site, :enable => true do
|
21
|
+
include_recipe "apache2"
|
22
|
+
|
23
|
+
if params[:enable]
|
24
|
+
execute "a2ensite #{params[:name]}" do
|
25
|
+
command "/usr/sbin/a2ensite #{params[:name]}"
|
26
|
+
notifies :restart, resources(:service => "apache2")
|
27
|
+
not_if do File.symlink?("#{node[:apache][:dir]}/sites-enabled/#{params[:name]}") end
|
28
|
+
end
|
29
|
+
else
|
30
|
+
execute "a2dissite #{params[:name]}" do
|
31
|
+
command "/usr/sbin/a2dissite #{params[:name]}"
|
32
|
+
notifies :restart, resources(:service => "apache2")
|
33
|
+
only_if do File.symlink?("#{node[:apache][:dir]}/sites-enabled/#{params[:name]}") end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Definition:: web_app
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
define :web_app, :template => nil do
|
21
|
+
|
22
|
+
application_name = params[:name]
|
23
|
+
|
24
|
+
include_recipe "apache2"
|
25
|
+
include_recipe "apache2::mod_rewrite"
|
26
|
+
include_recipe "apache2::mod_deflate"
|
27
|
+
include_recipe "apache2::mod_headers"
|
28
|
+
|
29
|
+
template "#{node[:apache][:dir]}/sites-available/#{application_name}.conf" do
|
30
|
+
source params[:template]
|
31
|
+
owner "root"
|
32
|
+
group "root"
|
33
|
+
mode 0644
|
34
|
+
variables(
|
35
|
+
:application_name => application_name,
|
36
|
+
:params => params
|
37
|
+
)
|
38
|
+
notifies :reload, resources(:service => "apache2"), :delayed
|
39
|
+
end
|
40
|
+
|
41
|
+
apache_site "#{params[:name]}.conf" do
|
42
|
+
enable enable_setting
|
43
|
+
only_if { File.exists?("#{node[:apache][:dir]}/sites-available/#{application_name}") }
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/perl
|
2
|
+
|
3
|
+
=begin
|
4
|
+
|
5
|
+
Generates Ubuntu style module.load files.
|
6
|
+
|
7
|
+
./apache2_module_conf_genereate.pl /usr/lib64/httpd/modules /etc/httpd/mods-available
|
8
|
+
|
9
|
+
ARGV[0] is the apache modules directory, ARGV[1] is where you want 'em.
|
10
|
+
|
11
|
+
=cut
|
12
|
+
|
13
|
+
use File::Find;
|
14
|
+
|
15
|
+
use strict;
|
16
|
+
use warnings;
|
17
|
+
|
18
|
+
die "Must have '/path/to/modules' and '/path/to/modules.load'"
|
19
|
+
unless $ARGV[0] && $ARGV[1];
|
20
|
+
|
21
|
+
find(
|
22
|
+
{
|
23
|
+
wanted => sub {
|
24
|
+
return 1 if $File::Find::name !~ /\.so$/;
|
25
|
+
my $modfile = $_;
|
26
|
+
$modfile =~ /mod_(.+)\.so$/;
|
27
|
+
my $modname = $1;
|
28
|
+
my $filename = "$ARGV[1]/$modname.load";
|
29
|
+
unless ( -f $filename ) {
|
30
|
+
open( FILE, ">", $filename ) or die "Cannot open $filename";
|
31
|
+
print FILE "LoadModule " . $modname . "_module $File::Find::name\n";
|
32
|
+
close(FILE);
|
33
|
+
}
|
34
|
+
},
|
35
|
+
follow => 1,
|
36
|
+
},
|
37
|
+
$ARGV[0]
|
38
|
+
);
|
39
|
+
|
40
|
+
exit 0;
|
41
|
+
|
@@ -0,0 +1,132 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: default
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
package "apache2" do
|
21
|
+
case node[:platform]
|
22
|
+
when "centos","redhat","fedora","suse"
|
23
|
+
name "httpd"
|
24
|
+
when "debian","ubuntu"
|
25
|
+
name "apache2"
|
26
|
+
end
|
27
|
+
action :install
|
28
|
+
end
|
29
|
+
|
30
|
+
service "apache2" do
|
31
|
+
case node[:platform]
|
32
|
+
when "centos","redhat","fedora","suse"
|
33
|
+
name "httpd"
|
34
|
+
when "debian","ubuntu"
|
35
|
+
name "apache2"
|
36
|
+
end
|
37
|
+
supports :restart => true, :reload => true
|
38
|
+
action :enable
|
39
|
+
end
|
40
|
+
|
41
|
+
if platform?("centos", "redhat", "fedora", "suse")
|
42
|
+
directory node[:apache][:log_dir] do
|
43
|
+
mode 0755
|
44
|
+
action :create
|
45
|
+
end
|
46
|
+
|
47
|
+
remote_file "/usr/local/bin/apache2_module_conf_generate.pl" do
|
48
|
+
source "apache2_module_conf_generate.pl"
|
49
|
+
mode 0755
|
50
|
+
owner "root"
|
51
|
+
group "root"
|
52
|
+
end
|
53
|
+
|
54
|
+
%w{sites-available sites-enabled mods-available mods-enabled}.each do |dir|
|
55
|
+
directory "#{node[:apache][:dir]}/#{dir}" do
|
56
|
+
mode 0755
|
57
|
+
owner "root"
|
58
|
+
group "root"
|
59
|
+
action :create
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
execute "generate-module-list" do
|
64
|
+
command "/usr/local/bin/apache2_module_conf_generate.pl /usr/#{node[:architecture]}/httpd/modules /etc/httpd/mods-available"
|
65
|
+
action :run
|
66
|
+
end
|
67
|
+
|
68
|
+
%w{a2ensite a2dissite s2enmod s2dismod}.each do |modscript|
|
69
|
+
template "/usr/sbin/#{modscript}" do
|
70
|
+
source "#{modscript}.erb"
|
71
|
+
mode 0755
|
72
|
+
owner "root"
|
73
|
+
group "root"
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
directory "#{node[:apache][:dir]}/ssl" do
|
79
|
+
action :create
|
80
|
+
mode 0755
|
81
|
+
owner "root"
|
82
|
+
group "root"
|
83
|
+
end
|
84
|
+
|
85
|
+
template "apache2.conf" do
|
86
|
+
case node[:platform]
|
87
|
+
when "centos","redhat","fedora"
|
88
|
+
path "#{node[:apache][:dir]}/conf/httpd.conf"
|
89
|
+
when "debian","ubuntu"
|
90
|
+
path "#{node[:apache][:dir]}/apache2.conf"
|
91
|
+
end
|
92
|
+
source "apache2.conf.erb"
|
93
|
+
owner "root"
|
94
|
+
group "root"
|
95
|
+
mode 0644
|
96
|
+
end
|
97
|
+
|
98
|
+
template "#{node[:apache][:dir]}/ports.conf" do
|
99
|
+
source "ports.conf.erb"
|
100
|
+
group "root"
|
101
|
+
owner "root"
|
102
|
+
variables :apache_listen_ports => node[:apache][:listen_ports]
|
103
|
+
mode 0644
|
104
|
+
end
|
105
|
+
|
106
|
+
template "#{node[:apache][:dir]}/sites-available/default" do
|
107
|
+
source "default-site.erb"
|
108
|
+
owner "root"
|
109
|
+
group "root"
|
110
|
+
mode 0644
|
111
|
+
notifies :restart, resources(:service => "apache2")
|
112
|
+
end
|
113
|
+
|
114
|
+
include_recipe "apache2::mod_status"
|
115
|
+
include_recipe "apache2::mod_alias"
|
116
|
+
include_recipe "apache2::mod_auth_basic"
|
117
|
+
include_recipe "apache2::mod_authn_file"
|
118
|
+
include_recipe "apache2::mod_authz_default"
|
119
|
+
include_recipe "apache2::mod_authz_groupfile"
|
120
|
+
include_recipe "apache2::mod_authz_host"
|
121
|
+
include_recipe "apache2::mod_authz_user"
|
122
|
+
include_recipe "apache2::mod_autoindex"
|
123
|
+
include_recipe "apache2::mod_dir"
|
124
|
+
include_recipe "apache2::mod_env"
|
125
|
+
include_recipe "apache2::mod_mime"
|
126
|
+
include_recipe "apache2::mod_negotiation"
|
127
|
+
include_recipe "apache2::mod_setenvif"
|
128
|
+
include_recipe "apache2::mod_log_config" if platform?("centos", "redhat", "suse")
|
129
|
+
|
130
|
+
service "apache2" do
|
131
|
+
action :start
|
132
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: alias
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "alias"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: auth_basic
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "auth_basic"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: auth_digest
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "auth_digest"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: authn_file
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "authn_file"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: authnz_ldap
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "authnz_ldap"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: authz_default
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "authz_default"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: authz_groupfile
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "authz_groupfile"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: authz_host
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "authz_host"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: authz_user
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "authz_user"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: apache2
|
3
|
+
# Recipe:: autoindex
|
4
|
+
#
|
5
|
+
# Copyright 2008, OpsCode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
apache_module "autoindex"
|