svnserve-only + ViewCVS HOWTO
From: Keith Smith <keith_at_pharos.co.nz>
Date: 2004-07-21 02:06:57 CEST
I've recorded the steps that I took to build and install svnserve-only
I have taken a couple of shortcuts in light of the constraints on my
* I need only one repository. All access URLs have been made as short
* I don't access the repository via SSH, so the configuration required
* I assume that CGI-capable Apache is already installed. All other
* Permissions are less restrictive than they could be in some places.
How to build and install svnserve-only subversion with ViewCVS
Version numbers in the text were used in a real installation.
1. Build and install SWIG.
$ cd SWIG-1.3.21
2. Build and install Berkeley DB4.
$ cd db-4.2.52/build_unix
3. Build and install Subversion.
$ cd subversion-1.0.5
4. Change required system settings.
* In /etc/profile:
Add '/usr/local/subversion-1.0.5/bin' to PATH
* In /etc/ld.so.conf:
Add '/usr/local/subversion-1.0.5/lib' to the top of the file.
(then run /sbin/ldconfig as root)
* When using the python bindings:
'/usr/local/subversion-1.0.5/lib/svn-python' needs to be added to
5. Add a user 'svn' and convert everything below the directory
svnadmin create /usr/local/subversion-1.0.5/svn
6. Configure the newly created repository.
* Modify /usr/local/subversion-1.0.5/svn/conf/svnserve.conf to the
* Create /usr/local/subversion-1.0.5/svn/conf/passwd with the
7. Set up the system to run svnserve.
* Add the following to /etc/services:
svn 3690/tcp # Subversion
* Create a file /etc/xinetd.d/svn with the following contents:
Installation of ViewCVS
1. Run the installer, changing the installation directory to:
2. Edit /usr/local/subversion-1.0.5/viewcvs-1.0-dev/viewcvs.conf:
* Comment out the cvs_roots line.
* Set svn_roots = svn: /usr/local/subversion-1.0.5/svn
* Set default_root = svn
* Set use_enscript = 1
3. Add the following line to the start of viewcvs.cgi:
4. Set up permissions to allow Apache to access the viewcvs script.
* Ensure that httpd runs as user 'apache', and add apache to group 'svn'.
* chown -R svn.svn /usr/local/subversion-1.0.5
* chmod -R g+rwX /usr/local/subversion-1.0.5 to grant full access rights to group svn.
5. Configure Apache to give viewcvs a nicer URL.
ScriptAlias /svn "/usr/local/subversion-1.0.5/viewcvs-1.0-dev/www/cgi/viewcvs.cgi"
The svn repository can now be accessed at http://server/svn.
6. Configure for multiple access methods: developers will be accessing
* Add 'umask 002' to the apachectl script corresponding to the Apache server that invokes viewcvs..
* Set the sticky group bit on the directories in the repository:
This is an archived mail posted to the Subversion Users mailing list.