CollabNetSubversion-server 安装配置指南

其实也不完全算是原创,我主要是借鉴其他网友的,然后加上自己实际情况,亲自实践后的总结。

1、下载 CollabNetSubversion-server

URL : http://www.open.collab.net/downloads/subversion/

官网现在推荐的是 CollabNet Subversion Edge ,下载CollabNetSubversion-server 就得在该网站上选择See previous CollabNet Subversion releases

貌似下载的时候还要求注册。如果你不想注册,那就到其他网站去下载。

2、安装 CollabNetSubversion-server

安装很简单,它自带 Apache,所以不用再单独安装Apache. 安装过程除了修改一下安装路径以及版本库的路径外,其他一直点“下一步”就OK . 注意:安装完成后,系统里的“服务”中会多出两个服务 ,一个是Apache , 一个是 Subversion Server ,这2个服务在安装完成后是没有启动的,所以需要重启一下电脑。重启完成后,用 services.msc命令查看一下(开始--运行--services.msc--确定)这2个服务是否启动。

如果重启后 apache服务仍然没有启动,或手动启动时会提示无法启动,这是很常见的问题。可能的原因是 apache的端口(默认是80)被占用, 解决方法是 修改它的默认端口 。具体的修改方法是:找到CollabNetSubversion-server安装路径下的 httpd.conf文件 (我的是在 D:/Program Files/CollabNet Subversion Server/httpd/conf 目录),用记事本(或其他编辑工具)打开,然后在键盘上同时按下 Ctrl + F ,在“查找内容”框中输入 Listen 80 ,选择向上或向下查找 ,点击“查找下一个” ,找到后把端口修改为 8080或其他非常用端口。Ctrl + S 保存,然后关闭httpd.conf文件。 现在你可以再去尝试手动启动apache服务。

注意这里把端口修改后,后面所述的链接访问地址也必须加上该端口,

如: http://192.168.0.123:8080/svn/svndemo

3、建立版本库(Repository)
开始--运行--cmd 进入dos ,输入如下命令:

svnadmin create D:/svn_repository/svndemo  

就会在D盘建立一个版本库 (或者 用TortoiseSVN图形化的完成这一步,据说此方法存在版本兼容问题,不建议用)

4、配置用户和权限

配置subversion


1)修改 D:/svn_repository/svndemo/conf目录下的文件svnserve.conf


#没通过验证,只读的权限
#anon-access = read
#通过验证,最多可获得写权限
#auth-access = write
#验证文件的位置
#password-db = passwd
#权限配置文件的位置
#authz-db = authz

去除行开头的注释关键字#,并设置为:

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

2)创建权限策略文件authz:(在svnserver.conf同目录下有authz文件,修改anthz)

#在管理员组(admin组)建里2个用户,分别是 admin, root .可以建立多个组

[groups]

admin = admin,root

#关键字“@”代表组 ,等号后面是该组的权限

[svndemo:/]

@admin = rw

#用户组admin对svndemo这个库下的所有文件(/表示根目录)有读写的权限
[/svndemo:/]
@admin = rw

5、两种连接方式的配置:

1)使用 svn://localhost/svndemo 方式连接版本库,则设置如下内容
    修改D:/svn_repository/svndemo/conf目录的passwd文件,去掉下面行的注释:

    #等号前的字符就是用户名,等号后面的就是密码
    [users]
    admin = admin
    root = root

2)使用 http://localhost/svn/svndemo 方式连接版本库,则设置如下内容:
首先,将CollabNetSubversion自带的apache的bin目录(如 D:/Program Files/CollabNet Subversion Server/httpd/bin)加入环境变量Path中(CollabNetSubversion自带的svn的目录路径在安装时已经自动加入到 Path中)。
其次,进入DOC窗口 ,输入如下命令:

htpasswd -c D:/svn_repository/svndemo/.htpasswd admin    

回车后要求输入密码以及确认密 码。这里的admin是先前第4歩配置权限时建立的一个用户,当然这里可以是其他的用户名。这个命令的作用是用apache htpasswd 建立用户密码文件,并添加用户密码到密码文件中 。这时在 D:/svn_repository/svndemo目录下会生成一个.htpasswd文件,存放用户aa和aa的密码,在Windows平台上,密码 将使用Apache修改过的MD5算法进行加密;在其它平台上将使用crypt()进行加密。如果指定的文件不存在,htpasswd将只返回一个错误代 码,而不做其它任何事。

然后,在 httpd.conf (第2歩中提到的过)中注册Subversion浏览库和权限控制moudle:

在httpd.conf 中 按第二步中的查找默认端口的做法 查找如下两句

    LoadModule dav_module modules/mod_dav.so
    LoadModule dav_fs_module modules/mod_dav_fs.so
找到后把它们前面的 # 去掉, 再查找

   LoadModule dav_svn_module     modules/mod_dav_svn.so
在这句后面,添加下面一句:

    LoadModule authz_svn_module   modules/mod_authz_svn.so

   最后,在httpd.conf 最末尾几行找到(没有的内容就添加)如下内容:

#表示访问配置库的url为: http://xxx.xxx.xxx/SVN

<Location /svn>

#告诉Apache哪个模块负责服务像那样的URL

DAV svn

#配置库路径:

SVNParentPath D:/svn_repository

#启用基本的验证,用户名/密码验证

AuthType Basic

#当一个验证对话框弹出时,告诉用户这个验证是用来做什么的

AuthName "svn repos"

#身份验证文件的路径

AuthUserFile D:/svn_repository/svndemo/.htpasswd

#指定authz来限定各个用户或组在版本库中目录的访问权限

AuthzSVNAccessFile D:/svn_repository/svndemo/conf/authz

#只允许https方式访问

#SSLRequireSSL

#Subersion自带的XSLT样式表

#SVNIndexXSLT "/svnindex.xsl"

#允许匿名访问

#Satisfy Any

#禁止匿名访问

Require valid-user

#允许访问/svn目录

SVNListParentPath on

</Location>

添加完成后,保存并退出 httpd.conf 文件。

好了。。。。现在得手动重启一下apache服务了。。。不然添加的用户和密码没用。重启后 当你通过TortoiseSVN 访问时 就会弹出 要求输入用户名和 密码的对话框。

呃。。。。貌似写的应该差不多了,就这样吧。该睡觉了^ _ ^ ...

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值