安装SVN
yum install subversion
开启svn服务进程
svnserve -d -r /opt/svn/
检查svn服务是否开启
ps -ef | grep svn
创建代码库
例如:svn安装在/home/svn
cd /home/svn
svnadmin create /home/svn/code_repository
执行完创建仓库的命令之后,新库下包含db,locks,hooks,conf目录,format,README.txt文件。
需要关注svn的配置目录conf
cd conf
可conf目录下包含文件authz,svnserve.conf,password,hooks-env.tmpl。
修改权限文件authz
[code_repository:/]
@ADMIN=rw
修改passwd文件
[users]
test1=123456QAZWSX@
修改svnserce.conf文件,该文件主要控制 svnserve 守护进程的行为。
anon-access = none|read|write
决定非授权用户的访问级别。write 访问允许所有的仓库操作。read 访问允许所有操作,除了提交和修改版本属性。none 不允许任何访问。默认级别是 read。
auth-access = none|read|write
决定授权用户的访问级别,使用与上面相同的访问级别。默认级别是 write。
password-db = filename
设置密码数据库的位置。filename 可能是相对仓库中 conf 目录的位置。没有默认值。密码数据库的格式与本文件相似。它只有一个段落 ``users’';段落中的每个变量是一个用户名,每个值是一个密码。
realm = realm-name
设置仓库的授权域 (realm)。如果两个仓库拥有相同的密码数据库,它们应当在同一个域中,反之亦然;这样的关联可以允许客户端为多个仓库使用单一的密码缓存。默认域的值是仓库的路径,相对于服务器进程的虚根目录。
EXAMPLE 范例
下列范例 svnserve.conf 允许认证用户的读访问,禁止匿名用户的访问,指向相同目录中的密码数据库,定义了一个授权域名。
[general]
anon-access = none
auth-access = read
password-db = passwd
realm = My First Repository
``passwd’’ 文件可能是这样:
[users]
test1=123456QAZWSX@
test2=123456QAZWSX@
验证:检出仓库,并修改内容,提交。