当前位置:文档之家› SVN主从服务(SVNSYNC镜像模式)设置说明

SVN主从服务(SVNSYNC镜像模式)设置说明

SVN主从服务(SVNSYNC镜像模式)设置说明
SVN主从服务(SVNSYNC镜像模式)设置说明

SVN主从服务(SVNSYNC镜像模式)设置说明

赵青风

2012-12-21 公司的SVN相关状况如下:

A)SVN服务器在美国机房,软件发版服务器在美国机房;

B)公司的主要开发人员分别在青岛(联通宽带)和广州(电信宽带),一些国外同事有少量的SVN访问;

C)SVN源码库中同时存放大量的图片等美术资源文件。

在日常开发活动中,大量的代码更新活动会因为网络速度慢和资源文件大而耗费较多的等待时间。为提高日常开发效率,决定分别在青岛和广州设置SVN服务。

为避免主从一致性维护的风险成本,设置青岛和广州的SVN服务为只读镜像服务模式。即终端在提交时连接主服务,在同步时连接从服务。具体设置说明如下:

一、主库设置

常规设置,简单样例(linux系统环境)如下:

1 创建版本库

mkdir -p/dir/data

svnadmin create /dir/data/projectname

2 配置帐号密码

passwd.conf文件内容:

[users]

username=password

syncname=syncpass

3 配置权限

authz.conf文件内容:

[groups]

g_user=username

[network:/]

@g_user=rw

syncname=r

4 SVN服务配置文件

svnserve.conf文件内容:

[general]

anon-access=none

auth-read=write

password-db=/dir/passwd.conf

authz-db=/dir/authz.conf

realm=domainxxx

5 开启服务

svnserve -r /dir/data/ --config-file /dir/svnserve.conf -d

此时访问SVN

二、从库设置

应当保证操作系统、服务软件等版本与主服务器完全一致,以方便故障排错,样例如下:1 创建版本库

mkdir -p/dir/data

svnadmin create /dir/data/projectname

为使客户端透明工作,源码库名称(projectname)应当与主服务一致

2 配置帐号密码

passwd.conf文件内容:

[users]

username=password

syncname=syncpass

为使客户端透明工作,帐号密码应当与主服务一致

不在从库覆盖区域内的帐号可以删除,如国外同事的帐号不需要在从库上设置

3 配置权限

authz.conf文件内容:

[groups]

g_user=username

[network:/]

@g_user=r

syncname=rw

为使客户端透明工作,帐号权限应当与主服务一致

镜像服务器是只读模式,应当在从库上去掉所有的写权限

4 SVN服务配置文件

svnserve.conf文件内容:

[general]

anon-access=none

auth-read=write

password-db=/dir/passwd.conf

authz-db=/dir/authz.conf

realm=domainxxx

同主库一致,版本库绝对路径可以不同,相对路径必须相同

5 开启服务

svnserve -r /dir/data/ --config-file /dir/svnserve.conf -d

此时访问SVN版本库的路径为:http://slaveip:slaveport/svn/projectname

三、主从设置及同步

1 增加同步专用SVN帐号

该帐号在主服务器版本库端只读权限即可,在从服务器版本库端具有读写权限一般在主从库上设置相同的帐号和密码,如synname

2 拷贝版本库的uuid文件到从库

文件名:/dir/data/projectname/db/uuid

此步骤在从库创建之后,服务开启之前执行

每一个版本库的uuid都应当拷贝

3更换从库的修订版本属性hook

文件名(内容为空即可):/dir/data/projectname/hooks/pre-revprop-change

touch /dir/data/projectname/hooks/pre-revprop-change

注意应当提供可执行权限

chmod +x /dir/data/projectname/hooks/pre-revprop-change

此步骤在从库创建之后,服务开启之前执行

每一个版本库都应当提供此hook

4初始化从库与主库的对应关系

svnsync init --non-interactive --source-username syncname --source-password syncpass --sync-username syncname --sync-password syncpassfile:///dir/data/projectname svn://https://www.doczj.com/doc/a33189278.html,/projectname

此步骤在从库服务开启之后执行,注意只执行一次,一般执行结果如下:

Copied properties for revision 0.

5 日常同步从库

svnsync sync --non-interactive --source-username syncname --source-password syncpass --sync-username syncname --sync-password syncpass file:///dir/data/projectname

此步骤在初始化之后日常重复执行,一般执行结果如下:

Transmitting file data .

Committed revision 4312.

Copied properties for revision 4312.

Transmitting file data ..

Committed revision 4313.

Copied properties for revision 4313.

如果没有新版本需要同步,则此命令会正常结束并且无任何输出

四、相关辅助工作

1同步周期策略

A)更新触发同步

实现稍复杂,需要在主服务端的每个版本库上设置post-commit的hook

主从库版本一致性较好,为实现远程跨网络的自动同步,还需要其他辅助工作

可以区别对待各个版本库的同步

B)定时触发同步

实现较简单,在从服务端设置crond策略,间隔一段时间进行从库同步

