Linux 安装SVN服务器配置

来源:互联网 发布:浅谈软件测试技术 编辑:程序博客网 时间:2024/06/06 01:49

一、安装SVN服务,参照百度经验,自行下载文件安装。或者用yum

方法一、百度经验安装方法:http://jingyan.baidu.com/article/3c343ff7039de20d37796306.html

注意:上述,如果安装过程不提示缺少则省去不需要下载的插件

方法二、# yum install subversion



二、配置SVN服务

1、创建代码库

[root@test2 etc]# mkdir -p /opt/svn/repositories
[root@test2 etc]# svnadmin create /opt/svn/repositories

执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 

文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。


subversion目录说明:
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
*format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)


2、配置svn服务器

创建版本仓库后再 test/conf文件夹下生成了四个配置文件:authz  hooks-env.tmpl  passwd  svnserve.conf
  ①、首先 svnserve.conf里边配置了版本库的权限,需要把下边5行的注释打开,一定注意,去掉#号的同时把空格去掉,否则svn服务不能正常运行

anon-access = none   
#控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read
auth-access = write
#控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write
password-db = passwd
#指定账户密码配置文件,当前文件夹下的passwd文件
authz-db = authz
#权限配置文件,当前文件夹下的authz文件
realm = first    
#版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)

  ②修改passwd为以下内容:

[users]
harry harryssecret
sally sallyssecret

hello 123

aaa 123

www 123

用户名=密码

这样我们就建立了hello用户, 123密码

③权限控制authz配置

[root@admin conf]#vim authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:

[groups]            #

admin hello,www   #创建一个admin组,将用户加入到组

[/]                 #根目录权限设置(就是“svn”这个文件夹)

aaa rw            #aaasvn下的所有版本库有读写权限

[repo:/]            #repo:/,表示对repo版本库下的所有资源设置权限

@admin rw         #admin组的用户对repo版本库有读写权限

[repo2:/occi], ,表示对版本库repo2中的occi项目设置权限

[repo2:/occi/aaa], ,表示对版本库2中的occi项目的aaa目录设置权限  权限主体可以是用户组、用户或*,用户组在前面加@*表示全部用户。权限可以是wrwr和空,空表示没有任何权限。


服务svnserve.conf配置

[root@admin conf]#vim svnserve.conf

追加以下内容:

[general]
#
匿名访问的权限,可以是read,write,none,默认为read
anon-access none
#
使授权用户有写权限
auth-access write
#
密码数据库的路径
password-db passwd
#
访问控制文件
authz-db authz
#
认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm = first   

3、启动SVN

svnserve -d -r /opt/svn/

启动服务器,-d表示守护线程后台运行,-r表示指定目录。注意:不要写成svnserve -d -r /opt/svn/repositories。否则虽然服务可正常启动,但是客户端用的时候可能会产生问题,在svn后面可以建立多个svn项目,默认3690端口


查看是否启动成功:

ps -ef | grep svnserve

如果结果为两个线程在运行,一般是成功了。

测试:svn co svn://ip/repositories





原创粉丝点击