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

来源:互联网 发布:vb insert into 语法 编辑:程序博客网 时间:2024/04/29 05:58

第一步,安装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, katedevteam1 = john, rachel, sallydevteam2 = kate, peter, markdocs = bob, jane, miketraining = zak#这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。# 为所有库指定默认访问规则# 所有人可以读,管理员可以写,危险分子没有任何权限#[/]对应此根目录[/] * = r@admin = rwdangerman =# 允许开发人员可以完全访问他们的项目版本库[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 svnkill -9 进程pid


4 0