间隔时间过长容易造成版本更新延迟,会造成客户端版本不一致更新失败

间隔时间过短容易造成网络或者服务器压力过大

总体来说,在辅助工作不到位前用定时触发比较可行,之后转为更新触发

2 设置主版本库的更新hook

文件名:touch /dir/data/projectname/hooks/post-commit

注意应当提供可执行权限

chmod +x /dir/data/projectname/hooks/post-commit

post-commit文件内容:

REPOS="$1"

REV="$2"

DATE=`date +%Y-%m-%d_%H:%M:%S`

svnsync-master-update.sh"$REPOS" "$REV" "$DATE"

真正的通知更新过程就可以在“svnsync-mirror-update.sh”脚本中执行了

3 主从服务帐号权限的同步维护

主服务器进行的所有权限、帐号、版本库相关的工作,在从库上同时执行

基于网络部原来的方式,可以用puppet统一管理

4 终端用户的工作方式

目前的模式是数据提交都到主服务器,数据同步都到从服务器

目前主服务器对外公开域名,当要连接从服务器时,手动设置host域名到从服务器IP 内容为:x.x.x.x https://www.doczj.com/doc/a33189278.html,

Windows操作系统下hosts文件位置:C:\Windows\System32\drivers\etc\hosts Linux操作系统下hosts文件位置:/etc/hosts

五、若干问题的探讨

1数据安全

SVN源码库本身是核心资产,普通用户是按照权限进行访问,但从服务器的设置将提供另外的全部数据泄漏风险,因此次服务器的数据安全异常重要,建议几种措施如下:

A)设置单独的物理主机(而不是用虚拟机),以防止权限控制不当而出现虚拟机拷贝

B)操作系统权限严格控制,只有授权的管理员可以使用

C)其他常见的网络安全防范

D)关闭其他系统服务

2通知更新过程

A)通过SSH直接触发

ssh x.x.x.x "/dir/svnsync-mirror-update.sh"

如果是帐号密码模式,可以在shell下用expect命令进行交互

如果是证书模式,证书密码可以为空,则可以直接执行远程脚本:

用ssh-keygen生成/root/.ssh/目录下id_rsa 和id_rsa.pub两个密钥文件

将id_rsa.pub文件内容追加到服务器的/root/.ssh/authorized_keys文件中

B)通过应用程序触发

如WEBSERVICE的事件通知

可以通过pptpvpn或者openvpn将master和mirror连接到一个网络中

3 服务状态日常监控

采用网络部常用的监控模式,在主服务器、从服务器、各个hook处、各个脚本处都可以添加相应的状态监控信息

4 Rsync方法

svnsync太慢?rsync更方便?rsync更适合文件同步,对于svn来说,它更适合backup

可参见 https://www.doczj.com/doc/a33189278.html,/svn/svnconf/27594_1.html

但我们更多的是要slave,实时同步,所以用svn自己的镜像工具好些mirror->slave

5 本地容灾

建立从库是为了加快同步速度,如果从库有故障是否有快捷、低成本的容灾恢复手段?

从头开始同步有可能耗费相当长的时间,如果在系统中建立另外的实时mirror(更换版本库名称,但不对外提供权限),这样只要不是硬盘故障,随时都可以恢复到最后一次同步的状态,也许挺方便,这种模式本身也适合主服务器的本地容灾备份。

6 版本一致性

终端所有的提交操作都只在主服务器上完成,这样主服务器永远不会有版本一致性冲突。

7 多slave

重复部署slave即可,没有特别要求。

六、可能的问题

1 从库锁定

在从库同步过程中,如果有新代码在主库提交,有可能造成从库锁定,需要对从库解锁

如果同步过程被中断,也会造成从库锁定。

解锁命令如下:

svn propdel svn:sync-lock --revprop -r 0 file:///dir/data/projectname

2 主库url变更

A)查看原始路径

svn propget svn:sync-from-url --revprop -r 0 file:///dir/data/projectname

执行结果svn://https://www.doczj.com/doc/a33189278.html,/projectname

B)设置新路径

svn propset svn:sync-from-url --revprop -r 0 svn://newdomain/projectname file:///dir/data/projectname

3 同步过程出错

由于网络等原因造成的同步出错,需要具体排查解决

4系统异常出错

由于断电、硬盘故障等原因造成的从库服务出错,需要具体排查解决

5 同步不到数据

如果在主服务配置中设置了anon-access=read 而非anon-access=none,svnsync只同步了状态属性,但不同步原始数据,具体原因未详细排查

七、参考链接

1 https://www.doczj.com/doc/a33189278.html,/bbs/tag.php?name=svnsync

2 https://www.doczj.com/doc/a33189278.html,/liuzhigang1237/article/details/7064561

3 https://www.doczj.com/doc/a33189278.html,/blog/1638252/847510

4 https://www.doczj.com/doc/a33189278.html,/post/1598.htm

5 https://www.doczj.com/doc/a33189278.html,/uid-22646981-id-3084472.html

