如何在windows上安装部署设置SVN服务器

如何在windows上安装部署设置SVN服务器,第1张

一、准备工作

1、SVN服务器:解压缩包,可以从官方网站下载最新版本

2、SVN客户端:TortoiseSVN,即常说的小乌龟,是一个客户端程序,用来与服务器端通讯。

二、安装服务器和客户端程序

1、SVN服务器:直接解压缩到某个文件夹下即可。示例路径:c:\svn\

备注:如果下载的是msi程序,直接运行按提示安装即可。

2、SVN客户端:直接运行按提示安装即可。示例路径:C:\Program

Files\Subversion

三、建立版本库(Repository):示例路径:e:\svnroot。建立版本库有两种方法:

方法一,建立空目录e:\svnroot\repos1,进入repos1文件夹,在空白处点击右键,选择“TortoiseSVN->Create

Repositoryhere”,

方法二,建立空目录e:\svnroot\repos2,进入DOS命令行,输入如下命令:

svnadmincreate

e:\svnroot\repos2

四、运行SVN服务器,启动服务。启动服务有两种方法:

方法一,临时启动服务,在DOS下输入如下命令:

svnserve

-d

-r

e:\svnroot\repos1

--listen-host

ip地址

--listen-port=端口号

说明:“listen-host”和“listen-port”可选。默认端口是3690,如果端口已经被占用,可以通过选项listen-port指定端口号。

注意:请不要关闭命令行窗口,关闭窗口会把

svn服务就停止了。

方法二,启动SVN服务为后台运行程序:

sc

create

svnserve

binPath=

"c:\svn\bin\svnserveexe

--service

-r

e:\svnroot\repos1"

displayname=

"Subversion"

depend=Tcpip

start=

auto

说明一:

(1)sc是windows自带的服务配置程序。svnserve是服务的名称,可根据需求取名。

(2)参数binPath表示svnserve可执行文件的安装路径。

(3)--service表示以windows服务的形式运行,--r指明svnrepository的位置,service参数与r参数都作为binPath的一部分,因此与svnserveexe的路径一起被包含在一对双引号当中。

(4)displayname表示在windows服务列表中显示的名字,depend=Tcpip表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。

说明二:

(1)binPath的等号前面无空格,等号后面有空格。displayname、depend、start也一样,service前面是--,不是-

,而r前面是-。

(2)若要卸载svn服务,则执行

sc

delete

svnserve

即可。

(3)从“sc”到“auto”是在同一个命令sc,必须写在同一行。

(4)启动服务命令:netstart

svnserve,停止服务命令:net

start

svnserve,也可以进入Windows提供的界面操作SVNService服务了,即控制面板—>服务。

(5)如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserveexe在“c:\programfiles\svn\”中,则命令应该写为“binpath="\"c:\programfiles\svn\bin\svnserveexe\"

五、配置用户和权限

(1)修改svnserveconf,在e:\svn\repos1\conf目录下,用文本编辑器打开svnserveconf:

将:

#

anon-access

=

read

#

auth-access

=

write

#

password-db

=

passwd

改为

anon-access

=

read

auth-access

=

write

password-db

=

passwd

注意说明:

anon-access等列前面是没有空格的。

anon-access

=

read表示没通过用户名密码登录的访问只有读的权限,如果改为none则没有用户名密码不能访问

auth-access

=

write表示通过用户名密码登录的有写的权限(当然读的权限也就有了)

password-db

=

passwd表示可以通过

用户名

=

密码

的方式在passwd文件中添加用户

(2)修改同目录的passwd文件,增加用户帐号:

将:

[users]

#

harry

=

harryssecret

#

sally

=

sallyssecret

添加帐号:

[users]

#

harry

=

harryssecret

#

sally

=

sallyssecret

admin

=

admin

添加一个admin账户,密码是admin。

6

六、初始化SVN,导入数据

选中要上传SVN的文件夹,“右键

->TortoiseSVN

->

Import”

,在弹出对话框的“URL

of

