Subversion how[Reprint]

1.   Subversion简介

Subversion(简称SVN)是一款功能强大的开源版本控制工具,支持Linux和Windows平台。

SVN可以有两个访问方式,一种是独立服务器直接访问,即利用svnserve命令启动服务,通过svn://yourdomain.com/project进行访问和操作。另一种结合apache,利用HTTP协议,通过http://yourdomain.com/svn/project进行访问及各类操作。如果服务器需要在互联网上共享,一般选择后一种方式。

本文以windows平台为例,介绍SVN的安装和使用。

2.   Subversion服务端配置

通常情况下,如果选择SVN Server和Apache HTTP Server各自独立安装,配置起来会比较繁琐。

为了简便起见,我选择了CollabNet Subversion安装包进行搭建和配置服务。它将Subversion 通常所需的功能集成在一个安装包中发布,能方便部署Subversion服务,从而进一步扩展了 Subversion。

2.1.   下载并安装CollabNet Subversion服务器端

在collab.net网站上下载CollabNet Subversion服务器端,1.6.3版本下载地址

下载完毕后按照提示进行安装,安装过程中需要填入元库地址,本例中为d:/svn_repository。

2.2.   建立和导入版本库

两种方式:命令行 或 使用图形化管理工具。

命令行方式:

1、建立版本库dev

svnadmin create d:/svn_repository/dev

2、导入项目到版本库

svn import D:/dev file:///d:/svn_repository/dev/ -m "initial import”

3、显示储存库内容

svn list file:///d:/svn_repository/dev/

使用图形化管理工具

1、下载并安装TortoiseSVN

TortoiseSVN是SVN版本控制系统的一个免费开源客户端,其与Windows资源管理器的右键菜单无缝集成,因此使用非常方便。

下载地址(注意:TortoiseSVN版本需要与subversion服务端的版本一致)。

安装完毕后,在资源管理器中点击鼠标右键,会出现如下界面:

2、在E:/svn_repository下新建dev文件夹,选择右键菜单中Create repository here,创建管理元库。

3、打开Repo-browser,输入file:/// d:/svn_repository /dev,向元库中添加需要版本管理的文件夹和文件。Repo-browser界面如下图所示:

2.3.   启动服务

启动独立服务方式

svnserve –d –r e:/svn_repository/

访问方法:svn://localhost/dev

启动apache方式

cd D:/Program Files/CollabNet Subversion Server/httpd/bin

httpd.exe

访问方法:http://localhost/svn/dev/

2.4.   用户权限控制管理

svnserve独立服务方式

在新建的版本库文件夹dev中,进入conf子文件夹,该文件夹下面有三个文件进行配置。

主配置文件:svnserve.conf

在文件中去除以下内容行开头的注释关键字

#没通过验证,则无任何权限

#anon-access = none

#通过验证,最多可获得写权限

#auth-access = write

#验证文件的位置

#password-db = passwd

#权限配置文件的位置

#authz-db = authz

权限策略文件:authz

#进行权限分组和定义用户

[groups]

group_admin = admin,root

group_ guest = guest

[/]

@group_admin = rw

[/]

@group_ guest = r

用户密码设置文件passwd :

[users]

admin =123

root=345

guest=001

apache http方式

由于启动apache 后,apache不再去找SVN的svnserve.conf的相关配置信息,而使用Apache的权限控制模块,因此需要进行基于apache的权限分配。

1、创建用户(htpasswd –cm authfile username)

cd D:/Program Files/CollabNet Subversion Server/httpd/bin

htpasswd -cm "d:/svn_repository/passwords.auth" admin

运行命令后,根据提示输入admin用户密码,系统会在d:/svn_repository/文件夹下生成passwords.auth文件,用户密码进行散列运算后以加密方式保存在该文件中。

因为已经生成了文件,在创建第二个用户时,我们就不必输入 -c 开关了。

2、更新Apache httpd.conf参数

打开D:/Program Files/CollabNet Subversion Server/httpd/conf /httpd.conf文件,找到:

<Location /svn>

DAV svn

SVNParentPath d:/svn_repository

</Location>

修改成如下所示:

<Location /svn>

DAV svn

SVNParentPath d:/svn_repository

AuthType Basic

AuthName "Subversion Repository"

AuthUserFile "d:/svn_repository/passwords.auth"

Require valid-user

</Location>

重启Apache Server,再次访问http://localhost/svn/dev/就需要输入用户名和密码。

3、利用SSL 增强传输安全性

通过 Apache 的网络链接,版本库中的代码和数据可以在互联网上传输,为了避免数据的明文传输,实现安全的版本控制,可以对数据的传输进行加密。Apache 提供了基于 SSL 的数据传输加密模块 mod_ssl,有了它,用户就可以用 https 协议访问版本库,从而实现数据的加密传输。参考资料一中有相关内容和方法的介绍。

3.   Subclipse插件与Eclipse的集成

Subclipse插件是Eclipse下SVN的客户端管理插件,由于集成在了Eclipse环境下,使用非常方便,基于Eclipse平台的开发人员可以不再安装其他SVN的客户端软件。

安装方法:在Eclipse 3.4工作台“Help>Software Updates”菜单下,add Site并安装即可。

Site地址:http://subclipse.tigris.org/update_1.6.x

安装后重启Eclipse,在Open Perspective中就可以切换到SVN资源库,进行检出等操作了。

如果要增加新的管理项目,需要添加新的Repository,然后可在Package Explorer里点击一个Project,右键Team->Share Project...即可添加进Repository。

4.   通过Internet访问服务

