SVN简易安装手册

上一篇 / 下一篇  2015-01-07 09:29:21 / 个人分类:SVN

项目级SVN简易安装手册

 

一、安装步骤

假定现有一个名为“project_demo”的项目,项目组有4名成员,其中tswang为项目经理,liling配置管理员,yangxiaszcao为普通成员,现在要为此项目建立SVN管理环境。

SVN服务器操作系统Windows XP4名成员内部局域网环境畅通。服务器可以是单独的一台电脑,也可以直接架设在配置管理员liling的电脑上。

以下安装步骤指的是服务器的架设,普通项目组成员仅需安装TortoiseSVN即可。

1、安装SVN服务器端

配置管理员liling在服务器上执行CollabNetSubversion-server-1.6.11-3.win32.exe,除了在svnserve ConfigurationApache Configuration页面修改SVN存放数据的Repository文件夹(下图中选择的文件夹是f:\svn_repos)和Apache的端口(下图中设置端口为8080)外,其它一路next到底。

右键点击“我的电脑”,选属性-高级属性-环境变量-系统变量-path,将SVNhttpd\bin文件夹加入path

2、安装SVN客户端TortoiseSVN

项目组所有成员(包括服务器上)都需要安装客户端TortoiseSVN

执行TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.msi,一路next到底,然后重新启动电脑。

执行LanguagePack_1.6.8.19260-win32-zh_CN.msi,一路next到底。右键菜单中选择TortoiseSVNSettingsGenerallanguage-中文简体,将TortoiseSVN设置为中文简体。

3、配置Apache

编辑svn安装路径httpd\conf文件夹里的httpd.conf文件:

1)去除“#LoadModule dav_fs_module modules/mod_dav_fs.so”前面的“#”;

2)在LoadModule区域的末尾增加一行:

LoadModule authz_svn_module modules/mod_authz_svn.so

3)删除末尾的如下4行:

<Location /svn>

DAV svn

SVNParentPath f:\svn_repos

</Location>

4)在httpd.conf文件末尾,添加如下10行:

<Location /svn/>

DAV svn

SVNParentPath f:\svn_repos

SVNListParentPath on

AuthType Basic

AuthName "Project SVN"

AuthUserFile f:\svn_repos\passwd.conf

AuthzSVNAccessFile f:\svn_repos\access.conf

Require valid-user

</Location>

其中“f:\svn_repos对应的是安装SVN服务器端时选择的Repository文件夹,可根据自己设定的文件夹相应修改。

注意:如果httpd.conf文件中含有中文,需要使用UltraEditNotePad++等文本编辑器将文件转换为“UFT-8BOM”格式,否则将出错或控制无效,详见下文中“补充说明”的“含有中文的配置文件”。

4、设置用户名和密码

