CentOS 6.4安装SVN版本管理系统

2022-07-04 09:40:44 浏览数 (1)

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版本管理系统。

0 人点赞