git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: gitweb with multiple projectroot ???

From
JBJ. Bakshi <joydeep.bakshi@infoservices.in>
Date
Jun 6, 2012, 07:15 UTC
Message-ID
<20120606124538.4fdd8610@shiva.selfip.org>
In-Reply-To
<20120605174028.15e6af39@shiva.selfip.org>
>From the http://www.kernel.org/pub/software/scm/git/docs/v1.7.8/gitweb.html
I have found the following
[.........]

Here actual project root is passed to gitweb via GITWEB_PROJECT_ROOT environment variable from a web server, so you need to put the following line in gitweb configuration file (/etc/gitweb.conf in above example):

$projectroot = $ENV{'GITWEB_PROJECTROOT'} || "/pub/git";

Note that this requires to be set for each request, so either $per_request_config must be false, or the above must be put in code referenced by $per_request_config;

[.........]
I have already set  
$per_request_config = 'false';
at /etc/gitweb.conf but no effect. 
I appreciate if anyone put me on the right track.
Thanks

On Tue, 5 Jun 2012 17:40:28 +0530 "J. Bakshi" <joydeep.bakshi@infoservices.in> wrote:

Show 55 quoted lines
> Dear list,
> 
> My gitweb has been running since long with a single project root, which
> has been defined at the /etc/gitweb.conf through $projectroot variable.
> 
> I need one more project root for gitweb, hence I have added this apache config
> ( not a vhost, but just calling by alias)
> 
> ````````````````````
>  
> SetEnv GIT_PROJECT_ROOT /home/newgit/
> SetEnv GIT_HTTP_EXPORT_ALL
> SetEnv  GITWEB_CONFIG  /home/newgit/gitweb.conf
> #git is strict about the authenticated SSL certificate only
> #disable the strict CA certificate check
> SetEnv GIT_SSL_NO_VERIFY 
> 
> AliasMatch ^/newgit/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$       /home/newgit/$1
> AliasMatch ^/newgit/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /home/newgit/$1
> ScriptAliasMatch \
>         "(?x)^/newgit/(.*/(HEAD | \
>                         info/refs | \
>                         objects/info/[^/]+ | \
>                         git-(upload|receive)-pack))$" \
>         /usr/lib/git-core/git-http-backend/$1
> 
> #same location for gitweb
> Alias /newgit /usr/share/gitweb
> <Directory /usr/share/gitweb>
> Options FollowSymLinks +ExecCGI
> AddHandler cgi-script .cgi
> </Directory>
> 
> #force https and authentication
> <LocationMatch "/newgit">
> # Require SSL connection for password protection.
> SSLRequireSSL
> AuthType Basic
> # Message to give to the committer
> AuthName "access requires a password"
> # File listing users with write (commit) access
> AuthUserFile /home/newgit/PASSWD
> Require valid-user
> </LocationMatch>
> 
> `````````````````````````````````````````SetEnv
> 
> But "SetEnv  GITWEB_CONFIG" as well as other SetEnv ( like SetEnv GIT_SSL_NO_VERIFY )
> is not been taken and as an effect the gitweb processing the default /etc/gitweb.conf and going to the
> old projectroot.
> 
> What am I missing here ? any clue ?
> 
> Thanks
> --
Previous: J. BakshiNext: J. Bakshi
Message 2 of 3 in “gitweb with multiple projectroot ???”
  1. J. BakshiJun 5, 2012
  2. J. BakshiJun 6, 2012
  3. J. BakshiJun 8, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.