Redhat AS 5.2上安装CollabNet Subversion 服务器

  • 1.下载

www.collab.net/developers/tools/下载client和server端:

CollabNetSubversion-client-1.6.6-1.i386.rpm

CollabNetSubversion-server-1.6.6-1.i386.rpm

 

2.安装

安装Server端之前需要安装client端。

rpm -Uvh CollabNetSubversion-client-1.6.6-1.i386.rpm

rpm -Uvh CollabNetSubversion-server-1.6.6-1.i386.rpm

 

3.配置

 

创建一个Repository目录:

mkdir -p /opt/svn/repos

 

运行配置脚本:

/opt/CollabNet_Subversion/bin/Configure-CollabNet-Subversion

根据提示创建项目库、用户等

 

配置完成后,自动启动SVN服务器。

 

用户名存储位置:/etc/opt/CollabNet_Subversion/conf/svnserve_auth_file

 

重启服务:

service collabnet_subversion restart

 

 

4.访问

 

svn://localhost/YOUR-REPOS-NAME         (基于svnserver)

或者http://localhost/YOUR-REPOS-NAME  (基于Apache)

 

 

5.与系统原有Apache集成

  由于Collabnet的SVN自带了一个apache server,如果要使用系统原有的Apache server,可以在配置时选择svnserve方式,然后手工配置原来的Apache与SVN集成。

 

RHEL 使用的是httpd-2.2.3-11.el5_1.3.i386.rpm,Collabnet的官方网站提到Collabnet SVN不支持与RHEL原有Apache进行集成(http://subversion.open.collab.net/ds/viewMessage.do?dsForumId=3&dsMessageId=313586)不过有一位中国的兄弟回复可以通过加入Collabnet的库目录到系统库搜索目录来解决。

 

1)复制SVN模块

  复制/opt/CollabNet_Subversion/modules/目录下的mod_authz_svn.so和mod_dav_svn.so 到/usr/lib/httpd/modules

2)修改httpd.conf文件

  #vi /etc/httpd/conf/httpd.conf

  增加:

      LoadModule dav_svn_module modules/mod_dav_svn.so
      LoadModule authz_svn_module modules/mod_authz_svn.so

 

  <Location /svn>
   DAV svn
   SVNParentPath /opt/svn/repos/ 
   AuthType Basic  
   AuthName "Subversion" 
   AuthUserFile /opt/svn/passwdfile

   #AuthzSVNAccessFile /opt/svn/accessfile 
   Require valid-user  
   </Location>


3)把Collabnet的库目录加入系统配置

此步骤主要解决启动Apache时出现如下错误。

Starting httpd: httpd: Syntax error on line 995 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_dav_svn.so into server: /opt/CollabNet_Subversion/lib/libsvn_subr-1.so.0: undefined symbol: apr_memcache_add_server

 

   #vi /etc/ld.so.conf

   增加一行:

     /opt/CollabNet_Subversion/lib

 

   #ldconfig

 注:增加CollabNet lib后出现了Xwin启动出错:

nautilus can't be used now Nautilus can't be used now, due to an unexpected error from Bonobo when attempting to register the file manager view server.

 

网上说这是因为CollabNet lib下的libz.*库所引起的。可以使用另外一种方法,修改/etc/init.d/httpd脚本,增加红色部分:

start() {
        echo -n $"Starting $prog: "
        check13 || exit 1
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/CollabNet_Subversion/lib
        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
}

 

4)创建用户认证文件

例如增加2个用户test和test1,使用命令:

#htpasswd -cm /opt/svn/passwdfile test
New password:
Re-type new password:
Adding password for user test

 

#htpasswd  -m /opt/svn/passwdfile test1

New password:
Re-type new password:
Adding password for user test1

 

注意:创建密码文件需要带-c参数, -m 表示使用更安全的MD5算法

 

6.问题

.使用http方式无法创建新文件夹,而使用svn://协议没有问题,错误信息:

Can't open file 'svn/db/txn-current-locks':permission denied

 

进入svn的reposity所在的目录,

# chown csvn:apache * -R

# chmod -R 770 *

 

7..其他SVN工具

  1) SVNManager: http://svnmanager.org/

     支持的功能:

  •        Create, remove, load and dump repositories
  •        Manage user accounts for access to the repositories
  •        Manage groups for acces to the repositories
  •        Invite users by email to create an account on the server

 

 

