Add instructions for using gitweb.
This commit is contained in:
parent
d875e0fe5a
commit
6ab2aa0a4b
3 changed files with 74 additions and 0 deletions
33
README.rst
33
README.rst
|
@ -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
|
script, ``/etc/inittab``, ``inetd.conf``, ``runit``, or something like
|
||||||
that (good luck).
|
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
|
Contact
|
||||||
=======
|
=======
|
||||||
|
|
20
gitweb.conf
Normal file
20
gitweb.conf
Normal 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
21
lighttpd-gitweb.conf
Normal 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 = ( "" => "" )
|
||||||
|
}
|
Loading…
Reference in a new issue