/ 中存储网

Apache+SVN的设置过程记录

2013-09-25 21:45:01 来源:ITJS.CN

本节介绍一下SVN设置问题,开始是在win2003enterpriseserver下用Apache+Svn设置,希望通过本节的学习大家能够掌握Apache+SVN设置的方法,欢迎大家一起来学习。下面是具体介绍。

1.建立SVNServe服务器

1)启动服务器程序svnserve

A:-r直接指定到版本库(称之为单库svnserve方式)

比如,有一个库project1,位于D:svnproject1

svnserve-d-rD:svnproject1

此种方式建立的版本库,访问方式为:

Svn://127.0.0.1/

B:-r指定到版本库的上级目录(称之多库svnserve方式)

同样,有一个库project1,位于D:svnproject1

如果使用以下命令启动svnserve

svnserve-d-rD:svn

此种方式建立的版本库,访问方式为:

Svn://127.0.0.1/project1/。我们再来看一下Apache+SVN设置过程中如何建立权限。

2.建立权限

1)svnserve.conf文件结构分析

每个建立的版本库下,都存在/conf/svnserve.conf文件,此文件就是用于配置此版本库的访问权限。

在版本库权限配置文件svnserve.conf中,以#开头的行为注释。建立版本库后,默认文件内容为:

 

###Thisfilecontrolstheconfigurationofthesvnservedaemon,ifyou  

###useittoallowaccesstothisrepository.(Ifyouonlyallow###accessthroughhttp:and/orfile:URLs,thenthisfileis###irrelevant.)  

###Visithttp://subversion.tigris.org/formoreinformation.  

[general]  

###Theseoptionscontrolaccesstotherepositoryforunauthenticated  

###andauthenticatedusers.Validvaluesare"write","read",  

###and"none".Thesamplesettingsbelowarethedefaults.  

#anon-access=read 

#auth-access=write 

###Thepassword-dboptioncontrolsthelocationofthepassword  

###databasefile.Unlessyouspecifyapathstartingwitha/,  

###thefile'slocationisrelativetotheconfdirectory.  

###Uncommentthelinebelowtousethedefaultpasswordfile.  

#password-db=passwd 

###Theauthz-dboptioncontrolsthelocationoftheauthorization  

###rulesforpath-basedaccesscontrol.Unlessyouspecifyapath  

###startingwitha/,thefile'slocationisrelativetotheconf  

###directory.Ifyoudon'tspecifyanauthz-db,nopath-basedaccess  

###controlisdone.  

###Uncommentthelinebelowtousethedefaultauthorizationfile.  

#authzauthz-db=authz  

###Thisoptionspecifiestheauthenticationrealmoftherepository.  

###Iftworepositorieshavethesameauthenticationrealm,theyshould  

###havethesamepassworddatabase,andviceversa.Thedefaultrealm  

###isrepository'suuid.  

#realm=MyFirstRepository 

此文件,大部分都以#开头,为注释部分。文件真实内容只有一句:

[general]

Apache+SVN设置在以下讲解时,只显示出配置内容,不显示注释。

首先来解释以下两句的意义:

anon-access=read

auth-access=write

anon-access表示没有进行验证的用户的功能,有三个可选项:none,read,write。

none表示没有什么权限,此时客户端连接服务器时,客户端就提示进行验证用户;

read表示有读取本版本库的内容的权限,但不能进行commit操作;

write表示可以进行版本库的读写的权限;

auth-access表示经过了验证的用户的权限;

password-db=passwd

这个语句告诉svnserve.exe,用户名与密码放在passwd.文件中,对于passwd文件的结构后面再做说明authz-db=authz

告诉svnserve.exe,项目目录访问权限的相关配置是放在authz.文件中,此文件的设置是细分权限,具体结构下面将做说明;

所以,对于正常使用的版本管理,一般是要进行验证的,典型的/conf/svnserve.conf一般为:

[general]

anon-access=none

auth-access=write

password-db=passwd

authz-db=authz

注意:每个配置行,都要顶头写,没有空格。请期待下节有关Apache+SVN设置讲解。