From: Junio C Hamano Date: Tue, 17 Nov 2009 20:15:28 GMT Subject: Re: Make Gitweb behave like Apache mod_userdir Message-ID: <7vhbssewm7.fsf@alter.siamese.dyndns.org> In-Reply-To: <7fce93be0911150204h259b7424md251c54186d05b7d@mail.gmail.com> Sylvain Rabot writes: > +If you want gitweb to act a bit like UserDir mod in apache, knowing, http:///~ > +will list all git repos of located in a special directory in his home (/home//gitweb/), > +do the following steps : > + > +Add this to the VirtualHost section of your apache configuration file : > + > + RewriteRule ^/~([^\/]+)/?$ /cgi-bin/gitweb.cgi [QSA,E=GITWEB_PROJECTROOT:/home/$1/gitweb/,L,PT] > + > +Modify your gitweb.conf file, located at /etc/gitweb.conf in this example, with : > + > + $projectroot = $ENV{'GITWEB_PROJECTROOT'} || "/path/to/the/defaul/project/root"; > + > +Thus, each user with a gitweb folder in his home will be able to browse it with gitweb. > +/!\ The gitweb folder and user's home folder must be readable by the webserver user. Wouldn't it be a good idea to somehow make this work well together with the --user-path feature of git-daemon? Perhaps the recommended name given in the example shouldn't be ~/gitweb, but more like ~/public_git, as this is like ~/public_html but for git repositories. Then the end users will browse http://my.site/~gitster/public_git/git.git and gitweb can be told to show clone URL: git://my.site/~gitster/public_git/git.git on the page. If the site administrator runs git-daemon with --user-path set to public_git, everything will work seamlessly, no?