repository”输入“svn://localhost/project1/”。在“Importmessage”输入注释,点击OK,要求输入帐号,输入账户admin和密码admin。

7

七,测试SVN

本地测试:新建一空文件夹test1,单击右键,选择“SVN

Checkout”,在“URL

of

repository”中输入“svn://localhost/project1”。

其他机器测试:如果运行svnserve的主机IP地址是1234,则URL输入的内容就是“svn://1234/project1”。

安全不安全是相对的,没有绝对的安全,通常是要在安全与成本、安全与便捷之间做平衡的。

SVN服务器暴露在外网,那么最大的风险来自于对服务器本身的攻击,如果攻破了服务器自身防护,那上面的应用就都暴露了。

可以考虑SVN用https协议代替http协议,这样会稍微好一些,至少用户名密码是通过加密方式从客户端传送到服务器端的。

可以考虑在SVN服务器外面加个防火墙。

可以考虑把SVN服务器放在公司内网,开发者用***方式连接到公司内网访问SVN。

加强安全的方法很多,看你们能接受的成本和便捷性了。

如果只是一个人用的话不需要装subversion,在使用时在URL of repository栏内填写file:///+你设定的repository文件夹的绝对路径就行。而使用subversion的话在路径栏里则填写的是svn://hostIP/+repository文件夹的相对路径。subversion就是一个简单的服务器,如果在局域网内搭建svn版本控制的话使用它就很方便,如果只是自己用就没必要,配置过程还是比较麻烦的,我当时就配了一天,出了好多问题。如果你特想用的话,下面是我的一些心得。

1 下载并安装TortoiseSVN。

2 下载并安装Subversion。

注意Subversion的版本号要与TortoiseSVN尽量对应,若Subversion的版本过低则TortoiseSVN不能正常地在Subversion上进行操作。我使用的tsvn是171,一开始用13的subversion就不行,后来重新装了个17版本的subversion就好了

3 建立版本库。

创建一个目录作为版本库,对使用版本控制的工程文件进行备份。首先在一个合适的位置创建版本库目录,如”d:/Mydocument/SVNRepository”;右键该文件夹选择TortoiseSVN->Create repository here。

4 配置版本库权限。

版本库建立好后在该目录下会自动生成几个文件,其中conf目录下的文件为权限配置文件。修改svnserveconf文件:

[general]

anon-access=none

auth-access=write

password-db=passwd

第一句禁止匿名用户对版本数据库的读写,第二句运行授权用户对版本数据库的读写,第三行标明授权用户的数据库文件名。

修改passwd文件

[users]

username=password

每行都是一个用户名=用户密码。

注意:删除原始文件中的#,#为注释的意思,如#auth-access=write不会起任何作用。

不要取消svnserveconf文件中[sasl]下的注释,否则在连接服务器时会出现missing SASL mechanisms的错误。

5 启动Subversion服务器

Subversion可以通过控制台启动,输入svnserve –d就可以启动服务器,但是一旦该控制台关闭,服务器也就关闭了,这样做非常不方便。我们可以将其作为window服务加入注册表中,这样每次Window启动时会自动启动Subversion服务器了。在控制很多教程在介绍Subversion启动时提到了SVNServicesexe,这个程序实质上就是做这件事请,我们完全可以不使用该程序,直接在控制台下输入一段简单的指令即可。

假设你现在Subversion的安装目录为”D:/Program Files/Subversion”,版本库位置为”d:/Mydocument/SVNRepository”,现在打开控制台,输入 :

sc create SVNService binpath=” D:/Program Files/Subversion/bin/svnserveexe --service –r d:/Mydocument/SVNRepository” displayname=”SVNService” depend= Tcpip start=auto

注意:每个=后面都必须有空格如start= auto,否则会出错。

回车后成功建立服务,打开任务管理器,在服务标签下可以找到SVNService的服务。

