subversion(以下简称svn)是近几年兴起的版本管理工具,是cvs的后继者。svn服务器有独立服务器和apache两种运行模式。两种方式各有利弊。svn存储版本数据的方式也有两种:BDB和FSFS。因为BDB方式在服务器中断的时候可能会锁住数据(jijian91在搞LDAP的时候就受过这种苦,现在没有办法根治),所以FSFS方式更加安全。svn服务器安装操作系统:RedhatLinuxAS4获取最新版本的svn安装包subversion可以在http://subversion.tigris.org/...找到。编译svn并以root用户登录。将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传输到服务器。tarxfvzsubversion-1.4.0.tar.gztarxfvzsubversion-deps-1.4.0.tar.gzcdsubversion-1.4.0./configure–prefix=/opt/svn–without-berkeley-db–with-zlib(注:在没有apache编译参数的svnserve模式下运行。以fsfs格式存放版本库,不要编译berkeley-db)makecleanmakeinstallvi/etc/profile,在/etc/profile末尾添加:PATH=$PATH:/opt/svn/binexportPATHsvntestsvnserve--version如果显示如下,svn安装成功:svnserve,version1.4.0(r21228)compiledOct122006,10:18:56Copyright(C)2000-2006CollabNet.Subversion是开源软件,见http:///subversion.tigris.org/此产品包括由CollabNet(http://www.Collab.Net/)开发的软件。以下存储库后端(FS)模块可用:fs_fs:用于处理普通文件的模块(FSFS)repository.svn配置建立svnrepository可以创建多个目录:mkdir-p/opt/svndata/repos1mkdir-p/opt/svndata/repos2创建svnrepositorysvnadmincreate/opt/svndata/repos1svnadmincreate/opt/svndata/repos2修改svn仓库配置文件repository1:修改vi/opt/svndata/repos1/conf/svnserve.conf为:[general]anon-access=noneauth-access=writepassword-db=/opt/svn/conf/pwd.confauthz-db=/opt/svn/conf/authz.confrealm=repos1repository2:vi/opt/svndata/repos2/conf/svnserve.conf内容修改为:[general]anon-access=noneauth-access=writepassword-db=/opt/svn/conf/pwd.confauthz-db=/opt/svn/conf/authz.confrealm=repos2即除了realm=repos2,其他配置文件和repository完全一样1个配置文件如果有多个repository,以此类推。配置允许访问的svn用户vi/opt/svn/conf/pwd.conf为了简化配置,两个版本库共用一个用户配置文件。必要时也可以分开。注意:对用户配置文件的修改立即生效,无需重启svn。文件格式如下:[users]==其中[users]是必需的。下面是访问svn的用户列表,每个用户一个。示例:[users]alan=passwordking=hello配置svn用户访问权限vi/opt/svn/conf/authz.conf为了简化配置,3个版本库共享1个权限配置文件/opt/svn/conf/pwd.conf。必要时也可以分开。在文件中定义用户组和存储库目录权限。注意:出现在权限配置文件中的用户名必须已在用户配置文件中定义。修改权限配置文件立即生效,无需重启svn。用户组格式:[groups]<用户组名>=<用户1>,<用户2>其中,一个用户组可以包含1个或多个用户,用户之间用逗号分隔。Repository目录格式:[:/project/directory]@==其中boxnumber里面的部分可以有多种写法:/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就意味着对所有版本库设置权限。repos1:/,表示对版本库1设置权限repos2:/abc,表示对版本库2的项目abc设置权限repos2:/abc/aaa,表示对版本库2的项目abc的aaa目录设置权限权限主体可以是用户组、用户或用户组。在用户组前加@表示所有用户。权限可以是w、r、wr和empty,empty表示没有权限。例子:[groups]admin=alan[/]@admin=rw[repos1:/abc/aaa]king=rw[repos2:/pass]king=svn配置完成,删除无用文件rm/opt/svndata/repos1/conf/authzrm/opt/svndata/repos1/conf/passwdrm/opt/svndata/repos2/conf/authzrm/opt/svndata/repos2/conf/passwd启动svn创建用户启动svnuseraddsvnpasswdsvn为用户svn设置密码根据提示允许Usersvnaccessrepositorychown-Rsvn:svn/opt/svndatachown-Rsvn:svn/opt/datastartsvnsu-svn-c"svnserve-d–listen-port9999-r/opt/svndata"where:su-svn表示以用户身份启动svnsvn-d表示以daemon模式运行(后台运行)--listen-port9999表示使用9999端口,可以换成自己需要的端口。但注意使用1024以下的端口需要root权限-r/opt/svndata指定根目录为/opt/svndata查看:ps-ef|grepsvnserve如果出现如下,则表示启动成功:svn 6941 1 015:07? 00:00:00svnserve-d–listen-port9999-r/opt/svndata通过web访问svn的方法有很多种,参考配置websvn或配置bsSvnBrowser的方法。参考资料:svn官网http://www.gbunix.com/htmldat...http://www.iusesvn.com/bbs/th...http://16hot.blog.isyi.com/po。..Login出现:Authorizationfailed这个问题基本上是三个配置文件的问题,下面列出这个文件。svnserve.conf:[general]anon-access=readauth-access=writepassword-db=passwdauthz-db=authzpasswd:[users]harry=harryssecretauthz:[groups][/]harry=rw授权失败异常,通常在authz文件中,如果用户组或用户权限没有配置好,设置[/]即可,代表根目录下的所有资源。如果要限制资源,可以添加子目录。海量视频采集