6 https://www.doczj.com/doc/a33189278.html,/vegaliming/archive/2012/05/01/2478351.html

SVN服务器配置说明

1、前言 花了72小时,终于把 Subversion 初步掌握了。从一个连“什么是版本控制”都不知道的门外汉,到配置出精确至每目录访问的入门者,中间还卡了一天时间。其中费了许多气力,摸索实验了多次,还差点放弃了,但是收获是巨大的。现把我的配置和学习过程写下来,供大家参考,也让初学者少走弯路。 以下仅以 Windows 平台为例讲解,Unix/Linux 平台请参考相关资料。如其中有谬误的地方,包括错别字,请联系我修订。 技术在分享中进步! 2、基本概念 2.1、什么是版本控制 简单点来说,版本控制就是数据仓库,它可以记录你对文件的每次更改。这样,就算你在昏天黑地的改了几个月后老板说不要了,还是按照过去那样,你也不会抓狂,简单的恢复版本操作就搞定一切。 2.2、什么是 Subversion Subversion是一个自由/开源版本控制系统,它管理文件和目录可以超越时间。一组文件存放在中心版本库,这个版本库很像一个普通的文件服务器,只是它可以记录每一次文件和目录的修改,这便使你可以取得数据以前的版本,从而可以检查所作的更改。从这个方面看,许多人把版本控制系统当作一种“时间机器”。 Subversion可以通过网络访问它的版本库,从而使用户可以在不同的电脑上使用。一定程度上可以说,允许用户在各自的地方修改同一份数据是促进协作。进展可能非常的迅速,并没有一个所有的改变都会取得效果的通道,由于所有的工作都有历史版本,你不必担心由于失去某个通道而影响质量,如果存在不正确的改变,只要取消改变。

