subversion的安装与多项目权限配置笔记

1:安装过程,这里采用了yum的方式安装,编译的话有点麻烦。

[root@localhost data]# yum install subversion

执行以下的命令:

svn --version

如果显示

svn, version 1.6.11 (r934486)

之类的信息,那么代表安装成功了。

2、建立版本库

首先我们建立一个文件夹来专门存放svn项目,如下

[root@localhost data]# mkdir /data

我们使用命令建立两个项目:

[root@localhost data]# svnadmin create /data/onethink
[root@localhost data]# svnadmin create /data/p2

此时会在文件夹/data/下面生成两个项目onethink和p2,目录结构如下:

drwxr-xr-x. 6 root root 4096 May 23 22:10 onethink
drwxr-xr-x. 6 root root 4096 May 24 01:06 p2

每个项目的目录结构如下:

drwxr-xr-x. 2 root root 4096 May 24 01:15 conf
drwxr-sr-x. 6 root root 4096 May 24 01:24 db
-r--r--r--. 1 root root    2 May 24 01:06 format
drwxr-xr-x. 2 root root 4096 May 24 01:06 hooks
drwxr-xr-x. 2 root root 4096 May 24 01:06 locks
-rw-r--r--. 1 root root  229 May 24 01:06 README.txt

其中 conf 文件夹中的三个文件为svn的配置文件,包括:

-rw-r--r--. 1 root root 1093 May  7 06:41 authz
-rw-r--r--. 1 root root  320 May  7 06:39 passwd
-rw-r--r--. 1 root root 2259 May  7 06:43 svnserve.conf

其中authz为权限文件,passwd为用户验证文件,svnserve.conf为项目配置文件。为了方便我们把authz passwd这两个文件独立开来,成为每个项目的公用权限和验证文件。我们把它们放在/data/conf目录下。

此时的目录结构如下:

drwxr-xr-x. 2 root root 4096 May 24 01:26 conf
drwxr-xr-x. 6 root root 4096 May 23 22:10 onethink
drwxr-xr-x. 6 root root 4096 May 24 01:06 p2

[root@localhost data]# ll conf onethink/ p2/
conf:
total 8
-rw-r--r--. 1 root root 1031 May 24 01:24 authz
-rw-r--r--. 1 root root  338 May 23 22:08 passwd

onethink/:
total 24
drwxr-xr-x. 2 root root 4096 May 23 22:56 conf
drwxr-sr-x. 6 root root 4096 May 24 01:18 db
-r--r--r--. 1 root root    2 May 23 21:50 format
drwxr-xr-x. 2 root root 4096 May 23 21:50 hooks
drwxr-xr-x. 2 root root 4096 May 23 21:50 locks
-rw-r--r--. 1 root root  229 May 23 21:50 README.txt

p2/:
total 24
drwxr-xr-x. 2 root root 4096 May 24 01:15 conf
drwxr-sr-x. 6 root root 4096 May 24 01:24 db
-r--r--r--. 1 root root    2 May 24 01:06 format
drwxr-xr-x. 2 root root 4096 May 24 01:06 hooks
drwxr-xr-x. 2 root root 4096 May 24 01:06 locks
-rw-r--r--. 1 root root  229 May 24 01:06 README.txt

接下来我们配置用户名及密码

打开/data/conf/passwd文件,增加两个用户

[root@localhost conf]# cat passwd 
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
tttt = 111111  #用户1
tttt2 = 111111   #用户2

接着我们设置项目onethink和p2下面的conf/svnserve.conf文件,令到它可以使用公共的/data/conf/passwd及/data/conf/authz

anon-access = none //无权限时
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 = /data/conf/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 the
### directory containing this file.  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 = /data/conf/authz //权限管理文件
### 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 = p2 //貌似这个叫什么来着?

配置好后,我们还需要配置/data/conf/authz权限管理文件

[groups]
g1 = tttt #用户组1
g2 = tttt2 #用户组2

[onethink:/] #onethink项目的权限设置
@g1 = rw #onethink项目组,用户组1是有读写的
@g2 = #onethink项目组,用户组2是没有任何权限的

[p2:/] #p2项目组的权限,同上
@g2= rw

[p2:/txt] #配置p2项目下的txt文件夹的权限,这里用户组2是没有权限的
@g2=

配置好后,我们启动svn服务

[root@localhost conf]# svnserve -d -r /data/

这时我们在window环境下就可以使用软件来访问了,两个项目的访问地址分别为

svn://192.168.110.129/p2

svn://192.168.110.129/onethink

你可能感兴趣的:(subversion的安装与多项目权限配置笔记)