58 lines
1.6 KiB
Ruby
58 lines
1.6 KiB
Ruby
module Apache
|
|
module Master
|
|
def modules(*modules, &block)
|
|
@config += Modules.build(*modules, &block)
|
|
end
|
|
|
|
def runner(user, group = nil)
|
|
user! user
|
|
group! group if group
|
|
end
|
|
|
|
def passenger(ruby_root, ruby_version, passenger_version)
|
|
load_module 'passenger_module', "#{ruby_root}/lib/ruby/gems/#{ruby_version}/gems/passenger-#{passenger_version}/ext/apache2/mod_passenger.so"
|
|
passenger_root "#{ruby_root}/lib/ruby/gems/#{ruby_version}/gems/passenger-#{passenger_version}"
|
|
passenger_ruby "#{ruby_root}/bin/ruby"
|
|
end
|
|
|
|
def enable_gzip!
|
|
directory '/' do
|
|
add_output_filter_by_type! :DEFLATE, 'text/html', 'text/plain', 'text/css', 'text/javascript', 'application/javascript'
|
|
browser_match! '^Mozilla/4', "gzip-only-text/html"
|
|
browser_match! '^Mozilla/4\.0[678]', "no-gzip"
|
|
browser_match! '\bMSIE', '!no-gzip', '!gzip-only-text/html'
|
|
end
|
|
end
|
|
|
|
def timeout(t)
|
|
self << "Timeout #{t}"
|
|
end
|
|
|
|
def comment(c)
|
|
out = [ '' ]
|
|
case c
|
|
when String
|
|
out += c.split("\n")
|
|
when Array
|
|
out = c
|
|
end
|
|
out << ''
|
|
self + out.collect { |line| "# #{line.strip}" }
|
|
end
|
|
|
|
def script_alias(uri, path)
|
|
directory? path
|
|
self << %{ScriptAlias "#{uri}" "#{path}"}
|
|
end
|
|
|
|
alias :script_alias! :script_alias
|
|
|
|
def add_type!(mime, extension, options = {})
|
|
self << "AddType #{mime} #{extension}"
|
|
options.each do |type, value|
|
|
self << "Add#{type.to_s.capitalize} #{value} #{extension}"
|
|
end
|
|
end
|
|
end
|
|
end
|