Configure password based subversion access via http for multiple users

Given the tight timeline to configure subversion with httpd access having multiple users, I found that it’s not a big deal. Although, as there’s excellent reference available online for subversion, this quick howto will be helpful to point out just the essential statements.

What I want:
A subversion server having multiple repository in /svn directory and accessible through http url like http://svn.example.com. You can not browse svn repositories without supplying a valid username/password. All users have read only access to all repositories while only one user ‘svnadmin’ have read/write (commit,update etc.) access to svn.

QuickFix: ViewVC ImportError: No module named svn error

Recenlty I was in need to update a old subversion server to latest one in a CentOS 5.2 box. I removed the older rpms and compiled subversion from latest source. Everything seems fine except ViewVC which is used to browse svn repositories.

Following error was occuring:

An Exception Has Occurred
Python Traceback

Traceback (most recent call last):
File “/usr/local/viewvc-1.1/lib/viewvc.py”, line 4065, in main
request.run_viewvc()
File “/usr/local/viewvc-1.1/lib/viewvc.py”, line 403, in run_viewvc
self.view_func(self)
File “/usr/local/viewvc-1.1/lib/viewvc.py”, line 1662, in view_roots
allroots = list_roots(request)
File “/usr/local/viewvc-1.1/lib/viewvc.py”, line 3922, in list_roots
cfg.utilities, cfg.options.svn_config_dir)
File “/usr/local/viewvc-1.1/lib/vclib/svn/__init__.py”, line 53, in SubversionRepository
import svn_repos
File “/usr/local/viewvc-1.1/lib/vclib/svn/svn_repos.py”, line 25, in ?
from svn import fs, repos, core, client, delta
ImportError: No module named svn

Fix subversion/svn child exit signal segmentation fault error in Apache

When running subversion with apache, how good config you’d done, you may still found that your svn repos are not accessible through http:// or https:// and most probably you’ll find this error in your apache error logs:

child pid 6485 exit signal Segmentation fault (11)

In my CentOS 5.2 box with httpd 2.2.3 and subversion 1.6.1, this error caused enough headache for me and claimed long time before I was able to find out the root cause. The problem is caused by collision of apr and apu utilities which are installed by both subversion and Apache. These packages are required to access svn via apache. The subversion-deps package contains apr and apr-util version 0.9.x, but apache 2.2.x uses apr and apr-util 1.2.x, and subversion and apache must be using the same version of apr and apr-util, else things can result in above error.

Download, install and configure ViewVC for Subversion

Updated on April 24th, 2009.
ViewVC is a Subversion repository browser software having many useful features. You need python and a web browser to run it. If you are maintaining a Subversion server, you should install it to view repositories, files, branches, directories, versions or comparison between versions.

Step 1. Get the latest version of viewvc from here, when writing of this article the latest version was 1.2-dev. I’m using the development branch, you can use more stable. Untar it and start installation:

# tar xzf viewvc-1.2-dev.tar.gz
# cd viewvc-1.2-dev
# ./viewvc-install

Get Adobe Flash playerPlugin by wpburn.com wordpress themes