From 18310aa26c9fd5644115ef38722aaf75302ded53 Mon Sep 17 00:00:00 2001 From: Adrien Thebo Date: Tue, 31 May 2011 14:09:31 -0700 Subject: Updated apache template, added args, removed ssl. - SSL was breaking testing, removed it for the time being. - Converted gitweb.conf to template. - Added more options to gitweb::settings. --- files/gitweb.conf | 23 ----------------------- manifests/init.pp | 8 +++++--- manifests/settings.pp | 6 ++++-- templates/apache-gitweb.conf.erb | 16 ++++++++++++++++ templates/gitweb.conf.erb | 23 +++++++++++++++++++++++ 5 files changed, 48 insertions(+), 28 deletions(-) delete mode 100644 files/gitweb.conf create mode 100644 templates/gitweb.conf.erb diff --git a/files/gitweb.conf b/files/gitweb.conf deleted file mode 100644 index 8e2fb51..0000000 --- a/files/gitweb.conf +++ /dev/null @@ -1,23 +0,0 @@ -# path to git projects (.git) -$projectroot = "/var/cache/git"; - -# directory to use for temp files -$git_temp = "/tmp"; - -# target of the home link on top of all pages -#$home_link = $my_uri || "/"; - -# html text to include at home page -$home_text = "indextext.html"; - -# file with project list; by default, simply scan the projectroot dir. -$projects_list = $projectroot; - -# stylesheet to use -$stylesheet = "/gitweb/gitweb.css"; - -# logo to use -$logo = "/gitweb/git-logo.png"; - -# the 'favicon' -$favicon = "/gitweb/git-favicon.png"; diff --git a/manifests/init.pp b/manifests/init.pp index fbe5610..4f62e1d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -21,14 +21,16 @@ class gitweb { owner => "root", group => "root", mode => "0644", - source => "puppet:///modules/gitweb/gitweb.conf", + content => template("gitweb/gitweb.conf.erb"), require => Package["gitweb"], } + A2mod <| title == "rewrite" |> + apache::vhost { "$gitweb::settings::site_alias": priority => "10", - port => "443", - ssl => true, + port => "80", + ssl => false, docroot => "/var/www/git", template => "gitweb/apache-gitweb.conf.erb", } diff --git a/manifests/settings.pp b/manifests/settings.pp index 49317db..c108b3b 100644 --- a/manifests/settings.pp +++ b/manifests/settings.pp @@ -1,7 +1,8 @@ # Class: gitweb::settings # # Parameters: -# +# - site_alias: The site alias to make gitweb available +# - projectroot: The location where the git repositories are stored # Actions: # # Requires: @@ -9,6 +10,7 @@ # Sample Usage: # class gitweb::settings ( - $site_alias = "gitweb" + $site_alias = "gitweb", + $projectroot = "/var/cache/git" ) { } diff --git a/templates/apache-gitweb.conf.erb b/templates/apache-gitweb.conf.erb index d0736ae..dca3f5f 100644 --- a/templates/apache-gitweb.conf.erb +++ b/templates/apache-gitweb.conf.erb @@ -1,6 +1,11 @@ +NameVirtualHost *:<%= port %> > ServerName <%= name %> DocumentRoot <%= docroot %> + + RewriteEngine On + RewriteRule ^/$ /gitweb [R] + > Options ExecCGI +FollowSymLinks +SymLinksIfOwnerMatch AllowOverride All @@ -8,6 +13,17 @@ Allow from all AddHandler cgi-script cgi DirectoryIndex gitweb.cgi + <%# if auth == true -%> + AuthType Basic + AuthName "Protected" + AuthUserFile /usr/local/apache/passwd/passwords + Require valid-user + <%# end -%> + + ErrorLog /var/log/apache2/<%= name %>_error.log + LogLevel warn + CustomLog /var/log/apache2/<%= name %>_access.log combined + ServerSignature Off diff --git a/templates/gitweb.conf.erb b/templates/gitweb.conf.erb new file mode 100644 index 0000000..0731b69 --- /dev/null +++ b/templates/gitweb.conf.erb @@ -0,0 +1,23 @@ +# path to git projects (.git) +$projectroot = "<%= scope.lookupvar('gitweb::settings::projectroot') %>"; + +# directory to use for temp files +$git_temp = "/tmp"; + +# target of the home link on top of all pages +#$home_link = $my_uri || "/"; + +# html text to include at home page +$home_text = "indextext.html"; + +# file with project list; by default, simply scan the projectroot dir. +$projects_list = $projectroot; + +# stylesheet to use +$stylesheet = "/gitweb/gitweb.css"; + +# logo to use +$logo = "/gitweb/git-logo.png"; + +# the 'favicon' +$favicon = "/gitweb/git-favicon.png"; -- cgit v1.2.3