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
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:
[users] ubuntu-server = [password removed]
and had to edit /home/ubuntu-server/svn-repo/svnserve.conf as follows:
[general] anon-access = read auth-access = write password-db = passwd realm = Ubuntu-server
$ svnserve -d -r /home/ubuntu-server/svn-repo/
starts the server and sends it into the background