version 3.3, 2002/04/05 11:12:41 |
version 3.8, 2003/04/27 16:57:39 |
|
|
$FreeBSD$ |
$FreeBSD$ |
|
|
1) To get cvsweb.cgi to work, make sure that you |
1) To get cvsweb.cgi to work, make sure that you have Perl 5.005_03 or |
have Perl 5 installed and a webserver which is capable |
newer installed and a web server which is capable of executing CGI |
to execute cgi-scripts. |
scripts. |
|
|
Currently, you need to have the GNU RCS utilities 'rlog', |
The following Perl modules are required. Chances are that some of |
|
these are already installed with your Perl distribution. The oldest |
|
Perl distributions, if any, that already ship with these modules have |
|
been marked below. If your Perl doesn't have some of the modules, |
|
you can get them from CPAN, <http://www.cpan.org/>. Be sure to |
|
install also the prerequisites these modules may have. Note that |
|
this list contains only modules that aren't already part of Perl |
|
5.005_03 and newer. |
|
|
|
|
|
Module name Ships with Perl version |
|
------------------------------------------- |
|
File::Temp 5.8.0 |
|
|
|
Surprisingly enough, you need to have cvs installed. The recommended |
|
version of cvs is 1.11 or newer. Older cvs versions may work with |
|
more or less quirks, YMMV. |
|
|
|
Currently, you'll also need to have the GNU RCS utilities 'rlog', |
'rcsdiff' installed (current version is 5.7). |
'rcsdiff' installed (current version is 5.7). |
|
|
This will change if cvs will be able |
This may change if cvs will be able to serve these functions without |
to serve these functions without having a working directory |
having a working directory [see TODO]. |
[see TODO] |
|
Note, that the cvsweb.cgi-script needs to have physical |
|
access to the repository (or a copy of it) therefore; |
|
rsh/ssh or pserver access doesn't work yet. |
|
|
|
2) copy cvsweb.conf to your configuration directory. If |
Note that the cvsweb.cgi script needs to have physical access to the |
|
repository (or a copy of it) therefore; rsh, ssh or pserver access |
|
doesn't work yet. |
|
|
|
Install CvsGraph if you want to use it with CVSWeb, and see (6) for |
|
configuration notes. CvsGraph 1.4.0 or newer is required. |
|
|
|
2) Copy cvsweb.conf to your configuration directory. If |
you've installed Apache, $ServerRoot/conf (or $ServerRoot/etc |
you've installed Apache, $ServerRoot/conf (or $ServerRoot/etc |
with versions >= 1.3.0) makes sense. |
with versions >= 1.3.0) makes sense. |
Edit cvsweb.conf to fit your needs, esp. set the CVS-Root(s) |
Edit cvsweb.conf to fit your needs, esp. set the CVS-Root(s) |
|
|
If your RCS utilities are not in the $PATH of the cgi execution |
If your RCS utilities are not in the $PATH of the cgi execution |
environment you need to set it in the 'Misc' section as well. |
environment you need to set it in the 'Misc' section as well. |
|
|
3) copy cvsweb.cgi to the cgi-script location of your web server. |
3) Copy cvsweb.cgi to the cgi script location of your web server. |
Edit it to make the variable $config (look for 'Configuration Area') |
Edit it to make the variable $config (look for 'Configuration Area') |
point to your configuration file. |
point to your configuration file. |
If your perl binary isn't located in /usr/bin you have to edit the |
If your perl binary isn't located in /usr/bin you'll have to edit the |
first line of the script as well. |
first line of the script as well. |
If you want to let cvsweb.cgi run on WinNT running see (7). |
If you want to run cvsweb.cgi on Windows NT, see (8). |
|
|
4) If you do not have the dir.gif, text.gif and back.gif-icons, copy |
4) If you do not have the dir.gif, text.gif and back.gif icons, copy |
them somewhere in your $DocumentRoot and edit the %ICONS-Hashtable |
them somewhere in your $DocumentRoot and edit the %ICONS hash |
in cvsweb.conf. You won't need to do this if you have a stock |
in cvsweb.conf. You won't need to do this if you have a stock |
Apache installed .. the're located in the default icons-directory. |
Apache installed - they're located in the default icons directory. |
The icons distributed with this cvsweb are in the public domain. |
The icons distributed with this cvsweb are in the public domain. |
If you think that the default icons are to large, use the corresponding |
If you think that the default icons are too large, use the corresponding |
miniicons in the icons-directory and change the %ICONS-Hashtable in |
mini icons in the icons/ directory and change the %ICONS hash in |
cvsweb.conf. |
cvsweb.conf. |
|
|
5) have fun |
5) Copy cvsweb.css from the css/ directory to a web server directory, and |
|
point the $cssurl variable in cvsweb.conf to it. |
|
|
6) If you've Windows NT running, calling of external programs with parameters |
6) CvsGraph <http://www.akhphd.au.dk/~bertho/cvsgraph/> can be used with |
|
this version of CVSWeb. See the $allow_cvsgraph and $cvsgraph_config |
|
configuration variables in cvsweb.conf. cvsweb.cgi will override some |
|
of the settings in the cvsgraph configuration file with command line |
|
options; the following in particular: map_branch_href, map_rev_href and |
|
map_diff_href so you won't have to tweak them for CVSWeb. Note (and |
|
install) also the cvsgraph.png icon in the icons/ directory. |
|
|
|
7) Have fun! |
|
|
|
8) If you've Windows NT running, calling of external programs with parameters |
single quoted doesn't work (search for rcsdiff, rlog in |
single quoted doesn't work (search for rcsdiff, rlog in |
cvsweb.cgi), you've to replace it with double quotes. Thanks to |
cvsweb.cgi), you've to replace it with double quotes. Thanks to |
Nick Brachet to point this out. |
Nick Brachet for pointing this out. |
I don't know if cvs-annotate works on NT. |
I don't know if cvs-annotate works on NT. |
|
|
> From: Nick Brachet <nick@gradient.com> |
> From: Nick Brachet <nick@gradient.com> |
|
|
> will fail on NT because the ' are not recognized. Using " will work |
> will fail on NT because the ' are not recognized. Using " will work |
> though. |
> though. |
|
|
7) If you like you can add descriptions to be shown next to each directory |
9) If you like you can add descriptions to be shown next to each directory |
or module name. These are read from CVSROOT/descriptions. |
or module name. These are read from CVSROOT/descriptions. |
|
|
- Check out a copy of your CVSROOT |
- Check out a copy of your CVSROOT |
- edit checkoutlist and add a line that says |
- edit checkoutlist and add a line that says |
Line 76 if you got PROBLEMS .. |
|
Line 108 if you got PROBLEMS .. |
|
|
|
If you've trouble to make cvsweb.cgi work ... |
If you've trouble to make cvsweb.cgi work ... |
.. if nothing seems to work: |
.. if nothing seems to work: |
o check, if you can execute CGI-scripts (Apache needs to have an |
o Check if you can execute CGI-scripts (Apache needs to have an |
ScriptAlias /cgi-bin or cgi-script Handler defined). Try to |
ScriptAlias /cgi-bin or cgi-script Handler defined). Try to |
execute a simple CGI-script that often comes with the distribution |
execute a simple CGI script that often comes with the distribution |
of the webserver; locate the logfiles and try to find hints |
of the web server; locate the log files and try to find hints |
which explain the malfunction |
which explain the malfunction. |
o view the entries in the webservers error.log |
o View the entries in the web servers error.log |
|
|
.. If cvsweb seems to work but doesn't show the expected result |
.. If cvsweb seems to work but doesn't show the expected result |
(Typical error: you can't see any files) |
(Typical error: you can't see any files) |
o check, whether the CGI-script has read-permissions to your |
o Check whether the CGI script has read permissions to your |
CVS-Repository. The CGI-script often runs as the user 'nobody' |
CVS-Repository. The CGI script often runs as the user 'nobody' |
or 'httpd' .. |
or 'httpd'... |
If you use annotation, the user needs to have write-permissions |
If you use annotation, the user needs to have write permissions |
to CVSROOT/history and to the directory the file is in in order |
to CVSROOT/history and to the directory the file is in in order |
to place the read-lock. |
to place the read-lock. |
If you don't like cvsweb to write into your CVSROOT/history, build |
If you don't want cvsweb to write into your CVSROOT/history, build |
a fake cvsroot with symlinks to the 'real' CVS-directories and make |
a fake cvsroot with symlinks to the 'real' CVS-directories and make |
a fake CVSROOT/history as symbolic link to /dev/null. |
a fake CVSROOT/history as symbolic link to /dev/null. |
If you don't like cvs, called from cvsweb, to place read-locks - let |
If you don't want cvs called from cvsweb to place read-locks - let |
cvsweb operate on a copy. |
cvsweb operate on a copy. |
o does cvsweb find your RCS-utils/cvs-binary(annotate) ? ($ENV{PATH} in |
o Does cvsweb find your RCS-utils/cvs-binary(annotate) ? ($ENV{PATH} in |
cvsweb.conf !) |
cvsweb.conf !) |
o cvsweb allows for compression now. It is determined first, |
o cvsweb allows for compression now. It is determined first, |
if the browser accepts gzip-encoding. But - no rule without |
if the browser accepts gzip-encoding. But - no rule without |
exception - MSIE claims to understand gzip encoded content but |
exception - MSIE claims to understand gzip encoded content but |
displays garbage .. so MSIE is disabled now. Maybe you find another |
displays garbage .. so MSIE is disabled now. Maybe you find another |
Browser with this problem, then you should disable compression |
Browser with this problem, then you should disable compression |
($allo_compress=0 in cvsweb.conf) and |
($allow_compress=0 in cvsweb.conf) and |
report it to me (<zeller@think.de>) |
report it to me (<zeller@think.de>) |
|
|