一些版本控制系统也是软件配置管理(SCM)系统,这种系统经过特定的精巧设计来管理源代码,有许多关于软件开发的特性—本身理解编程语言、或者提供构建程序的工具。然而,Subversion不是这样一个系统,它是一个通用系统,可以管理任何类型的文件集,对你这可能是源代码,对别人,可能是一个货物报价单或者是书稿等。 2.3、版本库(repository) Subversion 的核心就是 repository ,中文翻译成“版本库”。就是位于服务器端,统一管理和储存数据的地方。 3、安装配置 3.1 安装独立服务器 SVNServer 环境 OS:Windows XP SP2 Web:Apache 2.2.6 SVN:svn-win32-1.4.6 一、准备工作 1、获取 Subversion 服务器程序 到官方网站(https://www.doczj.com/doc/a33189278.html,/)下载最新的服务器安装程序。目前最新的是1.4.6版本,具体下载地址在: https://www.doczj.com/doc/a33189278.html,/servlets/ProjectDocumentList?folderID=81 00&expandFolder=8100&folderID=91,注意找 for apache 2.2.x 版本的。 2、获取 TortoiseSVN 客户端程序

SVN服务端安装和配置

所有资料来源于 https://www.doczj.com/doc/a33189278.html, 我用Subversion - SVN|TortoiseSVN下载安装配置使用技术交流社区 SVN 服务端安装和配置 1.Windows环境下基于 Apache 的SVN 服务器安装及配置 1.1安装 1.1.1安装Apache (1)下载Apache 地址https://www.doczj.com/doc/a33189278.html,/download.cgi 注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.3。当前建议下载Apache 2.0.59 (2) 安装 下载完成后运行apache_2.0.59-win32-x86-no_ssl.msi,根据提示进行操作。遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址。 注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录\Apache Group\Apache2\conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 81,然后重新启动-这样就不会那个问题了。 (3)检查 安装完成后浏览http://localhost/若成功,可看到apache页面。 1.1.2安装Subversion (1)下载 Subversion 地址:https://www.doczj.com/doc/a33189278.html,/servlets/ProjectDocumentList?folderID=91(2)安装 运行svn-1.4.3-setup.exe 安装程序,并根据指导安装,如果Subversion认识到你安装了Apache,你就几乎完成了工作,如果它没有找到Apache服务器,你还有额外的步骤。 (3)后续 步骤1 从C:\Program Files\Subversion\bin 中将 mod_authz_svn.so mod_dav_svn.so复制到 C:\Program Files\Apache Group\Apache2\modules下 intl3_svn.dll libdb*.dll C:\Program Files\Apache Group\Apache2\bin下 步骤2 找到C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件去掉如下几行的注释(删除 '#'标记):

svn服务器端配置库创建及配置方法

SVN服务器端配置库创建(Express版) 1创建SVN配置库目录 在某一路径下,点击鼠标右键-新建-文件夹,创建一个文件夹,并修改目录名(如MySVN,在本文档中称之为SVN配置库)。右键点击该目录,选择TortoiseSVN-Create repository here。(备注:“repository”是英文“储藏室”的意思) 1-1Create repository创建SVN配置库 2对SVN配置文件进行配置 SVN配置库目录建立后,需要对配置文件进行配置。进入配置库目录下的conf目录,其中有authz、passwd、svnserve三个文件,anthz配置用户权限、passwd配置用户名与密码、svnserve即为配置文件的配置文件。在这三种文件中“#”为注释行起始符号。另外需要注意的是,配置语句的每一行不能有多余的空格。 2.1svnserve文件的配置 将整个文件中的内容替换为以下内容即可。

[general] anon-access = read auth-access = write password-db = passwd //定义passwd文件为用户名-密码数据库 authz-db = authz //定义authz文件为权限管理数据库 2.2passwd文件配置 passwd文件主要用于设置用户名与密码,其语法格式为“用户名 = 密码”。如添加用户名为user,密码为pwd的用户,则可以使用如下方法实现: [users] user = pwd //定义用户user,其密码为pwd 2.3authz文件配置 authz文件主要用于设置用户所属群组,配置用户权限及群组权限。群组信息在[groups] 标签下配置;某个目录的读写权限则在[某路径]标签下配置,r表示可读权限,w 表示可写权限,rw表示可读可写权限。假设passwd文件中定义了A、B、C、D四个用户,下面将进行一些配置并对这些配置的含义进行说明。 [groups] groupA = A,B //定义群组groupA,它具有两个用户A、B groupB = C,D //定义群组groupB,它具有两个用户C、D [/] * = r //在根目录所有用户有只读权限

服务器VisualSVN-Server_2.1.6安装、配置方法

1.安装服务器版(VisualSVN-Server-2.1.6.msi),下图为本机系统及部分信息,本机做了RAID0+1(装了四块硬盘,其中两块为备份盘,目的是正常用的两块硬盘使用过程中如果突然坏掉,另两块硬盘将保存坏硬盘的数据,同时顶替掉坏硬盘进行工作)。 2.双击打开VisualSVN-Server-2.1.6.msi, 点next 后如下图 在下面选项打勾,点next,出现下图

选择中如如选项,点next 后出现下图 上图中,Location:项为程序安装目录,Repositories:后面为项目的保存目录(以后项目就保存在这个目录下了),点后面的Browse…可以修改位置,然后点netxt,,出现下图 点击install,程序开始安装,安装过程中如果出现提示,可能是电脑名称为中文,最好提前改为英文。安装正常情况下出现下图:

点Finish,即完成安装,VisualSVN会运行。出现下图 VisualSVN Server的配置和使用方法(转) 1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server 为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion 和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。 2.为什么不用TFS? 回答:

svn服务器端配置库创建及配置办法

S V N服务器端配置库创建(E x p r e s s版)1创建SVN配置库目录 在某一路径下,点击鼠标右键-新建-文件夹,创建一个文件夹,并修改目录名(如MySVN,在本文档中称之为SVN配置库)。右键点击该目录,选择TortoiseSVN-Create repository here。(备注:“repository”是英文“储藏室”的意思) 1-1Create repository创建SVN配置库 2对 SVN authz、passwd即为配置 每一2.1 2.2 passwd user,密码为pwd的用户,则可以使用如下方法实现: [users] user = pwd //定义用户user,其密码为pwd 2.3authz文件配置 authz文件主要用于设置用户所属群组,配置用户权限及群组权限。群组信息在[groups] 标签下配置;某个目录的读写权限则在[某路径]标签下配置,r表示可读权限,w表示可写权限,rw表示可读可写权限。假设passwd文件中定义了A、B、C、D四个用户,下面将进行一些配置并对这些配置的含义进行说明。

[groups] groupA = A,B //定义群组groupA,它具有两个用户A、B groupB = C,D //定义群组groupB,它具有两个用户C、D [/] * = r //在根目录所有用户有只读权限 A = rw //在根目录用户A具有读写权限 @groupB = rw //在根目录群组groupB具有读写权限 [/目录A] C = w 3 一个SVN配置库 1) 2)目录下存 3) SVN 过程中对SVN配置进行过修改(如添加一个新用户),则需要重启该SVN服务,即点击停止再点击开始。 3-1mySwapper配置界面 4进行Check-out 下面在客户端建立一个文件夹,进行SVN Checkout后,即可进行文件的上传、下载了。相信下面的工作大家都很熟悉拉。 4-1进行Check-out

SVN服务器配置详细解说

SVN精细权限控制 原文链接: https://www.doczj.com/doc/a33189278.html,/ayifa/blog/item/a7708c1885c221b54bedbc40.html 本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。除此之外的其他配置、安装等内容,不是本文重点,读者若有什么疑问,请参考后面“参考文献”中列出的一些文档。 这里首先要注意一点,任何配置文件的有效配置行,都 “不允许存在前置空格” ,否则程序可能会出错,给你一个 “Option expected”的提示。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。当然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许 UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助。 svnserve.conf “arm\conf\svnserve.conf” 文件,是 svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。 首先,我们告诉 svnserve.exe,用户名与密码放在 passwd.conf 文件下。当然,你可以改成任意的有效文件名,比如默认的就是 passwd: password-db = passwd.conf 接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。 那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在 passwd.conf 文件里面持有用户名密码的家伙。这两行的等号后面,目前只允许 read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件: anon-access = none auth-access = write 接下来就是最关键的一句呢,它告诉 svnserve.exe,项目目录访问权限的相关配置是放在 authz.conf 文件里:

svn独立服务器及eclipse客户端配置

SVN独立服务器与eclipse客户端的安装与配置 一、服务端配置 1、安装subversion 例如:Setup-Subversion-1.6.15.msi,按缺省方式安装即可 2、在资源管理器中创建svn服务根目录。 如D:\svn\Repositories 3、在svn根目录下建立一个代码版本仓库 进入dos窗口,执行以下命令: svnadmin create d:\svn\Repositories\repository 该命令会在根目录d:\svn\Repositories\下生成一个叫repository的目录,目录结构如下: 4、启动服务 (1)、命令行启动: svnserve -d -r D:\svn\Repositories 注:

-d 参数效果同于—daemo,告诉svnserve 以守护进程方式运行,这样在手动终止之前不会退出。

-r 参数效果同于--root,告诉svnserve 将会在端口3690 等待请求,设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL 的时间 如果不加root 参数,服务url 为:svn://localhost/ svn/ repository 而如果加上root 参数,服务url 为:svn://localhost/ repository 通常svn服务器都是远程的,所以记得将localhost换成实际的svn服务器的ip 另外,dos窗口不能关,否则服务将停止 不要关闭命令行窗口,关闭窗口会把svnserve 停止。 (2)、批处理文件启动 可直接创建.bat 文件来快速启动svn服务: @echo on @cd\ @cd C:\Program Files\Subversion\bin @rem start svn service Start svn service... @svnserve -d -r d:\svn\ Repositories\repository The svn sevice is run... :end 5、配置用户和权限 (1)、编辑d:\svn\Repositories\repository\conf下的svnserve.conf 去掉password-db=passwd前的注释 (2)、修改同目录下的passwd文件,在[users]下加上授权用户和密码,如: Username1 =password1

svn服务器配置说明

环境 OS:Windows XP SP2 Web:Apache 2.2.6 SVN:svn-win32-1.4.6 一、建立版本库(Repository) 开始建立版本库。首先建立 e:\svn 空文件夹作为所有版本库的根目录。然后,开始->运行->cmd打开窗口 进入命令行并切换到subversion的bin目录。 输入如下命令: svnadmin create E:\svn\repos1 此命令在 E:\svn 下建立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件。我们也可以使用 TortoiseSVN 图形化的完成这一步: 先建立空目录 E:\svn\repos1 ,注意一定是要空的。 在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...” 可以选择版本库模式,这里使用默认的FSFS即可 创建了一系列文件夹和文件,同命令行建立的一样。 这里面的版本库地址和名称可以根据实际需要更改。

二、运行独立服务器 此时 subversion 服务还没有开始,只是通过它的命令建立了版本库。继续在刚才的命令窗口输入: svnserve.exe –daemon svnserve 将会在端口 3690 等待请求,--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把svnserve 停止。 为了验证svnserve正常工作,使用TortoiseSVN -> Repo-browser 来查看版本库。在弹出的 URL 对话框中输入: svn://localhost/svn/repos1 点 OK 按钮后就可以看见 repos1 版本库的目录树结构了,只不过这时 repos1 是个空库。你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入 svnserve URL的时间: svnserve.exe --daemon --root drive:\path\to\repository 以前面的测试作为例,svnserve 将会运行为: svnserve.exe --daemon --root e:\svn 然后TortoiseSVN中的版本库浏览器URL缩减为: svn://localhost/repos1 三、配置用户和权限 用文本编辑器打开E:\svn\repos1\conf目录,修改 svnserve.conf: 将: # password-db = passwd 改为: password-db = passwd 即去掉前面的 # 注释符,注意前面不能有空格。 然后修改同目录的passwd文件,增加一个帐号: 将: [users] # harry = harryssecret # sally = sallyssecret 增加帐号: [users] #harry = harryssecret #sally = sallyssecret

Windows下SVN服务器的详细安装配置手册

1、Windows下SVN服务器的安装配置 SVN全称Subversion,是一款开源的版本控制系统,支持在本地访问或通过网络访问数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支等功能,SVN还增加了追踪移动和删除的能力。此外,它支持非ASCII文本和二进制数据,所有这一切都使SVN不仅对传统的编程任务非常有用,同时也适用于Web开发、图书创作和其他在传统方式下未采纳版本控制功能的领域。 1.1 SVN的基本原理 SVN是一种集中的分享信息的系统,它的核心是版本库,它存储所有的数据,版本库按照文件树形式存储数据,包括文件、目录。任意数量的客户端可以连接到版本库,读写这些文件。通过写,别人可以看到这些信息,通过读数据,可以看到别人的修改。 SVN可以通过多种方式访问:本地磁盘访问,或各种各样不同的网络协议,但一个版本库地址永远都是一个URL。“版本库访问URL”描述了不同的URL模式对应的访问方法,如表7-1所示: 表7-1:不同的URL模式对应的访问方法 修订号代表了一次提交后版本库整个目录树的特定状态,另一种理解是修订号N代表版本库已经经过了N此提交。因此,当我们在使用SVN时,如果谈及“foo.c的修订号5”时,实际的意思就是“在修订号为5时的foo.c”。修订号N和M并不一定表示一个文件是不同的。其他的版本控制工具,例如CVS,则使用每一个文件一个修订号的做法。 1.2 SVN的下载与安装 读者可以下载SVN的服务器安装文件:svn-1.4.0-setup.exe; Windows客户端安装文件:TortoiseSVN-1.6.11.20210-win32-svn-1.6.13; 在客户端使用方面可以使用TortoiseSVN客户端,当作为软件开发人员一般会在Eclipse 开发工具中按照SVN相关插件。

SVN服务器和客户端使用说明

备注:本内容经过本人练习和测试 简介 VisualSVN Server是用于Subversion管理的windows程序,它整合了Subversion, Apache和一个命令行管理工具。提供了完全可视化的Subversion版本库创建,管理,人员管理的操作界面。 TortoiseSVN是subversion的客户端工具,可以通过他连接到VisualSVN Server。 细节:VisualSvn Server 已经将 Apache 和 Subversion 集成好了,生成 HTTP 的访问方式 :http://计算机名:端口号/svn/Project_Name。 windows下配置VisualSVN Server服务器(服务端和客户端) 下载安装文件: 服务端安装文件:VisualSVN-Server-1.6.2(下载地址https://www.doczj.com/doc/a33189278.html,) 客户端安装文件:TortoiseSVN-1.5.5.14361-win32-svn-1.5.4 在VisualSVN Server 的官网https://www.doczj.com/doc/a33189278.html,上提供了两个产品。一个是VisualSVN,另一个是VisualSVN Server (下面简称Server)。前者是一个集成到Visual Studio里的插件,功能挺强大,但是需要收费滴 VisualSVN Server(服务器端) 一、VisualSVN Server的配置和使用方法【服务器端】 1,VisualSVN Server的安装 下载安装包,解压后得到.exe文件,双击进行安装 其中的Location和Repositories存放位置可以自由设置,可以两个可以不在同一盘符下。建议复选Usesecure connection项,这时候只有443和8443两个端口可用(注意自己公司的防火墙问题,如果有

redhat下svn服务器端安装及配置方法

Redhat下svn 服务器端的安装及配置方法 一、svn安装方法 1、安装 执行 yum install svn 自动安装 2、测试方法 执行 svnserve –version 命令 如果显示如下,安装成功: svnserve, version 1.4.0 (r21228) compiled Oct 12 2006, 10:18:56 Copyright (C) 2000-2006 CollabNet. Subversion is open source software, see https://www.doczj.com/doc/a33189278.html,/ This product includes software developed by CollabNet (https://www.doczj.com/doc/a33189278.html,/). The following repository back-end (FS) modules are available: * fs_fs : Module for working with a plain file (FSFS) repository. 二、svn 配置方法 1、建立版本库目录 mkdir -p /opt/svndata/xxxxx 2、建立版本库: svnadmin create /opt/svndata/xxxxx 3、修改版本库配置文件: 版本库 xxxxx: vi /opt/svndata/xxxxx/conf/svnserve.conf 内容修改为: [general] anon-access = none auth-access = write password-db = /opt/svn/conf/pwd.conf authz-db = /opt/svn/conf/authz.conf realm = repos1 4、配置允许访问的用户: vi /opt/svn/conf/pwd.conf

TortoiseSVN使用说明书(超详细)(DOC)

一、TortoiseSVN客户端的安装 1.客户端软件:TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端 中文语言包:LanguagePack_1.7.12.24070-win32-zh_CN.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端\语言包 (客户端安装在系统的默认位置,不需要特殊的配置,安装完成后需要重新起动系统, 重启之后鼠标的右键菜单会多出这么一组命令) 2. 中文语言包的安装如下:

二、Subversion基本工作流程 这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion库中的文件进行操作。 1.如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。 检出到本地: 初次检出到本地文件夹时,在本地新建一个空文件夹,具体操作如下图: 如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。 如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。 在弹出的对话框中输入自己的用户名和密码。

修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记) 在信息框中为修改的文件添加说明信息。如下图 在变更列表中选中更变的文件。如下图

