Thread (4 messages) 4 messages, 3 authors, 2016-06-15

Re: Make Gitweb behave like Apache mod_userdir

flat view

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

For starters I think overriding the /~<user> (specifically the ~ here) is
going to be a bad idea no matter what you do and gives the wrong impression
about what / how the request is being responded to.  You might want to try
and pick a different delimiter or re-work the rule so that you could have
something like:

       http://git.kernel.org/<gitweb urls>
       http://git.kernel.org/user/<gitweb urls>

Your also, likely, going to need to take into account things like index.cgi
and gitweb.cgi in the url as things like:

http://git.kernel.org/?p=bluetooth/bluez-gnome.git;a=summary
http://git.kernel.org/gitweb.cgi?p=bluetooth/bluez-gnome.git;a=summary
<VirtualHost git.abstraction.fr:80>

        ServerAdmin webmaster@abstraction.fr
        ServerName git.abstraction.fr:80
        DocumentRoot /var/www/sylvain/git.abstraction.fr/html

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel debug

        CustomLog /var/www/sylvain/git.abstraction.fr/log/access.log combined
        ErrorLog /var/www/sylvain/git.abstraction.fr/log/error.log
        ServerSignature On

        RewriteEngine on
        RewriteLog /var/www/sylvain/git.abstraction.fr/log/rewrite.log
        RewriteLogLevel 3
        RewriteRule ^/$
/cgi-bin/gitweb.cgi     [QSA,L,PT]
        RewriteRule ^/gitweb.cgi$
/cgi-bin/gitweb.cgi     [QSA,L,PT]
        RewriteRule ^/\~([^\/]+)/?$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]
        RewriteRule ^/\~([^\/]+)/gitweb.cgi$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]
        RewriteRule ^/users/([^\/]+)/?$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]
        RewriteRule ^/users/([^\/]+)/gitweb.cgi$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin/">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        Alias /gitweb /usr/share/gitweb/
        <Directory "/usr/share/gitweb/">
                AllowOverride None
                Options +MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

</VirtualHost>


You can test here :

http://git.abstraction.fr/
http://git.abstraction.fr/gitweb.cgi
http://git.abstraction.fr/~sylvain/
http://git.abstraction.fr/~sylvain/gitweb.cgi
http://git.abstraction.fr/users/sylvain/
http://git.abstraction.fr/users/sylvain/gitweb.cgi

The dns record is fresh. If your dns is not up to date the ip is 88.191.254.60.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help