由于我们安装的服务器是在局域网中,因此不经过设置,外网用户是访问不到我们服务器的。要通过Internet访问Apache服务,可利用路由器端口映射的方式将Apache服务80端口映射到外网IP的某一端口上,这里采用的技术为NAT(Network Address Translation)。

由于不同的路由器设置端口映射的方法不同,因此在这里不详细描述,可参考相关资料。

因为路由器上设置了映射到内网了,因此内网是无法通过外网IP的端口地址访问到我们的Apache服务,只能通过内网IP访问,因此会对我们调试带来一些麻烦。你可以委托在线的QQ、MSN好友帮你访问测试,也可以通过在线代理服务网站进行访问测试,在这里提供一个此类网站:http://www.zqzj.net/

设置好后,我们就可以通过http://外网IP /svn/dev/来访问我们的管理元库了。

5.   绑定固定域名访问

如果我们的网络是通过ADSL拨号上网,那么每次拔号后IP都会改变,这会给外网访问我们服务器带来麻烦。因此要解决的问题就是将内网中的版本控制服务器通过域名绑定,使其在外网通过固定域名也可以访问到。

花生壳是国内一款免费的动态域名解析软件,如果你申请了一个***.vicp.net (虚构的) 的免费域名,并在你的机器上运行了花生壳,那么互联网上任何人均可以通过***.vicp.net这个域名来访问你的电脑了!客户端访问就不再需要知道真实的IP地址。

使用花生壳的方法请参阅参考资料。

设置好后,我们就可以通过http:// ***.vicp.net /svn/dev/来访问我们的管理元库了。

参考资料:

用 Apache 和 Subversion 搭建安全的版本控制环境

Windows下Subversion配置管理员指南

Windows下搭建和配置Subversion服务器

NAT原理简介、各种 ADSL Modem 及路由器的端口映射方法

花生壳让你的电脑拥有自己的域名

[Collected from]http://blog.csdn.net/wu_07/article/details/5058218

时间: 2024-08-05 11:18:23

Subversion how[Reprint]的相关文章

Subversion under Linux [Reprint]

一.安装 yum install subversion 二.配置 本系统采用为每个项目单独建一版本库的策略.配置文件,密码文件,访问控制文件等都放在版本库的conf目录下. 所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件.还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息. 1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置.注意区别安装目录与版本库目录,以下讲的都是版本库目录) mkdir –p /home/svn/repos #类似

RHEL6.4下搭建apache和subversion(SVN)

1.说明 rhel6.4系统下搭建apache+svn 2.实现 1)在服务器上安装配置SVN服务: 2)SVN服务支持svnserve独立服务模式访问: 3)SVN服务支持Apache的http模式访问. 3.安装svn服务器 [[email protected] ~]# yum install -y subversion [[email protected] ~]# rpm -qa|grep subversion subversion-1.6.11-15.el6_7.x86_64 4.安装a

Windows Pre-commit hook for comment length Subversion

@echo off :: Stops commits that have empty log messages. @echo off setlocal rem Subversion sends through the path to the repository and transaction id set REPOS=%1 set TXN=%2 svnlook log %REPOS% -t %TXN% | findstr . > nul if %errorlevel% gtr 0 (goto

SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin

CI服务器:192.168.4.221 root用户操作                            建议安装前更新操作系统 # yum update 更新完成后重启 # reboot 安装apache # yum install httpd httpd-devel # service httpd start # chkconfig httpd on # vi /etc/httpd/conf/httpd.conf 找到ServerName 并修改成 ServerName localho

Centos搭建SVN服务器subversion

1.安装  subversion yum install subversion #最终显示 Installed:   subversion.x86_64 0:1.6.11-12.el6_6                                                                                                                                                           D

使用subversion管理iOS源代码

1.安装和配置subversion服务器 在windows 服务器上安装VisualSVN-Server,下载地址http://www.visualsvn.com/server/download/.采用默认安装,安装完成创建一个服务器的代码仓库hello,如图所示. 然后在Users右键创建用户tony,再回到hello仓库右键- >Properties,将tony用户授权可以访问hello仓库. 如果在浏览器中通过https://192.168.1.103/svn/hello/网址访问没有问题

windows下subversion服务器搭建

一.下载subversion服务器端和客户端软件 1.subversion下载地址:http://subversion.tigris.org/ 2.svn比较流行的客户端Tortoisesvn下载地址:http://tortoisesvn.net/downloads 3.安装subversion服务器和Tortoisesvn,若是exe文件直接安装,若是zip解压后即可(若是想方便,可以在环境变量中配置bin) 二.创建版本库(Repository) 若是想在f:\svnroot下建立版本库,需

Can&#39;t use Subversion command line client: svn

使用Intellij IDEA的svn时提示出错:Can't use Subversion command line client: svn. 当我在使用svn,Checkout一个项目后,然后将其导入到Intellij idea中,出现这样的报错!经过google后,发现了问题,我的问题是:我安装的TortoiseSVN工具,本身是带有command-line功能的(我没有安装)如图: 所以报这个错误.如果安装的TortoiseSVN工具,本身是不带有command-line功能的,必须要安装

170428、centos6.5安装Subversion + Apache +Jsvnadmin

服务器地址:192.168.0.112 root用户操作 建议 安装前 更 新操作系统 # yum update 更新完成后重启 # reboot 安装 装 apache # yum install httpd httpd-devel # service httpd start # chkconfig httpd on # vi /etc/httpd/conf/httpd.conf 找到 ServerName 并修改成 ServerName localhost:80 防火墙中打开 80 端口: