Using ViewVC

Generate matching access restrictions for ViewVC instead of exposing every repository to everyone.

If you use ViewVC, anyone who can access it can normally see every repository stored in the ViewVC database. SVN Access Manager can generate a ViewVC web server configuration to limit access, consisting of a group file and a web server configuration file.

To use the generated ViewVC configuration files, set the following in your viewvc.conf:

root_as_url_component = 1

Without this setting the generated files will not work properly.

SVN Access Manager creates the group file for repository access in ViewVC, plus a matching Apache configuration file. You must tell Apache to load that file, and define a command that lets the web server reload its own configuration.

Example: Apache 2.2 on Debian Etch

Assuming SVN Access Manager writes its configuration files to /etc/svn and ViewVC 1.0.5 is installed to /usr/local/viewvc-1.0.5, with Python already configured. The ViewVC web server configuration consists of two files:

  • viewvc-apache.conf
  • viewvc-groups

The password file created by SVN Access Manager is reused for authentication.

In /etc/apache2/sites-available, create a file named viewvc:

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

In /etc/apache2/sites-enabled, link to the file you just created:

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

In /etc/apache2/conf.d, link to the ViewVC configuration generated by SVN Access Manager:

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

For automatic configuration reload, define a sudo rule such as:

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

Restart your web server, and you’re done.

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

Continue: Database Setup