点击确定后会提示输入用户名和密码。

从服务器端更新本地文件的版本: 如果服务器上的版本库已经是第7版本,自己本机的版本还是第1版本。这时你可以更新自己本地的版本为第7版本。

SVN服务端操作手册

SVN服务端操作使用手册 目录 一 .SVN服务器安装 ............................................................................................................. - 2 - 二 . SVN服务端的使用 ........................................................................................................ - 9 - 1.新建项目(创建库) .................................................................................................... - 9 - 2.新建项目(创建文件夹) .......................................................................................... - 16 - 3.新建用户 ...................................................................................................................... - 17 - 4.新建组并添加用户 ...................................................................................................... - 19 -5项目添加用户以及权限设置 ...................................................................................... - 21 -6.项目添加用户组以及权限设置 .................................................................................. - 23 -

Windows系统下SVNServer 服务端和客户端安装配置

1、软件下载 【注意】如果之前已经安装了Tortoise 下载Subversion服务器程序。 SVN客户端,必须选择与之配套的SVN服务端版本,否则会出现各种问题,可以从Tortoise SVN的"About"菜单中看到与之对应的Subversion版本! 2、服务器和客户端安装 ①服务器安装,直接运行安装程序,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。 ②客户端安装TortoiseSVN,同样直接运行安装程序,按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关。重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发 现多出了一些SVN相关菜单, 选择其中的TortoiseSVN, 再选择子菜单"Settings", 设置Language为"中文(简体)"。 3、建立版本库(Repository) ①运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,cmd下运行svnadmin create SVN库的位置(如: D:/svnRoot)。 ②复制SVNService.exe到SVN服务端安装目录下的bin目录下。第一次安装完后要到服务中手动启动它,或者到服务中将它设为自动启动,让每次机器启动时自动启动这个服务。

