[BACK]Return to INSTALL CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / cvsweb

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.
                      7:    Currently, you need to have the GNU RCS utilities  'rlog',
                      8:    'rcsdiff' installed (current version is 5.7).
                     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.
                     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.
                     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).
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.
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.
                     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.
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.
                     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.
                     72: --------------------
                     74: if you got PROBLEMS ..
                     75: ----------------------
                     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
                     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>)