summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2010-10-16 17:30:07 +0200
committermh <mh@immerda.ch>2010-10-16 17:30:07 +0200
commit6138c73f0cbaddc0049f217f3f84cf4dcc3d2029 (patch)
treefeec4bb88dc5c3f8362ac49228bd5bbcbed8c8ca
parent82115f575af62011d85f19d3b4c2ca077b185c67 (diff)
downloadpuppet-lighttpd-6138c73f0cbaddc0049f217f3f84cf4dcc3d2029.tar.gz
puppet-lighttpd-6138c73f0cbaddc0049f217f3f84cf4dcc3d2029.tar.bz2
debinize config
-rw-r--r--files/Debian/lighttpd.conf170
-rw-r--r--manifests/base.pp1
-rw-r--r--manifests/config/file.pp11
-rw-r--r--manifests/debian.pp8
-rw-r--r--manifests/init.pp1
5 files changed, 188 insertions, 3 deletions
diff --git a/files/Debian/lighttpd.conf b/files/Debian/lighttpd.conf
new file mode 100644
index 0000000..88cf73f
--- /dev/null
+++ b/files/Debian/lighttpd.conf
@@ -0,0 +1,170 @@
+# Debian lighttpd configuration file
+#
+
+############ Options you really have to take care of ####################
+
+## modules to load
+# mod_access, mod_accesslog and mod_alias are loaded by default
+# all other module should only be loaded if neccesary
+# - saves some time
+# - saves memory
+
+server.modules = (
+ "mod_access",
+ #"mod_alias",
+ "mod_accesslog",
+ "mod_compress",
+# "mod_rewrite",
+# "mod_redirect",
+# "mod_evhost",
+# "mod_usertrack",
+# "mod_rrdtool",
+# "mod_webdav",
+# "mod_expire",
+# "mod_flv_streaming",
+# "mod_evasive"
+)
+
+## a static document-root, for virtual-hosting take look at the
+## server.virtual-* options
+server.document-root = "/var/www/lighttpd"
+
+## where to upload files to, purged daily.
+server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
+
+## where to send error-messages to
+server.errorlog = "/var/log/lighttpd/error.log"
+
+## files to check for if .../ is requested
+index-file.names = ( "index.php", "index.html",
+ "index.htm", "default.htm",
+ "index.lighttpd.html" )
+
+
+## Use the "Content-Type" extended attribute to obtain mime type if possible
+# mimetype.use-xattr = "enable"
+
+#### accesslog module
+accesslog.filename = "/var/log/lighttpd/access.log"
+
+## deny access the file-extensions
+#
+# ~ is for backupfiles from vi, emacs, joe, ...
+# .inc is often used for code includes which should in general not be part
+# of the document-root
+url.access-deny = ( "~", ".inc" )
+
+##
+# which extensions should not be handle via static-file transfer
+#
+# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
+static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
+
+
+######### Options that are good to be but not neccesary to be changed #######
+
+## Use ipv6 only if available.
+include_shell "/usr/share/lighttpd/use-ipv6.pl"
+
+## bind to port (default: 80)
+# server.port = 81
+
+## bind to localhost only (default: all interfaces)
+## server.bind = "localhost"
+
+## error-handler for status 404
+#server.error-handler-404 = "/error-handler.html"
+#server.error-handler-404 = "/error-handler.php"
+
+## to help the rc.scripts
+server.pid-file = "/var/run/lighttpd.pid"
+
+##
+## Format: <errorfile-prefix><status>.html
+## -> ..../status-404.html for 'File not found'
+#server.errorfile-prefix = "/var/www/"
+
+## virtual directory listings
+dir-listing.encoding = "utf-8"
+server.dir-listing = "enable"
+
+## send unhandled HTTP-header headers to error-log
+#debug.dump-unknown-headers = "enable"
+
+### only root can use these options
+#
+# chroot() to directory (default: no chroot() )
+#server.chroot = "/"
+
+## change uid to <uid> (default: don't care)
+server.username = "www-data"
+
+## change uid to <uid> (default: don't care)
+server.groupname = "www-data"
+
+#### compress module
+compress.cache-dir = "/var/cache/lighttpd/compress/"
+compress.filetype = ("text/plain", "text/html", "application/x-javascript", "text/css")
+
+
+#### url handling modules (rewrite, redirect, access)
+# url.rewrite = ( "^/$" => "/server-status" )
+# url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
+
+#
+# define a pattern for the host url finding
+# %% => % sign
+# %0 => domain name + tld
+# %1 => tld
+# %2 => domain name without tld
+# %3 => subdomain 1 name
+# %4 => subdomain 2 name
+#
+# evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
+
+#### expire module
+# expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
+
+#### rrdtool
+# rrdtool.binary = "/usr/bin/rrdtool"
+# rrdtool.db-name = "/var/www/lighttpd.rrd"
+
+#### variable usage:
+## variable name without "." is auto prefixed by "var." and becomes "var.bar"
+#bar = 1
+#var.mystring = "foo"
+
+## integer add
+#bar += 1
+## string concat, with integer cast as string, result: "www.foo1.com"
+#server.name = "www." + mystring + var.bar + ".com"
+## array merge
+#index-file.names = (foo + ".php") + index-file.names
+#index-file.names += (foo + ".php")
+
+
+#### external configuration files
+## mimetype mapping
+include_shell "/usr/share/lighttpd/create-mime.assign.pl"
+
+## load enabled configuration files,
+## read /etc/lighttpd/conf-available/README first
+include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
+
+# include vhost snippets
+include_shell "find /etc/lighttpd/vhosts.d -maxdepth 1 -name '*.conf' -exec cat {} \;"
+
+#### handle Debian Policy Manual, Section 11.5. urls
+## by default allow them only from localhost
+## (This must come last due to #445459)
+## Note: =~ "127.0.0.1" works with ipv6 enabled, whereas == "127.0.0.1" doesn't
+$HTTP["remoteip"] =~ "127.0.0.1" {
+ alias.url += (
+ "/doc/" => "/usr/share/doc/",
+ "/images/" => "/usr/share/images/"
+ )
+ $HTTP["url"] =~ "^/doc/|^/images/" {
+ dir-listing.activate = "enable"
+ }
+}
+
diff --git a/manifests/base.pp b/manifests/base.pp
index 84062eb..41af569 100644
--- a/manifests/base.pp
+++ b/manifests/base.pp
@@ -13,6 +13,7 @@ class lighttpd::base {
file{'/etc/lighttpd/lighttpd.conf':
source => [ "puppet:///modules/site-lighttpd/${fqdn}/lighttpd.conf",
"puppet:///modules/site-lighttpd/lighttpd.conf",
+ "puppet:///modules/lighttpd/${operatingsystem}/lighttpd.conf" ],
"puppet:///modules/lighttpd/lighttpd.conf" ],
require => Package['lighttpd'],
notify => Service['lighttpd'],
diff --git a/manifests/config/file.pp b/manifests/config/file.pp
index 8993693..7d44780 100644
--- a/manifests/config/file.pp
+++ b/manifests/config/file.pp
@@ -3,7 +3,12 @@ define lighttpd::config::file(
$conf_source = 'absent',
$content = 'absent'
){
- file{"/etc/lighttpd/conf.d/${name}.conf":
+ $conf_dir = $operatingsystem ? {
+ debian => '/etc/lighttpd/conf-available',
+ ubuntu => '/etc/lighttpd/conf-available',
+ default => '/etc/lighttpd/conf.d'
+ }
+ file{"${conf_dir}/${name}.conf":
ensure => $ensure,
notify => Service['lighttpd'],
owner => root, group => 0, mode => 0644;
@@ -11,7 +16,7 @@ define lighttpd::config::file(
case $content {
'absent': {
- File["/etc/lighttpd/conf.d/${name}.conf"]{
+ File["${conf_dir}/${name}.conf"]{
source => $conf_source ? {
'absent' => [
"puppet:///modules/site-lighttpd/conf.d/$fqdn/$name.conf",
@@ -29,7 +34,7 @@ define lighttpd::config::file(
}
}
default: {
- File["/etc/lighttpd/conf.d/${name}.conf"]{
+ File["${conf_dir}/${name}.conf"]{
content => $content,
}
}
diff --git a/manifests/debian.pp b/manifests/debian.pp
new file mode 100644
index 0000000..0b67924
--- /dev/null
+++ b/manifests/debian.pp
@@ -0,0 +1,8 @@
+class lighttpd::debian inherits lighttpd::base {
+ file{
+ '/var/www/lighttpd':
+ ensure => directory;
+ '/var/www/index.lighttpd.html':
+ ensure => absent,
+ }
+}
diff --git a/manifests/init.pp b/manifests/init.pp
index 11078aa..9772817 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -4,6 +4,7 @@
class lighttpd {
case $operatingsystem {
+ debian,ubuntu: { include lighttpd::debian }
default: { include lighttpd::base }
}