位置:海鸟网 > IT > linux/Unix >

Linux系统下SVN服务器的搭建过程详解

1环境:

服务器放在redhatAS4.0上,客户端在windows2000。

2软件包

2.1服务器:

subversion-1.3.2-1.rh90.i386.rpm。可能还会用到其他依赖组件,在我的配置中要用到:apr-0.9.5-0.2.i386.rpm,neon-0.24.7-1.i386.rpm,apr-util-0.9.5-0.1.i386.rpm。

2.2客户端:

TortoiseSVN-1.3.2.5840-svn-1.3.0

3安装服务器

[root@localhostroot]#rpm–ivhapr-0.9.5-0.2.i386.rpm

[root@localhostroot]#rpm–ivhneon-0.24.7-1.i386.rpm

[root@localhostroot]#rpm–ivhapr-util-0.9.5-0.1.i386.rpm

[root@localhostroot]#rpm–ivhsubversion-1.3.2-1.rh90.i386.rpm

安装完成以后,要测试是否已经安装成功,则要输入以下命令:

[root@localhostroot]#svnserve–version

若显示如下,安装成功:

svnserve,version1.4.0(r21228)

compiledOct122006,10:18:56

Copyright(C)2000-2006CollabNet.

Subversionisopensourcesoftware,see

ThisproductincludessoftwaredevelopedbyCollabNet().

Thefollowingrepositoryback-end(FS)modulesareavailable:

*fs_fs:Moduleforworkingwithaplainfile(FSFS)repository.

4Svn配置

4.1建立版本库目录

[root@localhostroot]#mkdir–p/svn

svn是我自己建立的目录,各人根据具体情况设计名字

4.2建立一个用户,用与管理这个版本库目录

[root@localhostroot]#useradd-m-s/bin/bashlyl

lyl是建立的用户名,可以根据习惯改

4.3用建立的用户管理我们刚建的版本库目录

[root@localhostroot]#chown–Rlyl.lyl/svn

用lyl来管理我们的版本库目录/svn

4.4启动服务器

用用户lyl来管理版本库目录/svn,则须转为lyl,命令如下:

[root@localhostroot]#sulyl

启动svn服务

[root@localhostroot]#svnserve-d-r/svn/;

-d表示以daemon方式(后台运行)运行

-r/svn/指定根目录是/svn/

检查服务器是否启动正常:

[svn_leader@localhostroot]$ps–ef|grepsvnserve

如果显示如下,即为启动成功:

lyl 69411 015:07?00:00:00svnserve-d——listen-port9999-r/svn

5建立版本库

[root@localhosthome]#cd/svn

[root@localhostsvnrepos]#svnadmincreatep1;

P1可以改,在p1目录下会有下面目录:confdavdbformathookslocksREADME.txt

6配置允许访问test的用户

进入到conf,命令为:

[root@localhostsafety]#cdconf

出现三个文件:authzpasswdsvnserve.conf

6.1修改svnserve.conf

[root@localhostconf]#visvnserve.conf

出现:

[general]

………………………

#anon-access=read

#auth-access=write

………………………

#password-db=passwd

………………………

#authz-db=authz

内容修改为:

[general]

………………………

anon-access=none

auth-access=write

………………………

password-db=passwd

………………………

authz-db=authz

6.2修改passwd

[root@localhostconf]#vipasswd

文件格式如下:


[users]<用户1>=<密码1><用户2>=<密码2>

其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:

[users]

alan=password

king=hello

这个里面的user表示当前test版本库的成员.

6.3修改authz

[root@localhostconf]#viauthz

用户组格式:


[groups]<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。用户必须要在passwd文件里能找到,它是给那个里面的user赋权限.

版本库目录格式:


[/目录]@<用户组名>=<权限><用户名>=<权限>
示例:

[groups]

admin=alan

[/]

@admin=rw

[/svn/p1/WebProject]

king=rw(表示king能够读写/svn/p1/WebProject目录下的所有信息)

[/svn/p1/web]

zp=r(表示zp能够读/svn/p1/web目录下的所有信息)

到此svn服务器的的安装和配置就已经完成了。