简介:
SVN是Subversion的简称,是一个开放源代码的版本控制系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。也就是什么时候会用到svn呢,就是在很多人共同完成一个项目时,需要多个人共同维护更新时;svn就是用来提供这样的需求的。
首先说明一下我的需求我;目前公司有两个项目;我准备在一台服务器上同一个目录下存放两个资源仓库[资源仓库说白了也就是存放着你一个项目的目录]。那我们接下来就开始配置了。
一:linux服务器端配置
1:首先是安装svn服务
安装方法很简单:在很多linux系统的软件仓库中都已经包含了svn服务的安装包
以CentOS为例:
只需:
[root@localhost /]# yum install subversion
2:需要新建一个目录用来存放svn资源仓库
[root@localhost /]# mkdir /source
3:接着需要新建所需资源仓库;[在此我需要两个资源仓库pro1和pro2]
[root@localhost /]# svnadmin create /source/pro1 [root@localhost /]# svnadmin create /source/pro2
在执行完上方的命令后会发现在 pro1 pro2 的目录下会有几个文件出现:
[root@localhost /]# ls /source/pro1 conf db format hooks locks README.txt
简单说下一这几个文件用途
conf :所属仓库的配置文件(可以设置仓库的用户访问账号、权限等)
db :所有版本控制的数据存放文件
format : 是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
hooks : 存放hooks脚本的目录[简单点的使用就是比如开发团队提交更新后,不需要你手动更新而自动完成服务器上的更新]
locks :用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
4:接着就是配置:
首先配置svn服务主要配置文件 svnserver.conf 配置文件目录/source/pro1/conf/svnserver.conf
主要配置项如下:
[general]
anon-access = read #匿名访问的权限,可以是read,write,none,默认为read
auth-access = write #认证用户的权限,可以是read,write,none,默认为write[即为读写]
password-db = /source/pro1/conf/passwd #认证用户的密码文件路径
authz-db = /source/pro1/conf/authz #认证用户的权限文件路径
realm = svn for pro1 # 认证命名空间,subversion会在认证提示里显示
5:配置用户访问密码:
配置文件 /source/pro1/conf/passwd
内容格式:
[users] <用户1> = <密码1> pro1 = pro1
我的配置:
[users] pro1 = pro12345
6:配置用户访问权限:
配置文件 /source/pro1/conf/authz
内容格式:
[<版本库>:/项目/目录] @<用户组名> = <权限> <用户名> = <权限>
我的配置:只有pro1用户拥有读写权限,其他用户无任何权限
[pro1:/] pro1 = rw * =
以上配置文件都是及时生效的,不需要重启svn服务
7:启动svn
svnserve -d -r /source
-d 为demon -r 为 root 至于目录为仓库的上层目录 即pro1的上层 /source
8: 记得修改防火墙,svn服务默认的服务端口3690,当然也可以指定端口 - -listen-port 参数指定
二:windows客户端验证
1:下载TortoiseSVN 客户端安装
2:安装好之后,一般在桌面右击菜单将出现TortoiseSVN-->Repo-brose然后会弹出一个输入url的窗口,然后出入
svn://svn服务器Ip/pro1[仓库名]
3:输入对应的用户名:pro1 密码:pro12345 即可进入,刚开始为空
4:然后就可以上传你的源码或者其他文件到svn服务器
本文出自 “Epitaph” 博客,请务必保留此出处http://epitaph.blog.51cto.com/8834364/1839290
原文:http://epitaph.blog.51cto.com/8834364/1839290