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

 

 

阅读更多
个人分类: Linux使用
想对作者说点什么? 我来说一句

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

关闭
关闭
关闭