③在svn安装路径的bin,目录cmd下运行SVNService -install -d -r D:/svnRoot(SVN库的位置)就会在目录D:\ svnRoot下创建一个版本库。 ④如果在命令行中不识别svnserver命令,可以查看系统环境变量path中有无subversion/bin的条目,没有就手动加上。也可以使用TortoiseSVN图形化界面完成这一步:在目录D:\svnRoot下"右键->TortoiseSVN->Create repository here",然后可以选择版本库模式,这里使用默认fsfs方式即可,然后就创建了一系列目录和文件。打开命令行窗口(或DOS窗口),进入svn服务器bin目录,输入svnadmin create --fs-type bdb svnRoot或svnadmin create --fs-type fsfs svnRoot,创建版本库⑤⑥⑦⑧⑨⑩ 4、配置用户和权限 打开D:\svnRoot, 你会发现已经多了一些目录和文件, 打开conf 子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为: anon-access = none # auth-access = write password-db = passwd 含义是: 未验证用户无任何权限(如果把none修改为read就是给予读权限)

Svn服务器搭建简单教程

.环境和软件准备 操作系统:windowsXP sp2 Window-Subvsersion :https://www.doczj.com/doc/a33189278.html,/servlets/ProjectDocumentList?folderID=91 Windows 常用客户端TortoiseSVN :https://www.doczj.com/doc/a33189278.html,/downloads 请下载subversion 服务器软件和客户端,并默认安装(可以重新启动操作系统,以更新图标显示)。 2.配置管理 2.1. 创建仓库(svnadmin) 在硬盘上创建个空目录,作为SVN 的仓库目录。如:E:\subversion\repository 。下面使用两种方式创建仓库的初时文件结构和存储方式。命令方式和TortoiseSVN 客户端方式,后面所有文档都采用两种方式说明,其功能完全相同。请根据实际情况选择使用。 命令方式(DOS 下): # 默认方式,采用FSFS 方式存储数据,这是推荐方式,管理和迁移相对bdb 方式简单 svnadmin create E:\subversion\repository 或 svnadmin create –fs-type bdb E:\subversion\repository TortoiseSVN 客户端 注意在最新版本的SVN1.4 ,采用本方式有兼容性问题,该客户端现在好想只支持 1.3 版本的SVN 创建仓库 1.使用window exporer 或我的电脑,定位到E:\subversion\repository ,并确保本目录为空。 2.在本目录下,右键菜单中选择“TortoiseSVN ”-> “Create repository here…” 3.在弹出的窗口中选择数据存在文件系统方式,使用默认选取(FSFS) ,点击确定。 4.检查本目录下是否有生产的系统文件和文件夹,如果有,成功! 2.2. 配置服务 进入仓库目录下的conf 文件夹。也就是E:\subversion\repository\conf 里面有3 个默认的配置文件:authz ,passwd ,svnserve.conf

