centos安装配置svn(subversion)

安装软件
yum install subversion
svnserve –version //检查下安装是否成功

svn服务器配置
1.建立svn 版本库目录(可建多个)
mkdir -p /opt/svndata/repos
2.建立svn 版本库
svnadmin create /opt/svndata/repos
3.修改svn 版本库配置文件
vim /opt/svndata/repos/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /opt/svn/conf/pwd.conf
authz-db = /opt/svn/conf/authz.conf
realm = repos
这里的各配置项意思是:
anon-access 指匿名访问的权限,可以是read,write,none,默认为read,这个建议配为none
auth-access 指认证用户的权限,可以是read,write,none,默认为write
password-db 指密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码,
uername=passwd
authz-db 实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限
4.配置允许访问的svn 用户
vim /opt/svn/conf/pwd.conf
注意:对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
其中,[users]是必须的。下面列出要访问svn 的用户,每个用户一行。示例:
[users]
admin = 123456789
5.配置svn 用户访问权限
vim /opt/svn/conf/authz.conf
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名> = <用户1>,<用户2>
其中,1 个用户组可以包含1 个或多个用户,用户间以逗号分隔。

版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
/表示根目录及以下。根目录是svnserve 启动时指定的,我们指定为/opt/svndata。这样,
/就是表示对全部版本库设置权限。
repos1:/表示对版本库1 设置权限
repos2:/abc 表示对版本库2 中的abc 项目设置权限
repos2:/abc/aaa 表示对版本库2 中的abc 项目的aaa 目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、
r、wr 和空,空表示没有任何权限。
示例:
[groups]
admin = admin
[/]
@admin = rw
6.svn 配置完毕,删除无用文件
rm /opt/svndata/repos/conf/authz
rm /opt/svndata/repos/conf/passwd
启动SVN
svnserve -d -r /opt/svndata/
检查是否启动成功
ps -ef|grep svnserve
显示如下则运行成功了
root      3995     1  0 15:35 ?        00:00:00 svnserve -d -r /var/svn/
root      3998  3915  0 15:35 pts/1    00:00:00 grep svnserve
7.开启防火墙端口
svn 默认端口是3690
你需要在防火墙上开放这个端口