From 6138c73f0cbaddc0049f217f3f84cf4dcc3d2029 Mon Sep 17 00:00:00 2001 From: mh Date: Sat, 16 Oct 2010 17:30:07 +0200 Subject: debinize config --- files/Debian/lighttpd.conf | 170 +++++++++++++++++++++++++++++++++++++++++++++ manifests/base.pp | 1 + manifests/config/file.pp | 11 ++- manifests/debian.pp | 8 +++ manifests/init.pp | 1 + 5 files changed, 188 insertions(+), 3 deletions(-) create mode 100644 files/Debian/lighttpd.conf create mode 100644 manifests/debian.pp 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: .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 (default: don't care) +server.username = "www-data" + +## change uid to (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 } } -- cgit v1.2.3