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

 

  1 环境:

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

  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@localhost root]#rpm –ivh apr-0.9.5-0.2.i386.rpm

  [root@localhost root]#rpm –ivh neon-0.24.7-1.i386.rpm

  [root@localhost root]#rpm –ivh apr-util-0.9.5-0.1.i386.rpm

  [root@localhost root]#rpm –ivh subversion-1.3.2-1.rh90.i386.rpm

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

  [root@localhost root]#svnserve –version

  若显示如下,安装成功:

  svnserve, version 1.4.0 (r21228)

  compiled Oct 12 2006, 10:18:56

  Copyright (C) 2000-2006 CollabNet.

  Subversion is open source software, see http://subversion.tigris.org/

  This product includes software developed by CollabNet (http://www.Collab.Net/).

  The following repository back-end (FS) modules are available:

  * fs_fs : Module for working with a plain file (FSFS) repository.

  4 Svn配置

  4.1 建立版本库目录

  [root@localhost root] #mkdir –p /svn

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

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

  [root@localhost root] #useradd -m -s /bin/bash lyl

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

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

  [root@localhost root] #chown –R lyl.lyl /svn

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

  4.4 启动服务器

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

  [root@localhost root] #su lyl

  启动svn服务

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

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

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

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

  [svn_leader@localhost root]$ ps –ef|grep svnserve

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

  lyl  6941   1 0 15:07 ?  00:00:00 svnserve -d ——listen-port 9999 -r /svn

 

5 建立版本库

  [root@localhost home]# cd /svn

  [root@localhost svnrepos]# svnadmin create p1;

  P1可以改,在p1目录下会有下面目录:conf dav db format hooks locks README.txt

  6 配置允许访问test的用户

  进入到conf,命令为:

  [root@localhost safety]# cd conf

  出现三个文件:authz passwd svnserve.conf

  6.1 修改svnserve.conf

  [root@localhost conf]# vi svnserve.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@localhost conf]# vi passwd

  文件格式如下:

      
       [users]

<用户1> = <密码1>

<用户2> = <密码2>
      

 

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

  [users]

  alan = password

  king = hello

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

  6.3 修改authz

  [root@localhost conf]# vi authz

  用户组格式:

      
       [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服务器的的安装和配置就已经完成了。

你可能感兴趣的:(linux,SVN,Module,user,服务器,subversion)