Using ViewVC

If you plan to use ViewVC anyone who can access ViewVC can access all repositories storing data in the ViewVC database. SVN Access Manager is capable to create a ViewVC web server configuration to limit access. It will consist of a group file and a web server configuration file.

To use the ViewVC configuration files you have to configure

root_as_url_component = 1

in the viewvc.conf file of your ViewVC installation. Without this configuration setting the generated files will not work properly.

SVN Access Manager will create the group file for allowing access to the repositories stored in ViewVC. It will also create a configuration file for the Apache web server to use this group file. To use the Apache configuration file you have to advice your Apache web server to load the configuration file. You have to define a command for reloading the Abache web server configuration which can be executed by the web server itself.

Here’s a short description of a setup using Apache web server 2.2 with Debian Etch. For the example it is assumed, that SVN Access Manager creates the configuration files to /etc/svn and ViewVC version 1.0.5 is already installed to /usr/local/viewvc-1.0.5. It is also assumed that you have configured Python accordingly. The ViewVC web server configuration consists of two files:

  • viewvc-apache.conf
  • viewvc-groups

For user authentication the password file created from SVN Access Manager is used as well.

Example configuration:

First go to /etc/apache2/sites-available. Create a file “viewvc” containing the following:

ScriptAlias /viewvc /usr/local/viewvc-1.0.5/bin/cgi/viewvc.cgi

Go to /etc/apache2/sites-enabled and create a link to the file created before:

ln -s /etc/apache2/sites-available/viewvc viewvc

Now change to /etc/apache2/conf.d and create a link to the ViewVC configuration created bySVN Access Manager:

ln -s /etc/svn/viewvc-apache.conf viewvc-apache.conf

For automatic configuration reload of the web server you can define a sudo command like this:

www-data        ALL = NOPASSWD: /etc/init.d/apache2 graceful

Now restart your web server.

Detailed information about ViewVC can be found on the ViewVC Homepage and in the INSTALL file in the ViewVC archive.