linux下搭建SVN服务器(局域网可用)-ver1.01

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux SVN 搭建(ubuntu 10.04)

1、安装subversion软件

sudo apt-get install subversion

2、建立一个目录作为SVN代码库管理的根目录(例:/home/svnadmin/svnsources/),只是一个普通目录,实际上是通过svnserve –d –r /home/svnadmin/svnsources/启动服务后暴露给网内其它机器的一个服务接入点:

mkdir /home/svnadmin/svnsources/

3、在SVN代码库管理的根目录下(/home/svnadmin/svnsources/)下建立一个代码库(repo),名称为testrepo:

svnadmin create /home/svnadmin/svnsources/testrepo

4、启动svn自带的svnserve服务供网内其它计算机使用:

svnserve -d -r /home/svnadmin/svnsources

此时便可以在局域网中通过svn://192.168.0.142/testrepo来访问testrepo这个代码库的内容了注:可以加--listen-port参数来指定端口(默认为3690),如:

svnserve -d --listen-port 3691 -r /home/svnadmin/svnsources启动服务

然后在局域网中通过svn://192.168.0.142:3691/testrepo来进行访问

5、建立一个目录(例:/home/gli/projectImport),把代码放置到主干(trunks)下,如project 为一份需要管理的代码:

projectImport

|--branches

|--tags

|--trunks

|--project

注:这个并不是必须的,只是采用这种结构管理代码是比较合理的一种方式

6、然后将这个目录(/home/gli/projectImport)导入到testrepo中去管理:

svn import -m"init testrepo" /home/gli/projectImport/ file:///home/svnadmin/svnsources/testrepo/

7、拉出一个分支来进行开发(svn copy source destination):

svn copy -m"init from trunks" file:///home/svnadmin/svnsources/testrepo/trunks/project file:///home/svnadmin/svnsources/testrepo/branches/project

注:其中source可以是本地工作副本,destination为代码库中的URL

8、当开发到一个稳定版本后或某个阶段后,需要打一些标签(tags)以方便管理:

svn copy -m"init from trunks" file:///home/svnadmin/svnsources/testrepo/branches/project file:///home/svnadmin/svnsources/testrepo/tags/project

9、若有另一个项目需要管理,可重复步骤5到8来进行开发管理。

10、在本地或网内签出代码(假设服务器的IP为192.168.0.142,名为ubuntu):

本地:svn checkout file:///home/svnadmin/svnsources/testrepo/branches/project /home/gli/project 网内:svn checkout svn://192.168.0.142/testrepo/branches/project /home/gli/project 或svn checkout svn://ubuntu/testrepo/branches/project /home/gli/project

11、以上的开发体系结构可用下图表示,特性见图中说明:

11、可供采用的其他体系结构如下(供参考):

12、用户权限的管理(以下配置只对通过svnserve提供的服务有效):

①、首先修改svnserve.conf,将注释打开如下:

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

注:anon-access 未认证用户(简配为none,否者认证用户查看日志还需增加一些设置)auth-access 经认证用户

password-db 指定用户及密码的配置文件,可以是相对路径

authz-db指定用户权限的配置文件,可以是相对路径

②、配置passwd文件:

在[users]字段下增加用户及密码,例:

[users]

gli = 123456

sli = 123456

szhang = 123456

注:空格不能省略

③、配置authz文件:

[aliases]

joe = DC=red-bean, Joe A verage

[groups]

manager = gli

developer = sli

[/]

* =

$anonymous =

$authenticated = r

szhang = r

&joe = r

@developer = r

@manager = rw

[testrepo:/]

* =

$anonymous =

$authenticated = r

szhang = r

&joe = r

@developer = r

@manager = rw

注:[aliases]字段为别名

[groups]将用户归类到组

[testrepo:/]指定具体目录的用户权限,可以为组,也可以为单独用户;组前以@开头,别名用户以&开头,单独用户不需要加前缀;*表示其他用户,$authenticate代表验证通过的

相关文档
最新文档