SVN服务器配置

linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX 下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! 虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux 上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN。安装步骤如下: 1、yum install subversion 2、输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件。 输入svn --help可以查看svn的使用方法,如下图。

3、创建svn版本库目录 复制代码代码如下: mkdir -p /var/svn/svnrepos 4、创建版本库 复制代码代码如下: svnadmin create /var/svn/svnrepos 执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件

5、进入conf目录(该svn版本库配置文件) authz文件是权限控制文件 passwd是帐号密码文件 svnserve.conf SVN服务配置文件 6、设置帐号密码 vi passwd 在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan 7、设置权限 vi authz 在末尾添加如下代码: 复制代码代码如下: [/] dan=rw w=r 意思是版本库的根目录dan对其有读写权限,w只有读权限。 8、修改svnserve.conf文件 vi svnserve.conf 打开下面的几个注释: anon-access = read #匿名用户可读 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /var/svn/svnrepos # 认证空间名,版本库所在目录 9、启动svn版本库 svnserve -d -r /var/svn/svnrepos 10、在windows上测试 新建一个测试文件夹,在该文件夹下右键选择SVN checkout如下图(要事先安装TortoiseS VN):

SVN权限详解

【转贴】Subversion权限详解 1背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封邮件去查看,很麻烦。于是就想到利用Subversion,让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下svnupdate即可,比发送邮件还要简单的多。 svn服务器相关信息 o服务器地址: 192.168. 0.1 o服务器OS: MS Windows 2000 Server Edition中文版 o代码库本地目录: D: \svn\arm arm部门文档的目录结构如下: arm部门名称 ├─diary 工作日志目录 │ ├─headquarters 总部工作日志目录 │ ├─beijing 北京办日志目录

