本节主要讲解一下SVN-WINDOWS服务器架设和管理,有以下几个步骤:
1.SVN-WINDOWS服务器环境和软件准备
操作系统:windowsXPsp2
Window-Subvsersion:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
Windows常用客户端TortoiseSVN:http://tortoisesvn.net/downloads请下载subversion服务器软件和客户端,并默认安装(可以重新启动操作系统,以更新图标显示)
2.SVN-WINDOWS服务器配置管理
2.1.SVN-WINDOWS服务器创建仓库(svnadmin)
在硬盘上创建个空目录,作为SVN的仓库目录。如:E:\subversion\repository。下面使用两种方式创建仓库的初时文件结构和存储方式。命令方式和TortoiseSVN客户端方式,后面所有文档都采用两种方式说明,其功能完全相同。请根据实际情况选择使用。
命令方式(DOS下):#默认方式,采用FSFS方式存储数据,这是推荐方式,管理和迁移相对bdb方式简单
svnadmincreateE:\subversion\repository或svnadmincreate–fs-typebdbE:\subversion\repository
2.2.SVN-WINDOWS服务器配置服务
进入仓库目录下的conf文件夹。也就是E:\subversion\repository\conf
里面有3个默认的配置文件:authz,passwd,svnserve.conf
svnserve.conf控制svnserve的启动配置选项,可以配置认证和授权方式,典型的配置是设置由authz控制授权,passwd控制认证的方式来控制访问权限。也可以使用匿名方式,但不推荐。
使用authz和passwd的典型配置:
请特别注意:以下三个配置文件的配置,每行有效配置前不能有空格,不然配置会失败。
服务配置文件svnserve.conf……
- ###匿名方式不允许访问
- anon-access=none……
- ###Uncommentthelinebelowtousethedefaultpasswordfile.
- ###表示访问仓库的认证有文件passwd提供的账户确定
- password-db=passwd……
- ###Uncommentthelinebelowtousethedefaultauthorizationfile.
- ###表示认证后的账户访问权限由文件authz定义
- authzauthz-db=authz
- ###Thisoptionspecifiestheauthenticationrealmoftherepository.……
认证配置文件passwd
passwd文件实际提供访问本仓库的账户管理,文件格式就是ini方式的格式
[users]
harry=harryssecret
sally=sallyssecret
user=usersecret这表示本仓库配置了二个用户及:其中一个用户harry,他的访问密码是harryssecret。访问密码可以使用明文,也可以使用htpasswd.exe(apache服务器提供的工具方法,安装apache服务器后,在其bin目录中有该程序文件)进行加密处理。下面看一下SVN-WINDOWS服务器架设和管理授权配置文件。
授权配置文件authz
该文件负责认证后的用户的权限控制,配置稍微复杂,但其实也就是个ini配置文件而已。
典型配置:#groups段提供配置组的功能,但组成员必须是passwd文件中定义的用户才有效。可以对组
#进行权限控制,所有组成员具有组对应的访问权限。
[groups]
#表示定义了一个管理组叫admin_group,包括harry和sally,admin_group前千万不能有空格
admin_group=harry,sally
#下面就是定义具体仓库下目录的访问权限
#一般对管理员来说都具有整个仓库的读写权限,一般人员对整个敞开具有读取权限,下面
#就是这样的配置,[/]表示整个仓库的根,组的引用使用@,对应的权限可以是r,w,rw或空[/]
@admin_group=rw,*=r以上的配置完成后,我吗就可以启动服务器了,下面说明服务器的启动。注意,以上authz和passwd文件在管理中因为具体项目的加入和人员的变动会经常的修改,这也是SVN管理主要的工作
2.3.SVN-WINDOWS服务器启动服务(svnserve)
Svn服务器一般有三种方式,svnserve,apache和SSH。其中常用的有svnserve和apache方式。本文只以svnserve方式讲解。总的来说svnserve是***效的方式,一般应用于内部开发网中使用。Apache方式因为可以很好的部署在internet上,所以公网使用最方便,但配置稍微相对复杂点点,呵呵~~。三种方式具体的优缺点,请参考本文后面的参考文档。
命令方式(DOS下):svnserve–d–rE:\subversion\repository
-d参数是以独立服务的方式启动,-r是制订要加载的仓库的物理路径。
【编辑推荐】