你的位置:首页 > 操作系统

[操作系统]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/functionsif [ -f /etc/sysconfig/svnserve ]; then    . /etc/sysconfig/svnservefiexec=/usr/bin/svnserveprog=svnservepidfile=${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/$proglockfile=/var/lock/subsys/$progstart() {  [ -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 2esacexit $?$ mkdir -p /var/subversion$ cd /var/subversion/$ svnadmin create repos$ cd repos$ vi conf/svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authz#realm = /var/subversion/repos[sasl]$ vi conf/passwd [users]kaiwen01 = kaiwen01kaiwen02 = kaiwen02kaiwen03 = kaiwen03$ vi conf/authz[groups]develop = kaiwen01,kaiwen02java = 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: " namessvnadmin create $namescat >$names/conf/svnserve.conf<<EOF[general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authz[sasl]EOFcat >$names/conf/passwd <<EOF[users]${names} = ${names}-pass${names} = ${names}-passEOFcat >$names/conf/authz <<EOF[groups]develop = ${names},${names}[$names:/]@develop=rwEOF