“–r d:/Mydocument/SVNRepository”这句话的作用是将服务器默认路径设置到改目录下,比如现在你需要从SVN服务器CheckOut一个工程,该工程在d:/Mydocument/SVNRepository/Project1目录下,那你在TortoiseSVN路径选择中需要输入svn://hostIp/d:/Mydocument/SVNRepository/Project1,而加入该句话后你只需要输入svn://hostIp/Project1即可,既方便又隐藏了该项目在服务器中的绝对路径。

6 Import项目工程

启动好Subversion服务器后就开始向服务器中导入工程数据了。右键工程根目录或文件,选择TortoiseSVN -> Import进行导入,导入路径URL选择svn://hostIp/ProjectName即可。此时如果出现无法连接目标主机错误,检查Subversion服务器是否开启,在任务管理器中找到任务->SVNService,右键选择启动服务。如果出现文件版本不一致,则意味着Subversion版本太低,重新下载匹配当前TortoiseSVN的版本。如果出现SASL机制不匹配则在svnserveconf文件中将[sasl]下的条目全部用#注释掉。

7 使用SVN

现在你便可以在局域网内的任何一台装有TortoiseSVN的主机上进行项目开发了。使用CheckOut从服务器上下载工程,Update更新工程,Commit提交改动。

SVN安装:

1、安装服务器

######### 安装文件:SVN服务器###############

# http://wwwcollabnet/downloads/subversion #

CollabNetSubversion-server-169-1win32exe

点击安装CollabNetSubversion-serverexe,在第二个Next时选择Svnserve安装模式,去掉第二个勾即可。

往下可以选择自己的安装路径,点击Next后Finish即可。

程序被安装到:C:\Program Files\CollabNet\Subversion Server

2、安装客户端

######### 安装文件:SVN客户端###############

# http://tortoisesvnnet/downloads #

TortoiseSVN-16819260-win32-svn-1611msi

LanguagePack_16819260-win32-zh_CNmsi

点击安装软件,按提示安装即可。

3、配置服务器

在CollabNetSubversion的安装完成后,使用命令行工具创建版本库

a创建一个名为SVN(例如D:\SVN\)的空文件夹,作为你的所有版本库的根

b在D:\SVN\里创建另一个目录Project

c打开命令行窗口(或DOS窗口),进入D:\SVN,输入

svnadmin create --fs-type fsfs Project

这样,你就在D:\SVN\Project创建了一个新的版本库。

4、修改配置文件

对三个文件进行配置,在D:\SVN\Project\conf目录下,分别为svnserveconf,passwd,authz

<1> 文件svnserveconf中把下面前面的#号去掉,修改如下:

引用

Java代码

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

<2> 文件passwd增加用户,修改如下:

引用

Java代码

[users]

admin = 123456

<3> 文件authz修改如下:

引用

Java代码

[groups]

admin = admin

[/]

@admin = rw

= r

5、运行 svnserve

在终端输入:

Java代码

svnserveexe -d -r D:\SVN\Project

6、以服务形式运行 svnserve

使用普通用户直接运行 svnserve 通常不是最好的方法。它意味着你的服务器必须有一个用户登录,还要记着重新启动服务器后重新启动 svnserve。最好的方法是将 svnserve 作为 windows 服务运行。

创建服务:

Java代码

sc create SvnService binpath= "C:\Program Files\CollabNet Subversion Server\svnserveexe --service -r D:\SVN\Project" displayname= "Svn Service" depend= Tcpip start= auto

修改服务配置:

Java代码

sc config SvnService binpath= "C:\Program Files\CollabNet Subversion Server\svnserveexe --service -r D:\SVN\Project" displayname= "Svn Service" depend= Tcpip start= auto

删除这个服务:

Java代码

sc delete SvnService

把服务设置为自启动:

Java代码

sc config SvnService start= auto

启动这个服务:

Java代码

net start SvnService

问题及解决办法:

一 当配置库中要包含中文路径时

注意在保存authz文件时,保存为不包含BOM 的UTF-8格式。

这样SVN才能正常识别路径。

可以使用uedit这类编辑器进行修改保存。

