本文主要说明Linux下创建SVN库的方法。

SVN的安装

下文主要介绍Linux操作系统安装和SVN服务器安装说明,以Centos6.2系统为例进行说明,由于Centos操作系统自带svn安装包,不需要下载。

安装CentOS系统

1)插入CentOS的安装光盘,选择第一项:Linux下SVN服务器配置过程详解_tester
2)跳过媒体测试步骤,如下:Linux下SVN服务器配置过程详解_tester_02
3)选择英文语言(默认即可)、“Basic Storage Devices”(默认即可),然后一路安装为默认。到选择组件这一步,如果想要apache服务,可以如下操作选项如下【此处选择完成之后,系统会默认安装相关】。
Linux下SVN服务器配置过程详解_subversion (svn)_03

4)选择好后,直接下一步安装,安装完成后重启。

安装svn

1)挂载光盘,利用yum方式安装(yum方式安装的确很方便,不用担心依赖包),打开一个终端,按以下步骤操作:

[root@svn ~]# mkdir /media/cdrom

[root@svn ~]# mount /dev/cdrom /media/cdrom/

//挂载光盘

[root@svn ~]# yum --disablerepo=* --enablerepo=c6-media install mod_dav_svn

//使用yum安装SVN服务器安装包

2)在安装过程中,有两个地方需要输入“y”

Transaction Summary

===============================

Install download size:2.5 M

Installed size:12M

Is this ok [y/N]: y

Downloading Packages:


From :/etc/pki/rm-gpg/RPM-GPG-KEY-CentOS-6

Is this ok [y/N]: y

3)安装成功后,会出现:

Installed:

mod_dav_svn.i686 0:1.6.11-2.el6_1.4

Dependency Installed:

libproxy.i686 0:0.3.0-2.el6 libproxy-bin.i686 0:0.3.0-2.el6

libproxy-python.i686 0:0.3.0-2.el6 neon.i686 0:0.29.3-1.2.el6

pakchois.i686 0:0.4-3.2.el6 subversion.i686 0:1.6.11-2.el6_1.4

Complete!

4)检验svn安装是否成功

[root@svn Packages]# svn --version

svn, version 1.6.11 (r934486)

//出现以上信息说明已经安装成功SVN1.6.11版本

创建SVN项目库
创建一个test项目库

[root@SVN /]# mkdir /svn

//在根目录下创建svn文件夹

[root@SVN ~]# svnadmin create /svn/test

//在/svn路径下,创建test库。

[root@SVN ~]# cd /svn/test

[root@SVN test]# ls

conf db format hooks locks README.txt

//在“/svn/test”路径下,查看有这些文件,说明已经创建成功

SVN权限配置

创建svn项目库之后,需对项目库进行权限设置设置如下:

[root@SVN conf]# vi /svn/test/conf/svnserve.conf

[general]

anon-access = read

auth-access = write

password-db=passwd

authz-db=authz

realm=/svn/test

//在svnserve.conf配置文件,需修改以上内容。各参数配置如下:

anon-access:定义非授权用户的访问权限,有三种方式:none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 read 。

auth-access:定义授权用户的访问权限,有三种方式:none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 write 。

password-db:定义保存用户名和密码的文件名称,这里为 passwd ,和该文件位于同一目录。

authz-db:定义保存授权信息的文件名称,这里为 authz ,和该文件位于同一目录。

realm:定义客户端连接是的“认证命名空间”, Subversion 会在认证提示里显示,并且作为凭证缓存的关键字。

创建SVN登录用户

在passwd配置文件设置项目库人员的用户和密码

[root@SVN conf]# vi /svn/test/conf/passwd

[users]

user1=123456

user2=123456

u1=123456

u2=123456

配置SVN权限

设置登录svn权限的配置如下:

[root@SVN conf]# vi /svn/test/conf/authz

[groups]

tester = user1,user2 //表示tester群组里的成员user1,user2

develop=u1,u2 //表示develop群组里的成员u1,u2

[test:/] //这表示项目库权限设置

@tester= rw //表示test库tester群组用户具有读写权限

@develop = r //表示test库develop群组用户具有只读权限

重启SVN项目库

[root@SVN conf]# svnserve -d -r /svn //重启SVN项目库

[root@SVN conf]# ps x|grep svn //如果出现以下进程,说明重启成功

2169 ? Ss 0:00 svnserve -d -r /svn

2171 pts/0 S+ 0:00 grep svn

[root@SVN conf]# killall svnserve //杀死svnserve服务

SVN服务器配置实例

根据以上步骤创建test项目库,tester群组人员为user1、user2,权限为读写;develop群组人员u1、u2,权限为只读。

(1)user1用户,使用SVN客户端,登录SVN服务器,如下图所示:Linux下SVN服务器配置过程详解_realm_04
注意:在登录时,地址后面直接输入创建的新项目即可。

(2)登录成功。上传test.txt文件和修改txt文件名。可以进行读写操作。

(3)使用u1用户登录,只能查看test库。不能进行任何操作。

最后:

未来的你肯定会感谢现在拼命的自己!