CVS on Rabelais
Configured as in
StandardCvs.
viewcvs
Viewcvs allows web browsing of a cvs repository and downloading of tarballs, if enabled.
To install it from source:
tar zxf viewcvs-0.9.2.tar.gz
cd viewcvs-0.9.2
sudo ./viewcvs-install
It will ask you where you want to install ViewCVS; say
/usr/local/viewcvs.
Edit the file
/etc/viewcvs/viewcvs.conf, and set the option:
cvs_roots = Development: /usr/local/cvsroot
To fix a
cross-site scripting vulnerability in viewcvs (along with a bug in the use of
enscript, described below), apply the patch in
viewcvs.py.diff (which is based on the one found
here):
cd /usr/local/viewcvs/lib
sudo cp viewcvs.py viewcvs.py.orig
sudo patch < /path/to/viewcvs.py.diff
enscript
GNU Enscript is replacement for Adobe's enscript program. It converts ASCII files to PostScript and stores generated output to a file or sends it directly to the printer. It includes features for "pretty-printing" (language sensitive code highlighting) in several programming languages, which is what viewcvs uses it for.
Install it with:
sudo apt-get install enscript
Edit the file
/etc/viewcvs/viewcvs.conf to enable enscript:
use_enscript = 1
enscript_path = /usr/bin/
That should give you syntax highlighting, not a very good one though, as implemented by enscript.
cvsgraph
Cvsgraph is a utility to make a graphical representation of all revisions and branches of a file in a CVS/RCS repository.
Install it with:
sudo apt-get install cvsgraph
Edit
/etc/viewcvs/viewcvs.conf to enable cvsgraph:
use_cvsgraph = 1
cvsgraph_path = /usr/bin/
Making a virtual host
Make a virtual host
cvs.example.org for your CVS repository:
sudo mkdir /var/www/cvs.example.org
cd /var/www/cvs.example.org
sudo mkdir logs cgi-bin
cd cgi-bin
sudo ln -s /usr/local/viewcvs/cgi/viewcvs.cgi viewcvs.cgi
sudo ln -s /usr/local/viewcvs/cgi/query.cgi viewcvs-query.cgi
The corresponding virtual host definition is:
<VirtualHost 10.0.0.243:80>
ServerAdmin webmaster@example.org
DocumentRoot /var/www/cvs.example.org
ServerName cvs.example.org
ScriptAlias /cgi-bin/ /var/www/cvs.example.org/cgi-bin/
Alias /viewcvs/ /usr/share/viewcvs/
ErrorLog /var/www/cvs.example.org/logs/error.log
CustomLog /var/www/cvs.example.org/logs/access.log common
<IfModule mod_alias.c>
RedirectMatch ^/$ http://cvs.example.org/cgi-bin/viewcvs.cgi
</IfModule>
# Prevent 'Cross-Site Tracing' attacks
# (http://www.apacheweek.com/issues/03-01-24#news)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
</IfModule>
</VirtualHost>
to top