Linux下svn服务器端安装及配置教程

第一步,安装svn服务器端

1、直接使用yum安装,命令及截图如下

[root@localhost ~]# yum install -y subversion

2、安装成功之后,可以查看svn的版本

[root@localhost ~]# svnserve --version


3、创建svn目录,可以按照个人习惯指定目录位置

[root@localhost ~]# mkdir /usr/local/svn

4、创建svn版本库testsvn,版本库名称可以自己取

[root@localhost ~]# svnadmin create /usr/local/svn/testsvn


第二步、配置SVN服务器端

创建版本库后,在目录下会生成3个配置文件:authz  passwd  svnserve.conf

svnserve.conf:  svn服务配置文件。

passwd: 用户名口令文件。

authz: 权限配置文件。

1、打开svnserve.conf进行配置

anon-access: 控制非鉴权用户访问版本库的权限。 
auth-access:  控制鉴权用户访问版本库的权限。 
password-db: 指定用户名口令文件名。 
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件 

我的配置如下:


2、配置passwd用户名密码

在[users]加上相应的用户名和密码即可,格式为:用户名=密码

我的配置如下:


3、配置authz权限

因为我是自己测试的,所以只需要简单配置一下,给自己的账户配置上读写权限即可,如下图


其实比较正规的配置方案,应该有不同角色的权限控制,在此贴出网上给出的一个例子供参考

[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
#这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。




# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限
#[/]对应此根目录
[/] 
* = r
@admin = rw
dangerman =




# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw


# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw


# 培训人员可以完全访问培训版本库
[TrainingRepos:/]
@training = rw


第三步、启动和停止svn

1、启动

[root@localhost ~]# svnserve -d -r /usr/local/svn
    -d表示后台运行
    -r 指定根目录是 /usr/local/svn

[root@localhost ~]# ps -ef | grep svn
root      4566     1  0 11:07 ?        00:00:00 svnserve -d -r /var/www/svn_rshui
root      6667  3598  0 17:48 pts/1    00:00:00 grep svn

2、停止

ps -aux |grep svn
kill -9 进程pid


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。