Re: Make Gitweb behave like Apache mod_userdir

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: Make Gitweb behave like Apache mod_userdir

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:44

Sylvain Rabot [off-list ref] writes:
+If you want gitweb to act a bit like UserDir mod in apache, knowing, http://<host>/~<user> 
+will list all git repos of <user> located in a special directory in his home (/home/<user>/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?

Re: Make Gitweb behave like Apache mod_userdir

From: Sylvain Rabot <hidden>
Date: 2016-06-15 22:47:44

On Tue, Nov 17, 2009 at 21:15, Junio C Hamano [off-list ref] wrote:
Sylvain Rabot [off-list ref] writes:
quoted
+If you want gitweb to act a bit like UserDir mod in apache, knowing, http://<host>/~<user>
+will list all git repos of <user> located in a special directory in his home (/home/<user>/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
As I said, it's configuration :)
       http://my.site/~gitster/public_git/git.git
would be http://my.site/~gitster/git.git
and gitweb can be told to show

       clone URL: git://my.site/~gitster/public_git/git.git
and git://my.site/~gitster/git.git

if --user-path of git daemon set to public_git
on the page.  If the site administrator runs git-daemon with --user-path
set to public_git, everything will work seamlessly, no?
Yes :)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help