I just saw a configuration howto here. I do agree that you can use it to maintain ordinary files beyond source code. That reminded me that I also have some raw notes. While the HowTo showed instructions on Linux/Debian/Ubuntu, my notes were taken from an install on a system with Solaris installed. There should be no difference on the actual Apache/Subversion configuration. The only thing that I can think of is the method of installing package. For Solaris, I used packages from Blastwave, by using pkg-get command, which is very similar to apt-get.
Thanks to Satish for the configuration example.
Here are the notes:
1. get dev ver of viewcvs 1.0
2. get the following packages
ap2_modpython
ap2_subversion
3. install php5
I also installed ap2_modphp5use htpasswd to create user and password
when creating the first user, pass in the file name
4. cd /opt/csw/apache2/etc
5. ./htpasswd -cm ../etc/srt_auth_file username
6. cd /opt/csw/apache2/sbin
7. ./apachectl start
8. update viewcvs.conf in /usr/local/viewcvs-1.0-dev
svn_roots = svn: /disk2/svnroot
root_parents = /disk2/svnroot : svn
9. Use the following example configuration to configure your instance.
/opt/csw/apache2/etc
httpd.conf
LoadModule php5_module libexec/libphp5.so
LoadModule dav_svn_module libexec/mod_dav_svn.so
LoadModule authz_svn_module libexec/mod_authz_svn.so
LoadModule python_module libexec/mod_python.so
<Directory /usr/local/viewcvs-1.0-dev/www/mod_python>
AllowOverride FileInfo Options
AuthType Basic
AuthName “My SVN Site”
AuthUserFile etc/svn_mysvn_auth_file
Require valid-user
</Directory>
#Begin ViewCVS Setup
ScriptAlias /viewsvn “/usr/local/viewcvs-1.0-dev/www/mod_python/viewcvs.py”
<Location /viewsvn/*>
AllowOverride FileInfo Options
Require valid-user
AuthType Basic
AuthName “My SVN Site”
AuthUserFile etc/svn_mysvn_auth_file
</Location>
#End ViewCVS Setup
#Begin Subversion Setup
<Location /mysvn>
DAV svn
SVNPath /export/svnrepos/mysvn
#per directory access control policy file
AuthzSVNAccessFile etc/svn_policy
#only authenticated users may access the repository
Require valid-user
AuthType Basic
AuthName “My SVN site”
AuthUserFile etc/svn_my_svn_auth_file
</Location>
#End Subversion Setup
Appendix A: other packages installed on the system
This is just a reference showing all the csw packages installed on a system with SVN and maybe a few other extra packages.
ap2_modpython
ap2_prefork
ap2_subversion
apache2
apache2c
apache2rt
apr
berkeleydb3
berkeleydb4
berkeleydb43
bzip2
common
expat
gdbm
ggettext
gnupg
gpgme
gsed
isaexec
krb5_lib
libgmp
libgpg_error
libiconv
libnet
libtool
mysql4
mysql4client
mysql4rt
ncurses
neon
openldap
openldap_client
openldap_rt
openssl
perl
pkg_get
pm_dbdmysql
pm_dbi
pth
pysvn
python
readline
sasl
subversion
swigpyrt
tcpwrappers
texinfo
top
unixodbc
wget
zlib

[...] I blogged about Subversion the other day. In that entry, I referenced a HowTo. Soon after I posted my entry, it got added as a comment for that HowTo. This comment blog aggregation is an interesting way to reference back to all who links to that HowTo and enable readers of that howto to see what people in the blogsphere are saying about that HowTo. However the aggregation mechanism doesn’t cover all comments that exists on the web. Here are the rest of the missing comments. Even though the aggregation feature isn’t all inclusive, it is still a nifty feature. [...]