Add instructions for using gitweb.

This commit is contained in:
Tommi Virtanen 2007-11-25 18:32:02 +02:00
parent d875e0fe5a
commit 6ab2aa0a4b
3 changed files with 74 additions and 0 deletions

View file

@ -157,6 +157,39 @@ For other operating systems, use a similar invocation in an ``init.d``
script, ``/etc/inittab``, ``inetd.conf``, ``runit``, or something like
that (good luck).
Note that this short snippet is not a substitute for reading and
understanding the relevant documentation.
Using gitweb
============
``gitweb`` is a CGI script that lets one browse ``git`` repositories
on the web. It is most commonly used anonymously, but you could also
require authentication in your web server, before letting people use
it. ``gitosis`` can help here by generating a list of projects that
are publicly visible. Simply add a section ``[repo REPOSITORYNAME]``
to your ``gitosis.conf``, and allow publishing with ``gitweb = yes``
(or globally under ``[gitosis]``). You should also set ``description``
and ``owner`` for each repository.
Here's a LightTPD_ config file snippet showing how to run ``gitweb``
as a CGI:
.. _LightTPD: http://www.lighttpd.net/
.. include:: lighttpd-gitweb.conf
:literal:
And a simple ``gitweb.conf`` file:
.. include:: gitweb.conf
:literal:
Note that this short snippet is not a substitute for reading and
understanding the relevant documentation.
Contact
=======

20
gitweb.conf Normal file
View file

@ -0,0 +1,20 @@
# Include the global configuration, if found.
do "/etc/gitweb.conf" if -e "/etc/gitweb.conf";
# Point to projects.list file generated by gitosis.
# Here gitosis manages the user "git", who has a
# home directory of /srv/example.com/git
$projects_list = "/srv/example.com/git/repositories/gitosis-admin.git/projects.list";
# Where the actual repositories are located.
$projectroot = "/srv/example.com/git/repositories";
# By default, gitweb will happily let people browse any repository
# they guess the name of. This may or may not be what you wanted. I
# choose to allow gitweb to show only repositories that git-daemon
# is already sharing anonymously.
$export_ok = "git-daemon-export-ok";
# A list of base urls where all the repositories can be cloned from.
# Easier than having per-repository cloneurl files.
@git_base_url_list = ('git://example.com');

21
lighttpd-gitweb.conf Normal file
View file

@ -0,0 +1,21 @@
server.modules += (
"mod_cgi",
"mod_setenv",
)
url.redirect += (
"^/gitweb$" => "http://example.com/gitweb/",
)
alias.url += (
"/gitweb/" => "/usr/lib/cgi-bin/gitweb.cgi",
"/gitweb.css" => "/var/www/gitweb.css",
"/git-logo.png" => "/var/www/git-logo.png",
"/git-favicon.png" => "/var/www/git-favicon.png",
)
$HTTP["url"] =~ "^/gitweb/" {
setenv.add-environment = (
"GITWEB_CONFIG" => "/srv/example.com/gitweb/gitweb.conf",
)
cgi.assign = ( "" => "" )
}