配置管理员lilingDOS命令行窗口中,将当前路径转换到f:\svn_repos文件夹,执行htpasswd -c passwd.conf liling,用于创建f:\svn_repos\passwd.conf这个用户密码文件,并在其中写入一个名为liling的用户(用户名只能包含字母和数字,而不能含有\%&/!@#等字符),然后输入两次要为liling设置的密码,完成liling用户的添加。

其中:-c是首次创建用户名密码文件的时候需要的参数,以后继续增加用户时就不要这个参数了。

然后使用htpasswd passwd.conf tswang增加tswang用户,同样增加szcaoyangxia用户。

5、建立项目的版本库

f:/svn_repos文件夹下新建project_demo文件夹,右键点击project_demo,在右键菜单中选择TortoiseSVN――在此创建版本库,则自动在project_demo文件夹下建立与SVN相关的子文件夹,这样就建立了一个project_demo项目的空版本库。

按照项目的实际情况,修改安装包中project_demo/trunk文件夹下的各级目录,然后右键点击project_demo文件夹,在右键菜单中选择TortoiseSVN――导入,在弹出的窗口中,版本库URL处填写此项目的链接地址http://localhost:8080/svn/project_demo,导入信息处填写对此次操作的备注信息,然后点击确定,此时会弹出窗口要求进行用户认证,输入用户名liling及密码,将建立的各级子文件夹导入SVN服务器。

本地电脑上的project_demo文件夹仅是用来创建服务器上的各级子文件夹,此时可以将其删除。

6、设置控制权限

复制安装包中的access.conff:\svn_repos文件夹中,查找其中的“project_demo”替换为该项目的名称,并将用户ID分组对应写入groups下各行的等号后面,用户之间用英文的逗号隔离。

现在默认的权限是:

Ø 配置管理员(scm组)对所有文件夹具备读写权限;

Ø 项目经理(manager组)和项目普通成员(member组)对tags文件夹仅具备只读权限,对其他文件夹具备读写权限。

注意:如果httpd.conf文件中含有中文,需要使用UltraEditNotePad++等文本编辑器将文件转换为“UFT-8BOM”格式,否则将出错或控制无效,详见下文中“补充说明”的“含有中文的配置文件”。

7、启动Apache

添加SVN安装路径下httpd/bin文件夹中的ApacheMonitor.exe的快捷方式到操作系统“开始”菜单的“启动”中,以便日后自动启动ApacheSVN服务,并运行ApacheMonitor.exe

SVNApache服务正常启动后,可在IE浏览器中输入http://服务器IP地址:8080/svn/进行测试,应弹出要求用户登录的窗口,在其中输入用户名及密码,应可成功登录。

8、开始使用版本库

在某空白文件夹中,右键菜单选择“SVN检出”,在弹出窗口的“版本库URL”处填写此项目的链接地址“http://服务器IP地址:8080/svn/project_demo”,点击确定后检出此项目的版本库,然后即可开始使用。

 

二、补充说明

1、含有中文的配置文件

如果httpd.conf或者access.conf等配置文件中含有中文字符,需要使用UltraEdit(下方左图所示)或NotePad++(下方右图所示)等文本编辑器将文件转换为“UFT-8BOM”格式,否则将出错或控制无效。

2、控制权限的设置

SVN的权限控制是以文件夹为最小控制单元的,与Apache集成后,可采用Apache的权限控制方式。

如果要实现更复杂的权限控制,需要修改access.conf。(如文件中含有中文,需要将此文件转换为“UFT-8BOM”格式。)

以下面的配置为例,来说明权限的设置方法:

[groups]

admin = SVNADMIN

manager= yhshu,qkxia

member = tphou,yinwei,wylian,hliao

sc_all = @manager,@member

 

[/]

* =

@admin = rw

@sc_all = r

 

[project_demo:/]

@manager = rw

 

[project_demo:/trunk/源程序]

@member = rw

lwang = rw

 

说明

[groups]用于定义用户分组每个组一行,“=前面是组的名字,“=后面是这个组中各用户的名字每个用户名之间用,分隔引用用户名的时候直接写IDyhshu”;引用组名的时候需要在组名前加@”,@manager”(@和组名间不能有空格

Øadmin = SVNADMIN定义了admin这个用户组admin这个组中仅有1个名为SVNADMIN的用户

Ømanager= yhshu,qkxiamember = tphou,yinwei,wylian,hliao定义了managermember这两个组manager组中有yhshuqkxia这两个用户member组中有4个用户

Øsc_all = @manager,@member:定义了sc_all这个组,这个组由managermember这两个组合并而来;

[/]:其下几行用于定义对Repository文件夹根目录的访问权限;每条权限规则一行,“=”前面是用户或者组的名字,“=”后面是这个用户或者组所拥有的权限(r为读,w为写,空则为无任何权限);默认情况下,下层目录自动继承上层目录定义的权限规则,除非另外单独定义下层目录的权限;

Ø* =:定义了全部人员对这个根目录都没有任何权限(下面几行授权的除外);

Ø@admin = rw:定义了admin这个组拥有对根目录的读写权限;

Ø@sc_all = r:定义了sc_all这个组拥有对根目录的只读权限;

[project_demo:/]:定义的是project_demo这个项目的版本库的控制权限;

Ø@manager = rw:定义了manager组对project_demo这个版本库拥有读写权限;

[project_demo:/trunk/源程序]:定义的是project_demo这个项目下的“trunk/源程序”这个文件夹的控制权限。

Ø@member = rw:定义了member组对“project_demo/trunk/源程序”这个文件夹拥有读写权限;

Ølwang = rw:定义了用户lwang对“project_demo/trunk/源程序”这个文件夹拥有读写权限。

 

按如上设置,各层权限继承,最终的权限结构如下:

ØSVNADMIN:作为管理员,拥有对全部内容的读写权限;

Ø@managermanager这个组拥有对全部内容的只读权限,且拥有对project_demo这个项目的读写权限;

Ø@membermember这个组拥有对全部内容的只读权限,且拥有对“project_demo:/trunk/源程序”这个文件夹的读写权限(对其它文件夹只有只读权限);

Ølwang:这个用户对“project_demo:/trunk/源程序”文件夹具有读写权限,但对根目录下的其它项目和project_demo这个项目的其它内容都没有任何权限。

 

3、新建另一个版本库

如果要在此服务器上为另一个新项目project_abc建库,则:

1)参照第上述第4步,使用htpasswd passwd.conf XXXXX增加新用户;

2)参照上述第5步操作,在f:/svn_repos文件夹下建立project_abc的版本库;

3)手工修改access.conf文件,在[groups]区域仿照project_demo项目增加几个分组project_abc_scmproject_abc_managerproject_abc_member

4)在access.conf文件的[/]区域仿照project_demo项目增加如下3行:

@project_abc_scm = rw

@project_abc_manager = r

@project_abc_member = r

5access.conf文件的末尾增加如下几行

[project_abc:/]

* =

@project_abc_scm = rw

@project_abc_manager = r

@project_abc_member = r

 

[project_abc:/trunk]

@project_abc_manager = rw

@project_abc_member = rw

 

[project_abc:/branches]

@project_abc_manager = rw

@project_abc_member = rw

 

保存后无需重启Apatch,即可通过“http://服务器IP地址:8080/svn/project_abc”来访问新项目的版本库。

4Apache启动失败时的处理

点击桌面右下角Apache服务的图标,选择CollabNet Subversion Apachestart,启动SVNApache服务。如果配置有误,在启动Apache的时候,会弹出错误窗口提示,此时在DOS的命令行窗口执行httpd -w -n "CollabNet Subversion Apache" -k start,则可看到配置文件具体哪里出错,然后针对错误进行修正。

Location区域中引用的文件夹和文件名称错误导致的Apache启动报错,有时在DOS命令行窗口并不显示错误信息,此时请仔细检查Location中的文件夹和文件的名称,若修正后仍无法正常启动Apache,请重启电脑后再试。

 

日历

« 2024-04-05  
 123456
78910111213
14151617181920
21222324252627
282930    

我的存档

数据统计

  • 访问量: 67172
  • 日志数: 20
  • 建立时间: 2015-01-06
  • 更新时间: 2015-01-21

RSS订阅

Open Toolbar