NAME
gotweb
—
Game of Trees Git repository server for
web browsers
SYNOPSIS
gotweb |
DESCRIPTION
gotweb
provides a web interface allowing
Git repository contents to be viewed with a web browser.
gotweb
is a CGI program based on
got(1) and
kcgi(3) which is intended to
run in a chroot(2)
environment in /var/www. The program has been
designed to work out of the box with the httpd(8) web server in conjunction with
slowcgi(8).
Enabling gotweb
requires the following
steps:
- The httpd.conf(5)
configuration file must be adjusted to run
gotweb
as a CGI program with slowcgi(8). The EXAMPLES section below contains an appropriate configuration file sample. - httpd(8) and slowcgi(8) must be enabled and started:
# rcctl enable httpd slowcgi # rcctl start httpd slowcgi
- Optionally, the run-time behaviour of
gotweb
can be configured via the gotweb.conf(5) configuration file. - Git repositories must be created at a suitable location inside
the web server's chroot(2) environment. These repositories should
not be writable by
the user ID of the httpd(8) server. The default location for repositories published by
gotweb
is /var/www/got/public. - Git repositories served by
gotweb
should be kept up-to-date with a mechanism such asgot fetch
, git-fetch(1), or rsync(1), scheduled by cron(8).
FILES
- /var/www/got/public/
- Default location for Git repositories served by
gotweb
. This location can be adjusted in the gotweb.conf(5) configuration file. - /var/www/cgi-bin/gotweb/gotweb
- The
gotweb
CGI program, statically linked for use in a chroot(2) environment. - /var/www/cgi-bin/gotweb/gw_tmpl/
- Directory for template files used by
gotweb
. - /var/www/cgi-bin/gotweb/libexec/
- Directory containing statically linked got(1) helper programs which are run by
gotweb
to read Git repositories. - /var/www/htdocs/gotweb/
- Directory containing HTML, CSS, and image files used by
gotweb
. - /var/www/got/tmp/
- Directory for temporary files created by
gotweb
.
EXAMPLES
Example configuration for httpd.conf:
types { include "/usr/share/misc/mime.types" } server "gotweb.example.com" { listen on * port 80 root "/htdocs/gotweb" location "/cgi-bin/*" { root "/" fastcgi } location "/*" { directory index "index.html" } }
SEE ALSO
got(1), kcgi(3), git-repository(5), gotweb.conf(5), httpd(8), slowcgi(8)
AUTHORS
Christian Weisgerber
<naddy@openbsd.org>
Jerome Kasper
<neon.king.fr@gmail.com>
Josh Rickmar
<jrick@zettaport.com>
Omar Polo
<op@openbsd.org>
Stefan Sperling
<stsp@openbsd.org>
Tracey Emery
<tracey@traceyemery.net>