On Sat, Jul 23, 2011 at 05:55:58AM -0500, Jonathan Nieder wrote:
> Meanwhile the need to help people get started with their own svn
> servers is documented in Bug#173960, as you mentioned.
> 
> Care to suggest wording for either?  Realistically speaking, that's
> the simplest way to get this fixed soon and well. :)

Hi,

I just happened to set up a small instance and wrote down the
necessary steps into the attached file for easy inclusion into
README.Debian or similar. I only documented the inetd-svnserve
access method (using xinetd) since that's what I used.

Of course it could be extended in many ways (other access
methods, import stuff, ..) but it's a start anyway and one of the
most common things to do for a new user.

What do you think?

Regards,
Martin

Setting up a Repository
-----------------------

The subversion package in Debian does not automatically set up a subversion
repository during installation. In order to create one and provide access to it
from the network, do the following steps manually. 

1. Create a directory for repositories. A good default choice is '/var/svn':

     mkdir /var/svn

2. Create a user 'svn' which will own the repository files and under which the
   svnserve process will run. Note that the "homedir" of that user is the
   directory chosen above, so adjust that if necessary:

     useradd -d /var/svn -r -s /bin/false svn

3. Create your first repository. Choose a suitable name for <reponame>:

     svnadmin create /var/svn/<reponame>

   Hand over ownership of the repository files to user 'svn':

     chown -R svn:svn /var/svn

4. In order to make the repository reachable from the network, you need to
   choose an access method. Options are: 

     (a) running svnserve from inetd,
     (b) a standalone svnserve process,
     (c) using svn over ssh, or
     (d) using Apache to serve the repository via http.

   You find more details about advantages and disadvantages in the SVN book.
   We only describe (a) here and assume you have xinetd installed (package
   xinetd on a Debian system). Place a file 'svnserve' into /etc/xinetd.d with
   the following contents:

# default: on
# description: Subversion server

service svn
{
        port                    = 3690
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = svn
        server                  = /usr/bin/svnserve
        server_args             = -i -r /var/svn
}

   Finally, trigger a configuration reload of xinetd:

     /etc/init.d/xinetd reload

   You can now checkout the repository from other machines on the network:

     svn co svn://<machinename>/<reponame>

   Note that you may need to adjust authorization settings in
   /var/svn/<reponame>/conf/svnserve.conf in order to have write access etc.


Attachment: signature.asc
Description: Digital signature

Reply via email to