共计 3468 个字符,预计需要花费 9 分钟才能阅读完成。
一、介绍
Subversion 简称就是 svn 服务器,用来托管代码的,类似的还有 git
1)CentOS 6.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
Linux 中 Subversion 配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm
CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
借助网盘搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-06/119367.htm