Subversion服务器安装与配置

03-05

以下安装,是配置的局域网的代码管理环境。rnrnrnrnrnSubversion 是新一代的开源版本控制系统,用以取代CVS。有关Subversion最详尽的资料就是官方的Subversion Book了。它是由开源社区编写的自由图书,已通过O'Reilly Media出版。下面简单介绍一下Subversion在Debian下的安装和配置过程。rn安装rndebian:~# apt-get install subversion subversion-toolsrn如果已经安装了svn服务器,则跳过这一步rn创建一个新的储存库rndebian:~# svnadmin create /home/bruce/SVNROOT/(projectname)rn其中,/home/bruce/SVNROOT/(projectname)是SVN代码库的路径。目前的系统中统一存放在/home/bruce/SVNROOT下rn导入源码rndebian:~# svn import (sourcepath) file://(destpath)rn将源目录的文件导入到库中rnSourcepath是原始源代码库的绝对路径rndestpath是上一步创建的新库的绝对路径rnrn导入过程会要求写日志文件,注意日志文件虽然有没有并不影响系统运行,但是这个过程必须要写完,而且要保存到合适的位置,不要乱放(或者随便放在一个可以看到的位置,回头删掉它)rn服务器配置rn修改配置文件(destpath)/conf/svnserve.confrn代码rnrn#去掉#[general]前面的#号rn[general]rn#匿名访问的权限,可以是read,write,none,默认为readrnanon-access = none #这是禁止匿名访问rn#认证用户的权限,可以是read,write,none,默认为writernauth-access = writern#密码数据库的路径,去掉前面的#rnpassword-db = passwd #指定密码文件的位置,不带路径则表示是当前目录,建议使用rnAuthz_db = authz #指定授权文件的位置,不带路径则表示是当前目录,建议使用rn注意:所有的行都必须顶格,否则报错。rnrn修改授权文件rn修改authz文件rnrn### This file is an example authorization file for svnserve.rn### Its format is identical to that of mod_authz_svn authorizationrn### files.rn### As shown below each section defines authorizations for the path andrn### (optional) repository specified by the section name.rn### The authorizations follow. An authorization line can refer to arn### single user, to a group of users defined in a special [groups]rn### section, or to anyone using the '*' wildcard. Each definition canrn### grant read ('r') access, read-write ('rw') access, or no accessrn### ('').rnrn[groups]rn# harry_and_sally = harry,sallyrnA6_Team = brucernrn# [/foo/bar]rn# harry = rwrn# * =rn[/]rn* = rrnbruce = rwrnrn# [repository:/baz/fuz]rn# @harry_and_sally = rwrn# * = rrn修改密码文件rn### This file is an example password file for svnserve.rn### Its format is similar to that of svnserve.conf. As shown in thern### example below it contains one section labelled [users].rn### The name and password for each user follow, one account per line.rnrn[users]rn# harry = harryssecretrn# sally = sallyssecretrnbruce = 123456rnrn注意:rn1、密码是明文rn2、当前采用的方式是:一个SVN根目录/home/bruce/SVNROOT,下面可以装若干个工程。每个工程有独立的用户名和密码授权。所有的工程共用授权和密码库的情况下,总授权文件的编写就会非常麻烦rnrn启动svn服务rn用netstat –l |grep svn查看SVN服务器是否已经在运行。这条命令执行过程可能要两分钟才能执行完。如果有输出,则表示SVN服务器已经启动,否则就要用下述的命令来启动rnsvnserve -d -r (SVN根目录) --listen-host (服务器的IP地址)rnSVN根目录在我们的设定中是/home/bruce/SVNROOTrnrn服务器的其他操作参考svnadmin使用手册rnrn客户端的安装和使用rn客户端安装rnhttp://tortoisesvn.tigris.org/ 下载最新的客户端和文字资源文件,安装后重启计算机rn客户端的使用rn1、 新建用来存放工程文件的目录rn2、 在目录上点击右键,选中“checkout”rn3、 地址中输入svn://(服务器IP地址)/A6Proj格式的字串。A6Proj是工程的名字rn然后就可以执行chechout了。对于有授权要求的服务器,还需要输入用户名和密码。需要咨询SVN管理员来获取。rn

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试