Multi-User SVN - Setup Instructions
This is a wiki article created by HostingRails users. Please login or signup to make edits.
The first thing you should do is make sure that you have subversion project folder(s) already set up in ~/svn (e.g. ~/svn/project1) and have content imported to it - follow this tutorial to get that setup if you haven't already.
Next, you should make a folder in your root called authfiles that contains your AuthUserFile file (call it svn-htpasswd) and your AuthzSVNAccessFile (call it svn-access.conf)
[~]# mkdir authfiles
[~]# cd authfiles
[~/authfiles]# vi svn-htpasswd
make this simple text file contain the usernames and encrypted passwords of your users. You can use this simple tool to help you. e.g.
user1:98f.E108G8NYE
user2:38v7yTEicYTFM
save it then make your AuthzSVNAccessFile[~/authfiles]# vi svn-access.conf
This small text file should contain the projects and usernames and privileges like so:[project1:/]
user1 = rw
user2 = r
where project1 is the name of your ~/svn/project1 From here what you need to do is login to your cPanel and create a svn.yourdomain.com subdomain and leave it blank (i.e. don't do anything with it after you create it).
Then email support _at_ hostingrails.com and they will set up your vhost entry so you can access http://svn.yourdomain.com/svn/project1
Now if you wish to list all available Subversion repositories when you access http://svn.yourdomain.com/svn/ you need to just edit your AuthzSVNAccessFile (svn-access.conf). On top of the file you can add the following
[/]
* = r
According to this forum thread you can also control user access on a per-directory basis within the repository:
[project1:/trunk/somefolder]
user1 = rw
user2 = r
[project1:/trunk/someotherfolder]
user1 = r
user2 = r
" "
William
Kumar
Osh
Gamutw
Slwf