summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--files/web/gitweb.conf64
-rw-r--r--files/web/lighttpd.conf333
-rw-r--r--files/xinetd.d/git16
-rw-r--r--files/xinetd.d/git.disabled16
-rw-r--r--files/xinetd.d/git.vhosts16
-rw-r--r--manifests/clone.pp85
-rw-r--r--manifests/web.pp6
-rw-r--r--manifests/web/lighttpd.pp21
-rw-r--r--manifests/web/repo.pp7
-rw-r--r--manifests/web/repo/lighttpd.pp36
-rw-r--r--templates/web/lighttpd10
11 files changed, 176 insertions, 434 deletions
diff --git a/files/web/gitweb.conf b/files/web/gitweb.conf
index ffd5762..88226aa 100644
--- a/files/web/gitweb.conf
+++ b/files/web/gitweb.conf
@@ -1,23 +1,53 @@
-# path to git projects (<project>.git)
-# $projectroot = "/var/cache/git";
+# The gitweb config file is a fragment of perl code. You can set variables
+# using "our $variable = value"; text from "#" character until the end of a
+# line is ignored. See perlsyn(1) man page for details.
+#
+# See /usr/share/doc/gitweb-*/README and /usr/share/doc/gitweb-*/INSTALL for
+# more details and available configuration variables.
-# directory to use for temp files
-$git_temp = "/tmp";
+# Set the path to git projects. This is an absolute filesystem path which will
+# be prepended to the project path.
+#our $projectroot = "/var/lib/git";
-# target of the home link on top of all pages
-#$home_link = $my_uri || "/";
+# Set the list of git base URLs used for URL to where fetch project from, i.e.
+# the full URL is "$git_base_url/$project". By default this is empty
+#our @git_base_url_list = qw(git://git.example.com
+# ssh://git.example.com/var/lib/git);
-# html text to include at home page
-$home_text = "indextext.html";
+# Enable the 'blame' blob view, showing the last commit that modified
+# each line in the file. This can be very CPU-intensive. Disabled by default
+#$feature{'blame'}{'default'} = [1];
+#
+# Allow projects to override the default setting via git config file.
+# Example: gitweb.blame = 0|1;
+#$feature{'blame'}{'override'} = 1;
-# file with project list; by default, simply scan the projectroot dir.
-$projects_list = $projectroot;
+# Disable the 'snapshot' link, providing a compressed archive of any tree. This
+# can potentially generate high traffic if you have large project. Enabled for
+# .tar.gz snapshots by default.
+#
+# Value is a list of formats defined in %known_snapshot_formats that you wish
+# to offer.
+#$feature{'snapshot'}{'default'} = [];
+#
+# Allow projects to override the default setting via git config file.
+# Example: gitweb.snapshot = tbz2,zip; (use "none" to disable)
+#$feature{'snapshot'}{'override'} = 1;
-# stylesheet to use
-$stylesheet = "/gitweb.css";
+# Disable grep search, which will list the files in currently selected tree
+# containing the given string. This can be potentially CPU-intensive, of
+# course. Enabled by default.
+#$feature{'grep'}{'default'} = [0];
+#
+# Allow projects to override the default setting via git config file.
+# Example: gitweb.grep = 0|1;
+#$feature{'grep'}{'override'} = 1;
-# logo to use
-$logo = "/git-logo.png";
-
-# the 'favicon'
-$favicon = "/git-favicon.png";
+# Disable the pickaxe search, which will list the commits that modified a given
+# string in a file. This can be practical and quite faster alternative to
+# 'blame', but still potentially CPU-intensive. Enabled by default.
+#$feature{'pickaxe'}{'default'} = [0];
+#
+# Allow projects to override the default setting via git config file.
+# Example: gitweb.pickaxe = 0|1;
+#$feature{'pickaxe'}{'override'} = 1;
diff --git a/files/web/lighttpd.conf b/files/web/lighttpd.conf
deleted file mode 100644
index 2315562..0000000
--- a/files/web/lighttpd.conf
+++ /dev/null
@@ -1,333 +0,0 @@
-# lighttpd configuration file
-#
-# use it as a base for lighttpd 1.0.0 and above
-#
-# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $
-
-############ Options you really have to take care of ####################
-
-## modules to load
-# at least mod_access and mod_accesslog should be loaded
-# all other module should only be loaded if really neccesary
-# - saves some time
-# - saves memory
-server.modules = (
- "mod_rewrite",
- "mod_redirect",
- "mod_alias",
- "mod_access",
-# "mod_cml",
-# "mod_trigger_b4_dl",
-# "mod_auth",
-# "mod_status",
- "mod_setenv",
-# "mod_fastcgi",
-# "mod_proxy",
-# "mod_simple_vhost",
-# "mod_evhost",
-# "mod_userdir",
- "mod_cgi",
-# "mod_compress",
-# "mod_ssi",
-# "mod_usertrack",
-# "mod_expire",
-# "mod_secdownload",
-# "mod_rrdtool",
- "mod_accesslog" )
-
-## a static document-root, for virtual-hosting take look at the
-## server.virtual-* options
-server.document-root = "/var/www/lighttpd/"
-
-## 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" )
-
-## set the event-handler (read the performance section in the manual)
-# server.event-handler = "freebsd-kqueue" # needed on OS X
-
-# mimetype mapping
-mimetype.assign = (
- ".rpm" => "application/x-rpm",
- ".pdf" => "application/pdf",
- ".sig" => "application/pgp-signature",
- ".spl" => "application/futuresplash",
- ".class" => "application/octet-stream",
- ".ps" => "application/postscript",
- ".torrent" => "application/x-bittorrent",
- ".dvi" => "application/x-dvi",
- ".gz" => "application/x-gzip",
- ".pac" => "application/x-ns-proxy-autoconfig",
- ".swf" => "application/x-shockwave-flash",
- ".tar.gz" => "application/x-tgz",
- ".tgz" => "application/x-tgz",
- ".tar" => "application/x-tar",
- ".zip" => "application/zip",
- ".mp3" => "audio/mpeg",
- ".m3u" => "audio/x-mpegurl",
- ".wma" => "audio/x-ms-wma",
- ".wax" => "audio/x-ms-wax",
- ".ogg" => "application/ogg",
- ".wav" => "audio/x-wav",
- ".gif" => "image/gif",
- ".jar" => "application/x-java-archive",
- ".jpg" => "image/jpeg",
- ".jpeg" => "image/jpeg",
- ".png" => "image/png",
- ".xbm" => "image/x-xbitmap",
- ".xpm" => "image/x-xpixmap",
- ".xwd" => "image/x-xwindowdump",
- ".css" => "text/css",
- ".html" => "text/html",
- ".htm" => "text/html",
- ".js" => "text/javascript",
- ".asc" => "text/plain",
- ".c" => "text/plain",
- ".cpp" => "text/plain",
- ".log" => "text/plain",
- ".conf" => "text/plain",
- ".text" => "text/plain",
- ".txt" => "text/plain",
- ".dtd" => "text/xml",
- ".xml" => "text/xml",
- ".mpeg" => "video/mpeg",
- ".mpg" => "video/mpeg",
- ".mov" => "video/quicktime",
- ".qt" => "video/quicktime",
- ".avi" => "video/x-msvideo",
- ".asf" => "video/x-ms-asf",
- ".asx" => "video/x-ms-asf",
- ".wmv" => "video/x-ms-wmv",
- ".bz2" => "application/x-bzip",
- ".tbz" => "application/x-bzip-compressed-tar",
- ".tar.bz2" => "application/x-bzip-compressed-tar",
- # default mime type
- "" => "application/octet-stream",
- )
-
-# Use the "Content-Type" extended attribute to obtain mime type if possible
-#mimetype.use-xattr = "enable"
-
-
-## send a different Server: header
-## be nice and keep it at lighttpd
-# server.tag = "lighttpd"
-
-#### 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" )
-
-$HTTP["url"] =~ "\.pdf$" {
- server.range-requests = "disable"
-}
-
-##
-# 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 #######
-
-## bind to port (default: 80)
-#server.port = 81
-
-## bind to localhost (default: all interfaces)
-#server.bind = "127.0.0.1"
-
-## 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"
-
-
-###### virtual hosts
-##
-## If you want name-based virtual hosting add the next three settings and load
-## mod_simple_vhost
-##
-## document-root =
-## virtual-server-root + virtual-server-default-host + virtual-server-docroot
-## or
-## virtual-server-root + http-host + virtual-server-docroot
-##
-#simple-vhost.server-root = "/srv/www/vhosts/"
-#simple-vhost.default-host = "www.example.org"
-#simple-vhost.document-root = "/htdocs/"
-
-
-##
-## Format: <errorfile-prefix><status-code>.html
-## -> ..../status-404.html for 'File not found'
-#server.errorfile-prefix = "/usr/share/lighttpd/errors/status-"
-#server.errorfile-prefix = "/srv/www/errors/status-"
-
-## virtual directory listings
-#dir-listing.activate = "enable"
-## select encoding for directory listings
-#dir-listing.encoding = "utf-8"
-
-## enable debugging
-#debug.log-request-header = "enable"
-#debug.log-response-header = "enable"
-#debug.log-request-handling = "enable"
-#debug.log-file-not-found = "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 = "lighttpd"
-
-## change uid to <uid> (default: don't care)
-server.groupname = "lighttpd"
-
-#### compress module
-#compress.cache-dir = "/var/cache/lighttpd/compress/"
-#compress.filetype = ("text/plain", "text/html")
-
-#### proxy module
-## read proxy.txt for more info
-#proxy.server = ( ".php" =>
-# ( "localhost" =>
-# (
-# "host" => "192.168.0.101",
-# "port" => 80
-# )
-# )
-# )
-
-#### fastcgi module
-## read fastcgi.txt for more info
-## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
-#fastcgi.server = ( ".php" =>
-# ( "localhost" =>
-# (
-# "socket" => "/var/run/lighttpd/php-fastcgi.socket",
-# "bin-path" => "/usr/bin/php-cgi"
-# )
-# )
-# )
-
-#### CGI module
-#cgi.assign = ( ".pl" => "/usr/bin/perl",
-# ".cgi" => "/usr/bin/perl" )
-#
-
-#### SSL engine
-#ssl.engine = "enable"
-#ssl.pemfile = "/etc/ssl/private/lighttpd.pem"
-
-#### status module
-#status.status-url = "/server-status"
-#status.config-url = "/server-config"
-
-#### auth module
-## read authentication.txt for more info
-#auth.backend = "plain"
-#auth.backend.plain.userfile = "lighttpd.user"
-#auth.backend.plain.groupfile = "lighttpd.group"
-
-#auth.backend.ldap.hostname = "localhost"
-#auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
-#auth.backend.ldap.filter = "(uid=$)"
-
-#auth.require = ( "/server-status" =>
-# (
-# "method" => "digest",
-# "realm" => "download archiv",
-# "require" => "user=jan"
-# ),
-# "/server-config" =>
-# (
-# "method" => "digest",
-# "realm" => "download archiv",
-# "require" => "valid-user"
-# )
-# )
-
-#### url handling modules (rewrite, redirect, access)
-#url.rewrite = ( "^/$" => "/server-status" )
-#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
-#### both rewrite/redirect support back reference to regex conditional using %n
-#$HTTP["host"] =~ "^www\.(.*)" {
-# url.redirect = ( "^/(.*)" => "http://%1/$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 = "/srv/www/vhosts/%3/htdocs/"
-
-#### expire module
-#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
-
-#### ssi
-#ssi.extension = ( ".shtml" )
-
-#### rrdtool
-#rrdtool.binary = "/usr/bin/rrdtool"
-#rrdtool.db-name = "/var/lib/lighttpd/lighttpd.rrd"
-
-#### setenv
-#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
-#setenv.add-response-header = ( "X-Secret-Message" => "42" )
-
-## for mod_trigger_b4_dl
-# trigger-before-download.gdbm-filename = "/var/lib/lighttpd/trigger.db"
-# trigger-before-download.memcache-hosts = ( "127.0.0.1:11211" )
-# trigger-before-download.trigger-url = "^/trigger/"
-# trigger-before-download.download-url = "^/download/"
-# trigger-before-download.deny-url = "http://127.0.0.1/index.html"
-# trigger-before-download.trigger-timeout = 10
-
-## for mod_cml
-## don't forget to add index.cml to server.indexfiles
-# cml.extension = ".cml"
-# cml.memcache-hosts = ( "127.0.0.1:11211" )
-
-#### 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")
-
-#### include
-#include /etc/lighttpd/lighttpd-inc.conf
-## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf"
-#include "lighttpd-inc.conf"
-include "lighttpd-gitweb.conf"
-
-# include configuration snippets, usually provided by packages
-include_shell "find /etc/lighttpd/conf.d -maxdepth 1 -name '*.conf' -exec cat {} \;"
-
-#### include_shell
-#include_shell "echo var.a=1"
-## the above is same as:
-#var.a=1
diff --git a/files/xinetd.d/git b/files/xinetd.d/git
new file mode 100644
index 0000000..64c53e8
--- /dev/null
+++ b/files/xinetd.d/git
@@ -0,0 +1,16 @@
+# default: off
+# description: The git dæmon allows git repositories to be exported using
+# the git:// protocol.
+
+service git
+{
+ disable = no
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/git-daemon
+ server_args = --base-path=/srv/git --export-all --user-path=public_git --syslog --inetd --verbose
+ log_on_failure += USERID
+# xinetd doesn't do this by default. bug #195265
+ flags = IPv6
+}
diff --git a/files/xinetd.d/git.disabled b/files/xinetd.d/git.disabled
new file mode 100644
index 0000000..dcfae91
--- /dev/null
+++ b/files/xinetd.d/git.disabled
@@ -0,0 +1,16 @@
+# default: off
+# description: The git dæmon allows git repositories to be exported using
+# the git:// protocol.
+
+service git
+{
+ disable = yes
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/git-daemon
+ server_args = --base-path=/srv/git --export-all --user-path=public_git --syslog --inetd --verbose
+ log_on_failure += USERID
+# xinetd doesn't do this by default. bug #195265
+ flags = IPv6
+}
diff --git a/files/xinetd.d/git.vhosts b/files/xinetd.d/git.vhosts
new file mode 100644
index 0000000..9893820
--- /dev/null
+++ b/files/xinetd.d/git.vhosts
@@ -0,0 +1,16 @@
+# default: off
+# description: The git dæmon allows git repositories to be exported using
+# the git:// protocol.
+
+service git
+{
+ disable = no
+ socket_type = stream
+ wait = no
+ user = nobody
+ server = /usr/bin/git-daemon
+ server_args = --interpolated-path=/srv/git/%H/%D --syslog --inetd --verbose
+ log_on_failure += USERID
+# xinetd doesn't do this by default. bug #195265
+ flags = IPv6
+}
diff --git a/manifests/clone.pp b/manifests/clone.pp
index 1d6a298..29f0b2b 100644
--- a/manifests/clone.pp
+++ b/manifests/clone.pp
@@ -1,37 +1,60 @@
+# submodules: Whether we should initialize and update
+# submodules as well
+# Default: false
+# clone_before: before which resources a cloning should
+# happen. This is releveant in combination
+# with submodules as the exec of submodules
+# requires the `cwd` and you might get a
+# dependency cycle if you manage $projectroot
+# somewhere else.
define git::clone(
- $ensure = present,
- $git_repo,
- $projectroot,
- $cloneddir_user='root',
- $cloneddir_group='0',
- $cloneddir_restrict_mode=true
+ $ensure = present,
+ $git_repo,
+ $projectroot,
+ $submodules = false,
+ $clone_before = 'absent',
+ $cloneddir_user='root',
+ $cloneddir_group='0',
+ $cloneddir_restrict_mode=true
){
- case $ensure {
- absent: {
- exec{"rm -rf $projectroot":
- onlyif => "test -d $projectroot",
- }
+ case $ensure {
+ absent: {
+ exec{"rm -rf $projectroot":
+ onlyif => "test -d $projectroot",
+ }
+ }
+ default: {
+ require ::git
+ exec {"git-clone_${name}":
+ command => "git clone --no-hardlinks ${git_repo} ${projectroot}",
+ creates => "${projectroot}/.git",
+ user => root,
+ notify => Exec["git-clone-chown_${name}"],
+ }
+ if $clone_before != 'absent' {
+ Exec["git-clone_${name}"]{
+ before => $clone_before,
+ }
+ }
+ if $submodules {
+ exec{"git-submodules_${name}":
+ command => "git submodule init && git submodule update",
+ cwd => $projectroot,
+ refreshonly => true,
+ subscribe => Exec["git-clone_${name}"],
}
- default: {
- include git
- exec {"git-clone_${name}":
- command => "git-clone --no-hardlinks ${git_repo} ${projectroot}",
- creates => "${projectroot}/.git",
- user => root,
- require => Package['git'],
- notify => Exec["git-clone-chown_${name}"],
- }
- exec {"git-clone-chown_${name}":
- command => "chown -R ${cloneddir_user}:${cloneddir_group} ${projectroot};chmod -R og-rwx ${projectroot}/.git",
- refreshonly => true
- }
- if $cloneddir_restrict_mode {
- exec {"git-clone-chmod_${name}":
- command => "chmod -R o-rwx ${projectroot}",
- refreshonly => true,
- subscribe => Exec["git-clone_${name}"],
- }
- }
+ }
+ exec {"git-clone-chown_${name}":
+ command => "chown -R ${cloneddir_user}:${cloneddir_group} ${projectroot};chmod -R og-rwx ${projectroot}/.git",
+ refreshonly => true
+ }
+ if $cloneddir_restrict_mode {
+ exec {"git-clone-chmod_${name}":
+ command => "chmod -R o-rwx ${projectroot}",
+ refreshonly => true,
+ subscribe => Exec["git-clone_${name}"],
}
+ }
}
+ }
}
diff --git a/manifests/web.pp b/manifests/web.pp
index f82e8d3..73ed8f6 100644
--- a/manifests/web.pp
+++ b/manifests/web.pp
@@ -10,9 +10,9 @@ class git::web {
owner => root, group => 0, mode => 0755;
}
file{'/etc/gitweb.conf':
- source => [ "puppet://$server/modules/site-git/web/${fqdn}/gitweb.conf",
- "puppet://$server/modules/site-git/web/gitweb.conf",
- "puppet://$server/modules/git/web/gitweb.conf" ],
+ source => [ "puppet:///modules/site-git/web/${fqdn}/gitweb.conf",
+ "puppet:///modules/site-git/web/gitweb.conf",
+ "puppet:///modules/git/web/gitweb.conf" ],
require => Package['gitweb'],
owner => root, group => 0, mode => 0644;
}
diff --git a/manifests/web/lighttpd.pp b/manifests/web/lighttpd.pp
index a169dc9..9534c60 100644
--- a/manifests/web/lighttpd.pp
+++ b/manifests/web/lighttpd.pp
@@ -1,24 +1,7 @@
class git::web::lighttpd {
include ::lighttpd
- include lighttpd::base::git::web
- file{'/etc/lighttpd/lighttpd-gitweb.conf':
- ensure => present,
- require => Package['lighttpd'],
- notify => Service['lighttpd'],
- owner => root, group => 0, mode => 0644;
- }
-
- file{'/etc/lighttpd/gitweb.d':
- ensure => directory,
- require => Package['lighttpd'],
- owner => root, group => 0, mode => 0755;
- }
-}
-class lighttpd::base::git::web inherits lighttpd::base {
- File['/etc/lighttpd/lighttpd.conf']{
- source => [ "puppet://$server/modules/site-git/web/${fqdn}/lighttpd.conf",
- "puppet://$server/modules/site-git/web/lighttpd.conf",
- "puppet://$server/modules/git/web/lighttpd.conf" ],
+ lighttpd::config::file{'lighttpd-gitweb':
+ content => 'global { server.modules += ("mod_rewrite", "mod_redirect", "mod_alias", "mod_setenv", "mod_cgi" ) }',
}
}
diff --git a/manifests/web/repo.pp b/manifests/web/repo.pp
index 2cb387a..da6f74f 100644
--- a/manifests/web/repo.pp
+++ b/manifests/web/repo.pp
@@ -1,10 +1,15 @@
# domain: the domain under which this repo will be avaiable
# projectroot: where the git repos are listened
# projects_list: which repos to export
+#
+# logmode:
+# - default: Do normal logging including ips
+# - anonym: Don't log ips
define git::web::repo(
$ensure = 'present',
$projectroot = 'absent',
$projects_list = 'absent',
+ $logmode = 'default',
$sitename = 'absent'
){
if ($ensure == 'present') and (($projects_list == 'absent') or ($projectroot == 'absent')){
@@ -31,12 +36,14 @@ define git::web::repo(
'lighttpd': {
git::web::repo::lighttpd{$name:
ensure => $ensure,
+ logmode => $logmode,
gitweb_url => $gitweb_url,
gitweb_config => $gitweb_config,
}
}
'apache': {
apache::vhost::gitweb{$gitweb_url:
+ logmode => $logmode,
ensure => $ensure,
}
}
diff --git a/manifests/web/repo/lighttpd.pp b/manifests/web/repo/lighttpd.pp
index 6676c4d..11cee4c 100644
--- a/manifests/web/repo/lighttpd.pp
+++ b/manifests/web/repo/lighttpd.pp
@@ -1,36 +1,16 @@
+# logmode:
+# - default: Do normal logging including ips
+# - anonym: Don't log ips
define git::web::repo::lighttpd(
$ensure = 'present',
$gitweb_url,
+ $logmode = 'default',
$gitweb_config
){
if $ensure == 'present' { include git::web::lighttpd }
- file{"/etc/lighttpd/gitweb.d/${name}.conf": }
- if $ensure == 'present' {
- File["/etc/lighttpd/gitweb.d/${name}.conf"]{
- content => template("git/web/lighttpd"),
- owner => root, group => 0, mode => 0644
- }
- } else {
- File["/etc/lighttpd/gitweb.d/${name}.conf"]{
- ensure => $ensure,
- }
- }
- line{"include_of_gitwebrepo_${name}":
- ensure => $ensure,
- line => "include \"gitweb.d/${name}.conf\"",
- file => "/etc/lighttpd/lighttpd-gitweb.conf",
- }
- if defined(Service['lighttpd']) {
- File["/etc/lighttpd/gitweb.d/${name}.conf"]{
- notify => Service['lighttpd'],
- }
- Line["include_of_gitwebrepo_${name}"]{
- notify => Service['lighttpd'],
- }
- }
- if defined(File['/etc/lighttpd/lighttpd-gitweb.conf']){
- Line["include_of_gitwebrepo_${name}"]{
- require => File['/etc/lighttpd/lighttpd-gitweb.conf'],
- }
+
+ lighttpd::vhost::file{$name:
+ ensure => $ensure,
+ content => template('git/web/lighttpd');
}
}
diff --git a/templates/web/lighttpd b/templates/web/lighttpd
index 1153154..cf24469 100644
--- a/templates/web/lighttpd
+++ b/templates/web/lighttpd
@@ -3,10 +3,14 @@ $HTTP["host"] == "<%= gitweb_url %>" {
"^$" => "/",
)
+ <%- if logmode.to_s == 'anonym' -%>
+ accesslog.format = "127.0.0.1 %V %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""
+ <%- end -%>
+
alias.url += (
- "/gitweb.css" => "/var/www/git/gitweb.css",
- "/git-logo.png" => "/var/www/git/git-logo.png",
- "/git-favicon.png" => "/var/www/git/git-favicon.png",
+ "/static/gitweb.css" => "/var/www/git/static/gitweb.css",
+ "/static/git-logo.png" => "/var/www/git/static/git-logo.png",
+ "/static/git-favicon.png" => "/var/www/git/static/git-favicon.png",
"/" => "/var/www/git/gitweb.cgi",
)