============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服务器的的安装和设置就已完成了.