Below are notes by Troy about the setup of the svn server being used (temporarily) to host the UbuntuInstantServer development Source.

Recommended changes for Instant Server:

  • Update package to:
    • create user automatically (svn-data)?
    • create a repository directory automatically (/var/svn-repositories)?
    • include /etc/rc?.d scripts for start/stop, etc.
  • Configuration System:
    • allow user to select a path to use as initial import - this path could include arbitrary locations from a network, disk, other repos, etc.
    • allow a user to select access and auth permissions, and manage svn usernames/passwords

To install svn as a server, I had to do the following:

$sudo apt-get install subversion
$sudo adduser

add a user specifically for svn serving, serving from root is bad, and the deb package did not install a user -- called the user 'ubuntu-server', then changed to this user

This created a directory /home/ubuntu-server/ I created a dedicated folder for the svn repository

$mkdir /home/ubuntu-server/svn-repo/

In retrospect, this would be better served from a folder such as /var/svn-repositories/ or somesuch and the user created to host should not get a /home/ folder. The above is a shortcoming of the existing subversion packages that should be dealt with automatically.

I had to issue to following commands to set up the repository:

$ svnadmin create /home/ubuntu-server/svn-repo

$ mkdir /tmp/svn/
$ touch /tmp/svn/dummy_file

$ svn import /tmp/svn file:////home/ubuntu-server/svn-repo -m "initial import"

I then had to edit /home/ubuntu-server/svn-repo/passwd to reflect as follows:

ubuntu-server = [password removed]

and had to edit /home/ubuntu-server/svn-repo/svnserve.conf as follows:

anon-access = read
auth-access = write
password-db = passwd
realm = Ubuntu-server

And lastly,

$ svnserve -d -r /home/ubuntu-server/svn-repo/ 

starts the server and sends it into the background

UbuntuInstantSourceControlServer (last edited 2008-08-06 16:36:29 by localhost)