4

How can I configure svnserve to run as a service.

svnserve -d -r /var/svn/

just works until the server is restarted.


Edit1: server details

root@vps [~]# uname -a
Linux vps.example.com 2.6.18-028stab070.14 #1 SMP Thu Nov 18 16:04:02 MSK 2010 x86_64 x86_64 x86_64 GNU/Linux

4 Answers 4

2

If you've not already got a script for starting the service in /etc/init.d, create one, then add links in the relevant runlevel dirs.

The process is described at http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/

2
  • I am looking at the sample script, but (1) I dont run it under any 'svn'-specific user. Currently I've been running svnserve -d ... as root. (2) I dont think I have the file startproc anywhere on my system.
    – siliconpi
    Jan 25, 2011 at 13:43
  • any thoughts on how i can do this?
    – siliconpi
    Jan 29, 2011 at 13:08
2

The fastest way to get it going would be to add the startup command to /etc/rc.local/. This is run at the end of the system boot.

The "proper" way is to use the init system. There's a file called /etc/init.d/skeleton which is a basic framework for making an init script for starting a service. Copy it to /etc/init.d/svnserve and customise it as needed. There's also plenty of examples of svnserve init files on the web. Once /etc/init.d/svnserver [start|stop] works as expected, you can then run chkconfig svnserve on. This init script will be then be started on boot, and stopped on shutdown.

5
  • Hi @Niall - the file doesnt exist on the rhel/centos system that I have...
    – siliconpi
    Jan 25, 2011 at 13:45
  • Sorry, should be /etc/init.d/skeleton! Main post updated. Jan 25, 2011 at 13:54
  • Hmm... root@vps [~]# find / -name 'skeleton' didnt find anything
    – siliconpi
    Jan 25, 2011 at 14:32
  • any alternate thoughts?
    – siliconpi
    Jan 29, 2011 at 13:07
  • hmm, looks like /etc/init.d/skeleton is a Debian thing! The best bet is to look for the many svnserve init scripts available on the web, for example: mygeekproject.com/?p=152 Jan 31, 2011 at 10:25
1

Supervisor may be the easiest way to do this. It's available in EPEL, a high-quality 3rd party repository of packages for RHEL/CentOS.

rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install supervisor
chkconfig --levels 345 supervisor on

Edit /etc/supervisord.conf according the docs.

service start supervisor
1

To start svnserve at runlevel 3,4 and 5 try this :

chkconfig --level 345 svnserve on

To check if it's OK :

systemctl list-unit-files | grep *svn*

Screenshot for systemctl list-unit-files | grep *svn*

Note : before chkconfig you can check if service file already exists:

ls  /usr/lib/systemd/system/*svn*

screenshot for ls  /usr/lib/systemd/system/*svn*

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .