Use wget to pull down the latest source.
tar xzfv subversion.1.2.3.4.tar.gz
cd subversion.1.2.3.4/
./configure
make && make install
svnadmin create --fs-type fsfs /path/to/repo
touch /path/to/repo/.htpasswd
htpasswd /path/to/repo username
svn import -m "First Import" --username=username /source/path/ file:///path/to/repo
Setup the apache config file. Since I use named virtual hosts and typically have multple repos here is a sample.
<VirtualHost *:80>
ServerName svn.yourhost.com
DocumentRoot "/var/www/html"
ServerPath /html/
DirectoryIndex index.php index.htm
<Location /svn/repo1>
DAV svn
SVNPath /path/to/repo/repo1
AuthType Basic
AuthName "repo1 Repository"
AuthzSVNAccessFile /path/to/svn-acl-conf
AuthUserFile /path/to/repo/repo1/.htpasswd
Require valid-user
</Location>
<Location /svn/repo2>
DAV svn
SVNPath /path/to/repo/repo2
AuthType Basic
AuthName "repo2 Repository"
AuthzSVNAccessFile /path/to/svn-acl-conf
AuthUserFile /path/to/repo/repo1/.htpasswd
Require valid-user
</Location>
<Location /svn/repo3>
DAV svn
SVNPath /path/to/repo/repo3
AuthType Basic
AuthName "repo3 Repository"
AuthzSVNAccessFile /path/to/svn-acl-conf
AuthUserFile /path/to/repo/repo3/.htpasswd
Require valid-user
</Location>
</VirtualHost>
The /path/to/svn-acl-conf file contains
[repo1:/]
username = rw
[repo2:/]
username = rw
[repo3:/]
username =rw
This file needs to be updated everytime a new repository is added with the appropriate username and permissions.
I am sure I have missed some steps with this, but it's a decent starting point.
1 comment:
Cool, sounds very straightforward. I haven't setup an SVN repository for a while, but I'm going to be doing one on my backup server for various configurations, so this will save me time. Thanks!
Post a Comment