Centos6.6 安装Subversion服务
一、介绍
Subversion 简称就是svn服务器,用来托管代码的,类似的还有git
1)Centos6.6
2)Subversion
二、安装
yum -y install subversion
三、配置
$ vi /etc/init.d/svnserve #!/bin/bash # # svnserve Startup script for the Subversion svnserve daemon # # chkconfig: - 85 15 # description: The svnserve daemon allows access to Subversion repositories \ # using the svn network protocol. # processname: svnserve # config: /etc/sysconfig/svnserve # pidfile: /var/run/svnserve.pid # ### BEGIN INIT INFO # Provides: svnserve # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Short-Description: start and stop the svnserve daemon # Description: The svnserve daemon allows access to Subversion # repositories using the svn network protocol. ### END INIT INFO # Source function library. . /etc/rc.d/init.d/functions if [ -f /etc/sysconfig/svnserve ]; then . /etc/sysconfig/svnserve fi exec=/usr/bin/svnserve prog=svnserve pidfile=${PIDFILE-/var/run/svnserve.pid} lockfile=${LOCKFILE-/var/lock/subsys/svnserve} directory=${DIRECTORY-/var/subversion} args="--daemon --pid-file=${pidfile} --root=${directory} $OPTIONS" [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile=/var/lock/subsys/$prog start() { [ -x $exec ] || exit 5 [ -f $config ] || exit 6 echo -n $"Starting $prog: " daemon --pidfile=${pidfile} $exec $args retval=$? echo if [ $retval -eq 0 ]; then touch $lockfile || retval=4 fi return $retval } stop() { echo -n $"Stopping $prog: " killproc -p ${pidfile} $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { restart } force_reload() { restart } rh_status() { # run checks to determine if the service is running or use generic status status -p ${pidfile} $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac exit $? $ mkdir -p /var/subversion $ cd /var/subversion/ $ svnadmin create repos $ cd repos $ vi conf/svnserve.conf [general] anon-access = none auth-access = write password-db = passwd authz-db = authz #realm = /var/subversion/repos [sasl] $ vi conf/passwd [users] kaiwen01 = kaiwen01 kaiwen02 = kaiwen02 kaiwen03 = kaiwen03 $ vi conf/authz [groups] develop = kaiwen01,kaiwen02 java = kaiwen03 [repos:/] @develop=rw [repos:/permit] @java = rw * = r
四、运行
$ chkconfig svnverve on
$ /etc/init.d/svnverve start
五、检查
$ ps aux|grep svnserve
$ netstat -ntlp|grep svnserve
#默认端口3690
六、客户端运行测试
#检出
#提交
七、其他(另外附上一个自动创建项目的脚本,但是必须放到创建项目的当前文件夹)
$ vi /var/subversion/svncreate.sh #!/bin/bash # read -p "Project Name: " names svnadmin create $names cat >$names/conf/svnserve.conf<<EOF [general] anon-access = none auth-access = write password-db = passwd authz-db = authz [sasl] EOF cat >$names/conf/passwd <<EOF [users] ${names} = ${names}-pass ${names} = ${names}-pass EOF cat >$names/conf/authz <<EOF [groups] develop = ${names},${names} [$names:/] @develop=rw EOF