│ └─shanghai 上海办日志目录 ├─ref 公司公共文件参考目录 └─temp 临时文件目录 人员情况 omorson,公司总经理,其实他不必亲自看任何东西,就连部门经理们的每周总结都不一定看。但是为了表示对他的尊敬,以及满足一下他的权力欲,还是给他开放了“阅读所有文档”的权限 omichael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn 来管理日志,就是他相处来的主意 oscofield,北京办人员,老员工,为人油滑难管 olincon,上海办人员,老员工,大老实人一个 olinda,总部协调员、秘书,文笔不错,长得也不错 ory,单片机技术员,技术支持 访问权限需求分析 o允许总经理读取所有文件 o除部门经理外,所有其他人员,均只能看到本办事处人员工作日志o不允许匿名访问 oref目录只允许经理和秘书写,对其他人只读 otemp目录人人都可以写 2建立代码库 在服务器D: \svn目录下,建立arm代码库,命令如下:

svn服务器及客户端安装详解

SVN服务器 如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subv ersion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来。 本手册分为以下几个部分,为了说明简单是在windows下使用的方式,以方便资源有限的项目使用。在U NIX环境下,只是安装方式不同,命令执行并无太大区别。 ?软件下载 ?服务器安装 ?建立版本库(Repository) ?配置用户和权限 ?运行独立服务器 ?初始化导入 1软件下载 到官方网站的下载二进制安装文件,来到二进制包下载部分,找到Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0或者Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setu p-Subversion-1.5.3.msi。 2.服务器安装 (1)服务器安装,直接运行Setup-Subversion-1.5.3.msi,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。(2) 将SVN添加到Windows服务 1. 新建一个文件夹用来存放库文件c:\SVN 2. 运行命令:SVNService -install -d -r c:\svn 安装Windows 服务 3. 通过Windows服务管理平台启动SVN服务 (3) 其它命令 1. 改变服务设置: 运行命令:SVNService -setup -d -r 在实际操作中,代表与SubVersion服务启动时不同的电子仓库目录. 2. 删除服务: 运行命令:SVNService -remove 系统文件配置svnserve.conf 3,建立版本库(Repository) 运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如: svnadmin create E:\svndemo\repository

怎么配置svn服务器

怎么配置svn服务器 找到VisualServerManager的快捷方式处,启动VisualServer 服务器,启动后界面如图: 右键点击Users,填入用户名和密码。用户名设置为个人的姓名或其他的 创建Groups:右键点击Groups,选择CreateGroups 这里是创建组的,可以设置成你的团队或公司的名称。这里我以自己的身份Student(学生)设置。之后点击Add,可以看到上述你所创建的用户名,点击用户名,点击OK完成。 右键Repositories,输入仓库的名称。这里你可以可以把自己的代码归类。这里我只是简单归为Java,另外我还写C/C++,可以再设置一个Cpp,这里不再演示。之后点击下一步 之后是配置仓库结构,这里选择的是默认,点击Next下一步即可。如果你是建立个项目的话,可以选择第二个选项 之后是配置仓库的访问权限,这里我们点击Custom... 之后,点击Add 根据自己的需要,来相应的权限这里有三种权限: Sepical:Everyone是任何人都可以访问的 Groups:所有在组里面的成员用户都可以访问 Users:单一的用户可以访问。 这里,我们只点击maple即可,你也可以点击你的Groups名,或Users名。之后点击OK 之后点击确认,其他默认即可了 之后,点击Create,进行仓库的创建

查看仓库名称,以及仓库的访问Url,还有相应的用户权限,如果无误,点击Finish 配置服务器的访问IP地址: 右键软件启动之后的界面,右键VisualSVNServer,并点击Properties 点击Network,并选中的TheseIPaddresses 点击Add,并填入127.0.0.1,点击OK完成 之后点击确定,VisualServer配置完成! 看了“怎么配置svn服务器”的人还看了

相关主题
文本预览
相关文档 最新文档