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
siliconpi
  • 1,707
  • 6
  • 30
  • 45

4 Answers4

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/

symcbean
  • 19,931
  • 1
  • 29
  • 49
  • 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 '11 at 13:43
  • any thoughts on how i can do this? – siliconpi Jan 29 '11 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.

Niall Donegan
  • 3,859
  • 19
  • 17
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
idleyoungman
  • 320
  • 1
  • 7
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*