Blame


1 56324ebe 2022-07-14 thomas .\"
2 56324ebe 2022-07-14 thomas .\" Copyright (c) 2020 Stefan Sperling
3 56324ebe 2022-07-14 thomas .\"
4 56324ebe 2022-07-14 thomas .\" Permission to use, copy, modify, and distribute this software for any
5 56324ebe 2022-07-14 thomas .\" purpose with or without fee is hereby granted, provided that the above
6 56324ebe 2022-07-14 thomas .\" copyright notice and this permission notice appear in all copies.
7 56324ebe 2022-07-14 thomas .\"
8 56324ebe 2022-07-14 thomas .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 56324ebe 2022-07-14 thomas .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 56324ebe 2022-07-14 thomas .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 56324ebe 2022-07-14 thomas .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 56324ebe 2022-07-14 thomas .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 56324ebe 2022-07-14 thomas .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 56324ebe 2022-07-14 thomas .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 56324ebe 2022-07-14 thomas .\"
16 56324ebe 2022-07-14 thomas .Dd $Mdocdate$
17 56324ebe 2022-07-14 thomas .Dt GOTWEB 8
18 56324ebe 2022-07-14 thomas .Os
19 56324ebe 2022-07-14 thomas .Sh NAME
20 56324ebe 2022-07-14 thomas .Nm gotweb
21 56324ebe 2022-07-14 thomas .Nd Game of Trees Git repository server for web browsers -- which obviously
22 56324ebe 2022-07-14 thomas needs to be updated to gotwebd
23 56324ebe 2022-07-14 thomas .Sh SYNOPSIS
24 56324ebe 2022-07-14 thomas .Nm
25 56324ebe 2022-07-14 thomas .Sh DESCRIPTION
26 56324ebe 2022-07-14 thomas .Nm
27 56324ebe 2022-07-14 thomas provides a web interface allowing Git repository contents to be viewed
28 56324ebe 2022-07-14 thomas with a web browser.
29 56324ebe 2022-07-14 thomas .Pp
30 56324ebe 2022-07-14 thomas .Nm
31 56324ebe 2022-07-14 thomas is a CGI program based on
32 56324ebe 2022-07-14 thomas .Xr got 1
33 56324ebe 2022-07-14 thomas and
34 56324ebe 2022-07-14 thomas .Xr kcgi 3
35 56324ebe 2022-07-14 thomas which is intended to run in a
36 56324ebe 2022-07-14 thomas .Xr chroot 2
37 56324ebe 2022-07-14 thomas environment in
38 56324ebe 2022-07-14 thomas .Pa /var/www .
39 56324ebe 2022-07-14 thomas The program has been designed to work out of the box with
40 56324ebe 2022-07-14 thomas the
41 56324ebe 2022-07-14 thomas .Xr httpd 8
42 56324ebe 2022-07-14 thomas web server in conjunction with
43 56324ebe 2022-07-14 thomas .Xr slowcgi 8 .
44 56324ebe 2022-07-14 thomas .Pp
45 56324ebe 2022-07-14 thomas Enabling
46 56324ebe 2022-07-14 thomas .Nm
47 56324ebe 2022-07-14 thomas requires the following steps:
48 56324ebe 2022-07-14 thomas .Bl -enum
49 56324ebe 2022-07-14 thomas .It
50 56324ebe 2022-07-14 thomas The
51 56324ebe 2022-07-14 thomas .Xr httpd.conf 5
52 56324ebe 2022-07-14 thomas configuration file must be adjusted to run
53 56324ebe 2022-07-14 thomas .Nm
54 56324ebe 2022-07-14 thomas as a CGI program with
55 56324ebe 2022-07-14 thomas .Xr slowcgi 8 .
56 56324ebe 2022-07-14 thomas The
57 56324ebe 2022-07-14 thomas .Sx EXAMPLES
58 56324ebe 2022-07-14 thomas section below contains an appropriate configuration file sample.
59 56324ebe 2022-07-14 thomas .It
60 56324ebe 2022-07-14 thomas httpd(8) and slowcgi(8) must be enabled and started:
61 56324ebe 2022-07-14 thomas .Bd -literal -offset indent
62 56324ebe 2022-07-14 thomas # rcctl enable httpd slowcgi
63 56324ebe 2022-07-14 thomas # rcctl start httpd slowcgi
64 56324ebe 2022-07-14 thomas .Ed
65 56324ebe 2022-07-14 thomas .It
66 56324ebe 2022-07-14 thomas Optionally, the run-time behaviour of
67 56324ebe 2022-07-14 thomas .Nm
68 56324ebe 2022-07-14 thomas can be configured via the
69 56324ebe 2022-07-14 thomas .Xr gotweb.conf 5
70 56324ebe 2022-07-14 thomas configuration file.
71 56324ebe 2022-07-14 thomas .It
72 56324ebe 2022-07-14 thomas Git repositories must be created at a suitable location inside the
73 56324ebe 2022-07-14 thomas web server's
74 56324ebe 2022-07-14 thomas .Xr chroot 2
75 56324ebe 2022-07-14 thomas environment.
76 56324ebe 2022-07-14 thomas These repositories should
77 56324ebe 2022-07-14 thomas .Em not
78 56324ebe 2022-07-14 thomas be writable by the user ID of the
79 56324ebe 2022-07-14 thomas .Xr httpd 8
80 56324ebe 2022-07-14 thomas server.
81 56324ebe 2022-07-14 thomas The default location for repositories published by
82 56324ebe 2022-07-14 thomas .Nm
83 56324ebe 2022-07-14 thomas is
84 56324ebe 2022-07-14 thomas .Pa /var/www/got/public .
85 56324ebe 2022-07-14 thomas .It
86 56324ebe 2022-07-14 thomas Git repositories served by
87 56324ebe 2022-07-14 thomas .Nm
88 56324ebe 2022-07-14 thomas should be kept up-to-date with a mechanism such as
89 56324ebe 2022-07-14 thomas .Cm got fetch ,
90 56324ebe 2022-07-14 thomas .Xr git-fetch 1 ,
91 56324ebe 2022-07-14 thomas or
92 56324ebe 2022-07-14 thomas .Xr rsync 1 ,
93 56324ebe 2022-07-14 thomas scheduled by
94 56324ebe 2022-07-14 thomas .Xr cron 8 .
95 56324ebe 2022-07-14 thomas .El
96 56324ebe 2022-07-14 thomas .Sh FILES
97 56324ebe 2022-07-14 thomas .Bl -tag -width /var/www/got/public/ -compact
98 56324ebe 2022-07-14 thomas .It Pa /var/www/got/public/
99 56324ebe 2022-07-14 thomas Default location for Git repositories served by
100 56324ebe 2022-07-14 thomas .Nm .
101 56324ebe 2022-07-14 thomas This location can be adjusted in the
102 56324ebe 2022-07-14 thomas .Xr gotweb.conf 5
103 56324ebe 2022-07-14 thomas configuration file.
104 56324ebe 2022-07-14 thomas .It Pa /var/www/cgi-bin/gotweb/gotweb
105 56324ebe 2022-07-14 thomas The
106 56324ebe 2022-07-14 thomas .Nm
107 56324ebe 2022-07-14 thomas CGI program, statically linked for use in a
108 56324ebe 2022-07-14 thomas .Xr chroot 2
109 56324ebe 2022-07-14 thomas environment.
110 56324ebe 2022-07-14 thomas .It Pa /var/www/cgi-bin/gotweb/gw_tmpl/
111 56324ebe 2022-07-14 thomas Directory for template files used by
112 56324ebe 2022-07-14 thomas .Nm .
113 56324ebe 2022-07-14 thomas .It Pa /var/www/cgi-bin/gotweb/libexec/
114 56324ebe 2022-07-14 thomas Directory containing statically linked
115 56324ebe 2022-07-14 thomas .Xr got 1
116 56324ebe 2022-07-14 thomas helper programs which are run by
117 56324ebe 2022-07-14 thomas .Nm
118 56324ebe 2022-07-14 thomas to read Git repositories.
119 56324ebe 2022-07-14 thomas .It Pa /var/www/htdocs/gotweb/
120 56324ebe 2022-07-14 thomas Directory containing HTML, CSS, and image files used by
121 56324ebe 2022-07-14 thomas .Nm .
122 56324ebe 2022-07-14 thomas .It Pa /var/www/got/tmp/
123 56324ebe 2022-07-14 thomas Directory for temporary files created by
124 56324ebe 2022-07-14 thomas .Nm .
125 56324ebe 2022-07-14 thomas .El
126 56324ebe 2022-07-14 thomas .Sh EXAMPLES
127 56324ebe 2022-07-14 thomas Example configuration for httpd.conf:
128 56324ebe 2022-07-14 thomas .Bd -literal -offset indent
129 56324ebe 2022-07-14 thomas
130 56324ebe 2022-07-14 thomas types { include "/usr/share/misc/mime.types" }
131 56324ebe 2022-07-14 thomas server "gotweb.example.com" {
132 56324ebe 2022-07-14 thomas listen on * port 80
133 56324ebe 2022-07-14 thomas root "/htdocs/gotweb"
134 56324ebe 2022-07-14 thomas location "/cgi-bin/*" {
135 56324ebe 2022-07-14 thomas root "/"
136 56324ebe 2022-07-14 thomas fastcgi
137 56324ebe 2022-07-14 thomas }
138 56324ebe 2022-07-14 thomas location "/*" {
139 56324ebe 2022-07-14 thomas directory index "index.html"
140 56324ebe 2022-07-14 thomas }
141 56324ebe 2022-07-14 thomas }
142 56324ebe 2022-07-14 thomas .Ed
143 56324ebe 2022-07-14 thomas .Sh SEE ALSO
144 56324ebe 2022-07-14 thomas .Xr got 1 ,
145 56324ebe 2022-07-14 thomas .Xr kcgi 3 ,
146 56324ebe 2022-07-14 thomas .Xr git-repository 5 ,
147 56324ebe 2022-07-14 thomas .Xr gotweb.conf 5 ,
148 56324ebe 2022-07-14 thomas .Xr httpd 8 ,
149 56324ebe 2022-07-14 thomas .Xr slowcgi 8
150 56324ebe 2022-07-14 thomas .Sh AUTHORS
151 56324ebe 2022-07-14 thomas .An Tracey Emery Aq Mt tracey@traceyemery.net
152 56324ebe 2022-07-14 thomas .An Stefan Sperling Aq Mt stsp@openbsd.org