Annotation of cvsweb/INSTALL, Revision 3.3
3.3 ! knu 1: $FreeBSD$
3.2 knu 2:
3.1 knu 3: 1) To get cvsweb.cgi to work, make sure that you
4: have Perl 5 installed and a webserver which is capable
5: to execute cgi-scripts.
6:
7: Currently, you need to have the GNU RCS utilities 'rlog',
8: 'rcsdiff' installed (current version is 5.7).
9:
10: This will change if cvs will be able
11: to serve these functions without having a working directory
12: [see TODO]
13: Note, that the cvsweb.cgi-script needs to have physical
14: access to the repository (or a copy of it) therefore;
15: rsh/ssh or pserver access doesn't work yet.
16:
17: 2) copy cvsweb.conf to your configuration directory. If
18: you've installed Apache, $ServerRoot/conf (or $ServerRoot/etc
19: with versions >= 1.3.0) makes sense.
20: Edit cvsweb.conf to fit your needs, esp. set the CVS-Root(s)
21: of the Repository(ies) you want to view.
22: If your RCS utilities are not in the $PATH of the cgi execution
23: environment you need to set it in the 'Misc' section as well.
24:
25: 3) copy cvsweb.cgi to the cgi-script location of your web server.
26: Edit it to make the variable $config (look for 'Configuration Area')
27: point to your configuration file.
28: If your perl binary isn't located in /usr/bin you have to edit the
29: first line of the script as well.
30: If you want to let cvsweb.cgi run on WinNT running see (7).
31:
3.2 knu 32: 4) If you do not have the dir.gif, text.gif and back.gif-icons, copy
3.1 knu 33: them somewhere in your $DocumentRoot and edit the %ICONS-Hashtable
34: in cvsweb.conf. You won't need to do this if you have a stock
35: Apache installed .. the're located in the default icons-directory.
36: The icons distributed with this cvsweb are in the public domain.
37: If you think that the default icons are to large, use the corresponding
38: miniicons in the icons-directory and change the %ICONS-Hashtable in
39: cvsweb.conf.
40:
3.2 knu 41: 5) have fun
3.1 knu 42:
3.2 knu 43: 6) If you've Windows NT running, calling of external programs with parameters
3.1 knu 44: single quoted doesn't work (search for rcsdiff, rlog in
45: cvsweb.cgi), you've to replace it with double quotes. Thanks to
46: Nick Brachet to point this out.
47: I don't know if cvs-annotate works on NT.
48:
49: > From: Nick Brachet <nick@gradient.com>
50: [...]
51: > I'm running NT <g> and I had to patch a few things. For example,
52: > open(RCS, "co -p$rev '$fullname' 2>&1 |")
53: > will fail on NT because the ' are not recognized. Using " will work
54: > though.
55:
3.2 knu 56: 7) If you like you can add descriptions to be shown next to each directory
3.1 knu 57: or module name. These are read from CVSROOT/descriptions.
58:
59: - Check out a copy of your CVSROOT
60: - edit checkoutlist and add a line that says
61: descriptions
62: - edit descriptions. Add one line for each directory that you would like
63: to have a comment for. You can have HTML in the descriptions.
64: These lines are relative from the $CVSROOT. Example:
3.3 ! knu 65: JVote An application to assist with <A HREF="http://www.irtc.org/">IRTC</A> voting
! 66: JVote/images Store the images for JVote
! 67: JVote/tools Scripts to startup JVote
3.1 knu 68: - cvs add descriptions
69: - cvs commit
70: - Set $use_descriptions to 1 in cvsweb.conf.
71:
72: --------------------
73:
74: if you got PROBLEMS ..
75: ----------------------
76:
77: If you've trouble to make cvsweb.cgi work ...
78: .. if nothing seems to work:
79: o check, if you can execute CGI-scripts (Apache needs to have an
80: ScriptAlias /cgi-bin or cgi-script Handler defined). Try to
81: execute a simple CGI-script that often comes with the distribution
82: of the webserver; locate the logfiles and try to find hints
83: which explain the malfunction
84: o view the entries in the webservers error.log
85:
86: .. If cvsweb seems to work but doesn't show the expected result
87: (Typical error: you can't see any files)
88: o check, whether the CGI-script has read-permissions to your
89: CVS-Repository. The CGI-script often runs as the user 'nobody'
90: or 'httpd' ..
91: If you use annotation, the user needs to have write-permissions
92: to CVSROOT/history and to the directory the file is in in order
93: to place the read-lock.
94: If you don't like cvsweb to write into your CVSROOT/history, build
95: a fake cvsroot with symlinks to the 'real' CVS-directories and make
96: a fake CVSROOT/history as symbolic link to /dev/null.
97: If you don't like cvs, called from cvsweb, to place read-locks - let
98: cvsweb operate on a copy.
99: o does cvsweb find your RCS-utils/cvs-binary(annotate) ? ($ENV{PATH} in
100: cvsweb.conf !)
101: o cvsweb allows for compression now. It is determined first,
102: if the browser accepts gzip-encoding. But - no rule without
103: exception - MSIE claims to understand gzip encoded content but
104: displays garbage .. so MSIE is disabled now. Maybe you find another
105: Browser with this problem, then you should disable compression
106: ($allo_compress=0 in cvsweb.conf) and
107: report it to me (<zeller@think.de>)
108:
CVSweb