1. 安装subversion
在Shell命令行中运行以下命令:
代码语言:javascript复制yum install -y subversion
验证是否安装成功:
代码语言:javascript复制svnserv --version
若出现以下输出,则表示安装成功:
svnserve, version 1.6.11 (r934486)
compiled Mar 6 2014, 10:49:10
修改服务启动脚本文件/etc/init.d/svnserve:
代码语言:javascript复制将下面的内容:
exec=/usr/bin/svnserve
prog=svnserve
pidfile=${PIDFILE-/var/run/svnserve.pid}
lockfile=${LOCKFILE-/var/lock/subsys/svnserve}
args="--daemon --pid-file=${pidfile} $OPTIONS"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
替换为:
exec=/usr/bin/svnserve
prog=svnserve
pidfile=${PIDFILE-/var/run/svnserve.pid}
lockfile=${LOCKFILE-/var/lock/subsys/svnserve}
repo=/home/svn/repos
args="--daemon --pid-file=${pidfile} $OPTIONS -d -r ${repo}"
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
2. 建立SVN版本库
在Shell命令行中运行以下命令:
代码语言:javascript复制mkdir -p /home/svn/repos
svnadmin create /home/svn/repos
执行上述命令后,会自动在repo目录下建立多个文件和目录,分别是:conf、db、format、hooks、locks、README.txt。
conf目录下包含如下几个配置文件:
代码语言:javascript复制authz
用于配置用户的目录访问权限。
passwd
用于配置用户名和密码。
svnserve.conf
用于配置SVN的默认行为。
3. 配置passwd文件
/home/svn/repos/conf/passwd文件的内容如下所示:
代码语言:javascript复制[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
按照上述配置,建立了hello用户,密码为123。
4. 配置authz文件
/home/svn/repos/conf/authz文件的内容如下所示:
代码语言:javascript复制[/]
hello = rw
按照上述配置,hello用户将拥有SVN根目录的读写权限。用户访问权限一般按照如下配置,假设有hello用户:
代码语言:javascript复制hello = rw # hello用户具有读写权限
hello = r # hello用户只有读权限
hello = # hello用户对于当前目录没有权限
* = rw # 所有用户都有读写权限
* = r # 所有用户都有读权限
5. 配置svnserve.conf文件
/home/svn/repos/conf/svnserve.conf文件的内容如下所示:
代码语言:javascript复制[general]
##匿名用户访问规则,可以是none、read或write
anon-access = none
##验证用户访问规则,可以是none、read或write
auth-access = write
##指定验证用户配置文件,权限管理主要操作文件,可以指定文件路径
authz-db = authz
##指定密码配置文件,可以指定文件路径
password-db = passwd
6. 启动SVN服务
在Shell中运行以下命令:
代码语言:javascript复制chkconfig svnserve on
service svnserve start
7. 连接SVN
使用TortoiseSVN,连接地址设置为svn://<your server address>,设置好用户名和密码,即可使用SVN版本管理系统。