git-instaweb: Put httpd logs in a "$httpd_only" subdirectory
authorPavan Kumar Sunkara <pavan.sss1991@gmail.com>
Fri, 28 May 2010 06:25:51 +0000 (11:55 +0530)
committerJunio C Hamano <gitster@pobox.com>
Tue, 1 Jun 2010 00:56:46 +0000 (17:56 -0700)
Resolve full httpd and create "$httpd_only" subdirectory before
writing httpd.conf so that error.log and access.log go into it.

While at it, change apache2 configuration to use logs in a
similiar fashion.

Signed-off-by: Pavan Kumar Sunkara <pavan.sss1991@gmail.com>
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Mentored-by: Petr Baudis <pasky@ucw.cz>
Acked-by: Petr Baudis <pasky@suse.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-instaweb.sh

index f6080149c22bad8b3434b874b9e4079ac508ca69..f03465c13ba1f6f9de137241a8ca011e336fae58 100755 (executable)
@@ -206,11 +206,11 @@ server.port = $port
 server.modules = ( "mod_setenv", "mod_cgi" )
 server.indexfiles = ( "gitweb.cgi" )
 server.pid-file = "$fqgitdir/pid"
-server.errorlog = "$fqgitdir/gitweb/error.log"
+server.errorlog = "$fqgitdir/gitweb/$httpd_only/error.log"
 
 # to enable, add "mod_access", "mod_accesslog" to server.modules
 # variable above and uncomment this
-#accesslog.filename = "$fqgitdir/gitweb/access.log"
+#accesslog.filename = "$fqgitdir/gitweb/$httpd_only/access.log"
 
 setenv.add-environment = ( "PATH" => env.PATH )
 
@@ -277,7 +277,6 @@ EOF
 
 apache2_conf () {
        test -z "$module_path" && module_path=/usr/lib/apache2/modules
-       mkdir -p "$GIT_DIR/gitweb/logs"
        bind=
        test x"$local" = xtrue && bind='127.0.0.1:'
        echo 'text/css css' > "$fqgitdir/mime.types"
@@ -285,6 +284,8 @@ apache2_conf () {
 ServerName "git-instaweb"
 ServerRoot "$fqgitdir/gitweb"
 DocumentRoot "$fqgitdir/gitweb"
+ErrorLog "$fqgitdir/gitweb/$httpd_only/error.log"
+CustomLog "$fqgitdir/gitweb/$httpd_only/access.log" combined
 PidFile "$fqgitdir/pid"
 Listen $bind$port
 EOF
@@ -357,8 +358,8 @@ root                $fqgitdir/gitweb
 ports          $port
 index_files    gitweb.cgi
 #ssl_cert      $fqgitdir/gitweb/ssl_cert.pem
-error_log      $fqgitdir/gitweb/error.log
-access_log     $fqgitdir/gitweb/access.log
+error_log      $fqgitdir/gitweb/$httpd_only/error.log
+access_log     $fqgitdir/gitweb/$httpd_only/access.log
 
 #cgi setup
 cgi_env                PATH=$PATH,GIT_DIR=$GIT_DIR,GIT_EXEC_PATH=$GIT_EXEC_PATH
@@ -406,6 +407,9 @@ gitweb_cgi "$GIT_DIR/gitweb/gitweb.cgi"
 gitweb_css "$GIT_DIR/@@GITWEB_CSS_NAME@@"
 gitweb_js  "$GIT_DIR/@@GITWEB_JS_NAME@@"
 
+resolve_full_httpd
+mkdir -p "$fqgitdir/gitweb/$httpd_only"
+
 case "$httpd" in
 *lighttpd*)
        lighttpd_conf