juretta.com

Enable svnserve using xinetd on Debian

July 09, 2006
Tags: Debian Server Subversion

Add svnserver to /etc/services:

svnserve 3690/tcp # Subversion svnserve
svnserve 3690/udp # Subversion svnserve 

Create the xinetd configuration file for svnserve (using svnadmin as the user who runs the svnserve):

stefan@www:~$ cat /etc/xinetd.d/svn
service svn
                {
                        socket_type     = stream
                        protocol        = tcp
                        user            = svnadmin
                        wait            = no
                        disable         = no
                        server          = /usr/bin/svnserve
                        server_args     = -i -r /usr/local/svn/public
                        port            = 3690
                }

server_args: -r /usr/local/svn/public prevents svnserve to serve every subversion repository available on the system

Restart the xinetd service

stefan@www:~$ kill -SIGUSR2 `cat /var/run/xinetd.pid`

Check that svnserve is running

stefan@www:~$ telnet localhost 3690
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 1 2 ( ANONYMOUS ) ( edit-pipeline ) ) )

Create a subversion repository

stefan@www:~$ cd /usr/local/svn/public
stefan@www:~$ svnadmin create ruby

Your subversion repository is now available using:

stefan@www:~$ svn list svn://svn.example.com/ruby
dir_a/
dir_b/
...

About

This is the defunct blog of Stefan Saasen.