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
gotwebas 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
gotwebcan 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
gotwebis /var/www/got/public. - Git repositories served by
gotwebshould 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
gotwebCGI 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
gotwebto 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>