Dedicated server "svnserve"
The idea is to run the svnserve standalone daemon as a special user, who has all the subversion administration and configuration power except for the subversion SW installation, upgrade or removal (only root should be able to do that). This special user called "svnr" (for subversion root), has its own home directory, where all the managed repositories reside. This way a dedicated person (other than root) can be assigned to cover all aspects of running subversion version control SW.
The svnserve is being run though the start-stop script called "svnd" which also sets the virtual root of repositories to the home directory of the "svnr" user. This means that the absolute path prefix of the repositories is being hidden from subversion users, so they do not have to know the exact location of the repositories in the file system.
+ - ~ svnd (start-stop script)
On FC3 you manage start-stop scripts via "chkconfig" tool:
.-------------------------------------------- |[root@racek samo]# /sbin/chkconfig | grep svnd |chkconfig razlicice 1.3.11.1 - Pravna zascita (C) 1997-2000 Red Hat, Inc. |To lahko prosto razsirjate pod pogoji GNU Public License. | |uporaba: chkconfig --list [ime] | chkconfig --add| chkconfig --del | chkconfig [--level ] | |[root@racek samo]# /sbin/chkconfig --list | grep svnd |svnd 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
+ - Create a new group:
+ - Create a new user:
+ - Set permissions and ownership of the /usr/bin/svn* tools/servers as follows:
.-------------------------------------- |[root@racek /]# ls -al /usr/bin/svn* |-rwxr-xr-x 1 root root 95988 Apr 5 11:20 /usr/bin/svn |-rwsr-sr-- 1 svnr svnr 25440 Apr 5 11:20 /usr/bin/svnadmin |-rwsr-sr-- 1 svnr svnr 20272 Apr 5 11:20 /usr/bin/svndumpfilter |-rwsr-sr-- 1 svnr svnr 32824 Apr 5 11:20 /usr/bin/svnlook |-rwsr-sr-- 1 svnr svnr 35656 Apr 5 11:20 /usr/bin/svnserve |-rwsr-sr-- 1 svnr svnr 10312 Apr 5 11:20 /usr/bin/svnversion |!!! We'll see about future modifications of these permissions, if something more is necessary for other users.
+ - Install the svnd "init.d" script:
.-------------------------------------- |[root@racek /]# ls -al /etc/init.d/svnd |-rwxr-xr-x 1 root root 1272 May 19 09:56 /etc/init.d/svnd |
.-------------------------------------- |[root@racek /]# chkconfig --add svnd |[root@racek /]# chkconfig svnd on |
Start the Subversion server "svnserve" via "Service Configuration" UI or via command "/etc/init.d/svnd start".