二 Subversion中如何checkout出单个文件

1、使用TortiseSVN客户端(以153版为例)右键菜单中的“svn checkout”检出logojpg文件的上级目录images文件夹,本地命名为temp。

2、然后在temp文件夹上点右键,在弹出的TortiseSVN右键菜单中选择“检查更新”,在“检查更新”窗口中点击“检查版本库”,会列出该“images”目录下的所有文件。

3、在“检查更新”窗口中选中要检出的“logojpg”文件,点右键,在右键菜单中选择“更新”,即可将该文件单独检出。

注意:本文所做的操作需要150或以上的Subversion客户端,即文中的svn程序需要150版本或以上,但是服务器端版本没有要求,150以下的也可以。

SVN本身是开源免费的,但有些将SVN集成在其中的版本管理软件是收费的

常用的免费SVN服务器端:SVN官方服务器端安装包、Collabnet Subversion Edge版安装包

常用的免费SVN客户端:TortoiseSVN

  使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多,下面是详细的说明。

  VisualSVN Server的下载地址如下,是免费的,随意不必有顾虑

  http://wwwvisualsvncom/server/download/

  SVN 的下载地址如下

  http://tortoisesvnnet/downloadshtml

  1、使用SVN,首先要安装TortoiseSVN,就是上面的SVN下载地址。

  2、 安装VIsualSVN。

  =======================================

  VisualSVN Server 的安装目前最新版本是400

  一 、Visual SVN的安装非常的简单

  1、几乎是下一步。

  2、选择 visualVSN服务器和管理控制台 或只有管理控制权限

  3、选择程序安装的路径、Subversion Repository(库)的路径和所使用的协议和端口。

  可以选择HTTP和HTTPS两种协议,如需使用svn协议也非常的方便,在14版本后,Subversion加入了Service运行的功能。端口号可以任意定义。对于HTTPS的端口号默认可以选择443和8443,对于HTTP默认可以选择80、8080和81。 

  下面的用于验证的身份,一个是windows验证,一个是Subversion身份验证,这里默认是Subversion身份验证。

  4、接着就是复制文件的过程。

  5、安装完成后会询问是否需要运行VisualSVN Server Manager(一个非常有用的管理工具)

  6、打开“ VisualSVN Server Manager ”,如下:

  二 、下面是 VisualSVN Server的配置和使用方法服务器端

  1、下面添加一个代码库Repository,如下图:

  2、点击Repository右键

  3、按上图所示,创建新的代码库,在下图所示的文本框中输入代码库名称:

  注意:上图中的CheckBox如果选中,则在代码库StartKit下面会创建trunk、branches、tags三个子目录;不选中,则只创建空的代码库StartKit。

  点击OK按钮,代码库就创建成功了。

  创建完代码库后,没有任何内容在里面

  4、下面,开始安全性设置,在左侧的Users上点击右键:

  输入上面的信息,点击OK,就创建一个用户了。按照上面的过程,分别添加用户其他用户就可以了。

  下面开始添加这些用户到刚才创建的项目里。

  点击刚才创建的库,Lenovo,右击选择属性(Properties)

  5、点击上图中的"Add"按钮,在下图中选择刚才添加的用户,

  注意这里的权限设置,要选择好。

  点击"确定"按钮,上面的用户就具有了访问StartKit代码库的不同权限。

  =======================================

  三、签入源代码到SVN服务器

  1、假如使用Visual Studio在文件夹lenovo中创建了一个项目,要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击lenovo文件夹,这时候的右键菜单如下图所示:选择copy URL toCLipboard,就是复制统一资源定位符(URL)到剪贴板中

  2、然后再电脑的空白处单击右键,选择小海龟的图标/ 导出

  3、之后弹出对话框,将刚出的地址粘贴到第一个地址栏中

  

  提交后要更新,不然服务器是不显示文件,

  更新是选择 SVN更新和提交类似这里就不在重复了。

  至此 SVN服务器以搭建完毕。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在windows上安装部署设置SVN服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情