svn(subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用svn做为代码版本管理软件。svn服务器 有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。由于BDB方式在服务器中断时,有可能锁住数据,因此仍是FSFS方式更安全一点。
java
本文主要介绍SVN独立服务器的的安装和简单配置:linux
1,配置好yum,检查subversion安装包web
[root@svn ~]# yum list |grep subversionapache
subversion.i386 1.4.2-4.el5_3.1 base安全
subversion-devel.i386 1.4.2-4.el5_3.1 base ruby
subversion-javahl.i386 1.4.2-4.el5_3.1 base 服务器
subversion-perl.i386 1.4.2-4.el5_3.1 base svn
subversion-ruby.i386 1.4.2-4.el5_3.1 base 工具
[root@svn ~]# yum -y install subversion测试
测试安装是否成功:
#svnserve --version 回车显示版本说明安装成功
[root@svn ~]# netstat –nat 查看默认TCP 3690端口是否监听.
2,建立svn版本库
[root@svn /]# mkdir -p /data/svndata
[root@svn /]# svnadmin create /data/svndata/winne winne为版本库名称
3,svnserve配置文件概述
svnserve.conf -- svn服务配置文件,该文件版本库目录的conf目录下。
passwd -- 用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz -- 权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。
conf/svnserve.conf 文件
配置项分为如下5项: anon-access 控制非鉴权用户访问版本库的权限。 auth-access 控制鉴权用户访问版本库的权限。
password-db 指定用户名口令文件名。
authz-db 指定权限配置文件名,经过该文件能够实现以路径为基础的访问控制。
realm 指定版本库的认证域,即在登陆时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件
conf /Passwd 文件
user1 = user1
user2 = user2
conf /authz 文件
[groups] 设置组
admin = user1
[/] 根目录权限设置(就是“svndata”这个文件夹)
user1 = rw 用户1权限是:可读写
user2 = r 用户2权限是:可读,不可写
@admin = rw 设置组权限
[svndata:/winne] 设置根目录下“winne”文件夹的权限
user1 = rw
user2 = r
…以此类推
4,启动和中止SVN服务
启动SVN服务:
[root@svn ~]# svnserve -d -r /data/svndata/
-d表示后台运行
-r 指定根目录是 /data/svndata/
中止SVN服务:
ps -aux |grep svn
kill -9 进程杀掉