一,获得相关软件包


CollabNetSubversion-client-1.6.9-1.i386.rpm

CollabNetSubversion-extras-1.6.9-1.i386.rpm

CollabNetSubversion-extras-1.6.9-1.i386.rpm

RPM-GPG-KEY-csvn.asc  

注:这些rpm文件应该是已经经过特殊编译了,呵呵

注意:后续centos6.0的系统比较多,在安装i386.rpm包的时候可能会发生很多so的包包找不到的情况,可以用链接过去,或者安装下也行,你或许会用到这些命令


#yum provides libc*

#yum install ....rpm


1、首先导入gpg-key,原因如下:

CollabNet Subversion RPMs are signed using our GPG key. As a one-time task,
import the CollabNet GPG key using the command:

sudo rpm --import /path/to/RPM-GPG-KEY-csvn.asc
    2、接着安装其他rpm包 (安装前注意是否有httpd已经安装了,卸载之)

       安装顺序:clientserverextras

       注意:三个rpm包安装好后,会自动创建一个系统账号和组csvn

             其安装目录为/opt/CollabNet_Subversion

三、配置

/opt/CollabNet_Subversion/bin 目录下执行 Configure-CollabNet-Subversion ,进入配置向导,一步步

[root@localhost]# ./Configure-CollabNet-Subversion


    查看httpd进程是否启动成功:

    #ps -ef|grep httpd
    我们可以看到,启动的进程中有一个母进程,其他都是母进程的子进程。

    如未启动,则:

    /opt/.../bin/httpd -D csvn_installed -D viewvc_installed -k start

在浏览器中访问SVN服务;

http://192.168.168.223:18080/svn/testsvn,当然登陆是要输入用户名和密码的,就是我们在配置向导中创建的,还记得否,如果没有权限访问该版本库,会有403错误提示

注意:浏览器上的地址栏!

http://192.168.168.223:18080/viewvc ,应该是查看存在的版本库吧

四、关于新账号以及其操作目录和操作权限等之类的配置

    注意:其配置文件在/etc/opt/CollabNet_Subversion/conf目录下。

    首先,要对将要操作的文件进行备份 #cp -p

    第二步,用svnadmin create命令新建一个版本仓库

            #svnadmin create school

         注意:新建的school版本库会自动创建在/var/svn/repositories目录下,不过这

         里需要改变一下属主,和属组。

         #chown -R csvn.csvn school

         #http://192.168.1.223:18080/svn/school

     第三步,新建一个账号(此账号是否通用于httpdsvnserve两种模式???)

         #htpasswd -m /etc/opt/.../conf/svn_auth_fle school

         注意:这里就不要再加-c选项了,因为验证文件我们已经在前面的向导那里创

         建好了,这里只要追加新用户就ok

         再注意:如果新建的用户未授权,则访问版本库的时候会返回403错误,提示该

         页无法访问

          补:这些账号可以用于svn客户端,貌似无须svnserve这种模式启动。

     第四步,为新用户设置访问版本库的权限

         #操作svn_access_file.conf文件

         注意格式:

         【/

          svnadmin = rw

         【school/

           school = rw  

         一些格式,可以参照附录3    

      第五步。用浏览器打开测试

         #http://192.168.1.223:18080/svn/school  

注意:如果没有权限访问相应版本库,会提示403错误提示

      第六步,版本库权限设置

          据说需要设置各版本库的权限为777,否则上传会报500的内部错误,待验证。

          不过我觉得貌似不用。

      第七步,安装客户端进行验证

          我安装的是TortoiseSVN,其他的应该也是类似的,而我们单位有的同事则是在

          用Myeclipse里内嵌的客户端


五、关闭访问日志


    见 附录2


备注: 如果使用<Location /svn/>可列出D:/var/svnhome/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,如http://127.0.0.1/svn/<projectname>


----------------------------------------------------------------------------

因为篇幅原因,附录将另起一篇文章


六、svnlinux命令行下的操作


svn访问日志的关闭,一般情况下,最好把基于Apache的访问日志关闭,否则访问日志的大小会增长得很快,特别是使用的人比较多时,会增长得更快。建议把它关掉,保留错误日志就可以了,打开/etc/opt/CollabNet_Subversion/conf/httpd.conf,大概在第217行,找“logs/access_log”有这样字符串的行,并且以“CustomerLog”开头的行,在这行前面加上#,并保存,这样就可以关闭svn的访问日志了。


    具体过程见 附录1


二、安装