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
link|improve this question

71% accept rate
feedback

3 Answers

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/

link|improve this answer
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. – matt74tm Jan 25 '11 at 13:43
any thoughts on how i can do this? – matt74tm Jan 29 '11 at 13:08
feedback

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.

link|improve this answer
Hi @Niall - the file doesnt exist on the rhel/centos system that I have... – matt74tm Jan 25 '11 at 13:45
Sorry, should be /etc/init.d/skeleton! Main post updated. – Niall Donegan Jan 25 '11 at 13:54
Hmm... root@vps [~]# find / -name 'skeleton' didnt find anything – matt74tm Jan 25 '11 at 14:32
any alternate thoughts? – matt74tm Jan 29 '11 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 – Niall Donegan Jan 31 '11 at 10:25
feedback

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
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.