Installing and setting up SVN on FreeBSD Server

Solution 1:

I advise you at first try to use svnserve daemon which comes with subversion. It uses its own protocol over TCP, so for all operations with repository you'll be using a svn:// URL scheme, for example:

% svn checkout svn://localhost/myproject

So, after installing devel/subversion port:

# cd /usr/ports/devel/subversion
# make WITHOUT_BDB=1 WITH_SVNSERVE_WRAPPER=1 WITH_REPOSITORY_CREATION=1 install clean

you will get a fresh empty repository in /home/svn/repos. The Port also will create svn user and svn group (check for both of them in /etc/passwd and /etc/group files to be sure).

Then, add this lines to yous /etc/rc.conf:

svnserve_enable="YES"
svnserve_flags="-d --listen-port=3690 --listen-host 127.0.0.1"
svnserve_data="/home/svn/repos"
svnserve_user="svn"
svnserve_group="svn"

Change 127.0.0.1 to another IP, accessible from other machines, if you need that. Start daemon with the command:

# /usr/local/etc/rc.d/svnserve start

If no errors occurred, check running daemon:

# /usr/local/etc/rc.d/svnserve status
svnserve is running as pid 65968.

or

# sockstat | grep svn
svn      svnserve   65968 3  tcp4   127.0.0.1:3690        *:*

OK. Now you'll need to create a per-user authentication for svnserve. This is done by editing /home/svn/repos/conf/passwd file, for example:

[users]
bob = password
joe = another_password
alex = yet_another_password

Then, make sure that in /home/svn/repos/conf/svnserve.conf file exists this lines:

[general]
anon-access = none
auth-access = write
password-db = passwd

That's it. Now you can import your sources into this repository. For more information please read http://svnbook.red-bean.com/en/1.5/svn.serverconfig.svnserve.html

Solution 2:

Version Control with Subversion is the source I usually turn to for Subversion information. Chapters 5 and 6 look like they might get you in the right direction.