SVN服务器搭建及配置

SVN安装与创建库:

 1  sudo apt install subversion
 2  sudo svnserve --version

 6  sudo mkdir /data
 7  sudo mkdir /data/svn
 8  sudo mkdir /data/svn/repository

10  sudo chmod -R 777 /data

12  cd /data/svn/
14  cd repository/
15  svnadmin create ./
17  sudo chmod -R 777 ./db/


44  mkdir PhoenixUnity
45  mkdir PhoenixUnityUI
46  mkdir PhoenixUnityAB
47  mkdir PhoenixUnityLibrary

49  svnadmin create ./PhoenixUnity
51  svnadmin create ./PhoenixUnityAB/
52  svnadmin create ./PhoenixUnityUI/
53  svnadmin create ./PhoenixUnityLibrary/

 

svnserve.conf配置文件:

修改

anon-access = none

auth-access = write

password-db = /data/svn/passwd   #指定用户密码文件

authz-db = /data/svn/authz    #指定权限文件

realm = PhoenixUnityAB

ubuntu@ubuntu:/data/svn$ cat PhoenixUnityAB/conf/svnserve.conf 
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.apache.org/ for more information.

[general]
### The anon-access and auth-access options control access to the
### repository for unauthenticated (a.k.a. anonymous) users and
### authenticated users, respectively.
### Valid values are "write", "read", and "none".
### Setting the value to "none" prohibits both reading and writing;
### "read" allows read-only access, and "write" allows complete 
### read/write access to the repository.
### The sample settings below are the defaults and specify that anonymous
### users have read-only access to the repository, while authenticated
### users have read and write access to the repository.
anon-access = none
# anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
# password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the
### directory containing this file.  The specified path may be a
### repository relative URL (^/) or an absolute file:// URL to a text
### file in a Subversion repository.  If you don't specify an authz-db,
### no path-based access control is done.
### Uncomment the line below to use the default authorization file.
# authz-db = authz
### The groups-db option controls the location of the file with the
### group definitions and allows maintaining groups separately from the
### authorization rules.  The groups-db file is of the same format as the
### authz-db file and should contain a single [groups] section with the
### group definitions.  If the option is enabled, the authz-db file cannot
### contain a [groups] section.  Unless you specify a path starting with
### a /, the file's location is relative to the directory containing this
### file.  The specified path may be a repository relative URL (^/) or an
### absolute file:// URL to a text file in a Subversion repository.
### This option is not being used by default.
# groups-db = groups
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
# realm = My First Repository
### The force-username-case option causes svnserve to case-normalize
### usernames before comparing them against the authorization rules in the
### authz-db file configured above.  Valid values are "upper" (to upper-
### case the usernames), "lower" (to lowercase the usernames), and
### "none" (to compare usernames as-is without case conversion, which
### is the default behavior).
# force-username-case = none
### The hooks-env options specifies a path to the hook script environment 
### configuration file. This option overrides the per-repository default
### and can be used to configure the hook script environment for multiple 
### repositories in a single file, if an absolute path is specified.
### Unless you specify an absolute path, the file's location is relative
### to the directory containing this file.
# hooks-env = hooks-env
password-db = /data/svn/passwd

authz-db = /data/svn/authz

realm = PhoenixUnityAB
[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256

 

 

TortoiseSVN不能查看日志的原因之一

最近新建的svn项目,提交和获取一切都ok,就是上下文菜单中点击show log菜单时,不显示日志,也不能选查询日期。大家遇到的原因都不尽相同,查了一下,大致有如下几种原因:

1. 配置文件问题,原因是, anon-access 未设置成none,因为设置了帐号和权限, anon-access 是拒绝访问的,所以不能设置成读或者写,也不能不设置。我的原因,就是这个原因,

对比了项目的svnserve.conf文件,这几个地方是关键地方:

anon-access = none #这一项必须要有,且必须为none,不能不设置也不能设置成read或write
auth-access = write

password-db = ../../passwd #我的密码文件
authz-db = ../../authz #我的权限文件

realm = project #项目

修改之后重启svn服务

2. 有人说清除缓存,请除日志,也有人说上下文件菜单中选择Revision graph,但是执行这一项会卡在那里不动,估计还是上面第1条说的原因。

3. 也有人说可能是svn客户端版本的原因,这个也有可能。

可能各位遇到的情况都不太一样,可能还有别的原因。

配置svn 报错E200002解决办法

发表评论

72 次浏览