SVN1.6.6安装心得

上一篇 / 下一篇  2009-10-27 19:46:29 / 个人分类:原創

为彻底解决SVN客户端和服务器版本之间的不一致(公司原本使用的是Subversion-server-1.5.3+TortoiseSVN-1.6.2)而引起的CruiseControl自动从SVN上获取代码的版本冲突,我特地从SVN官网上下载了同是1.6.6-win32的客户端和服务器安装包.

在网上找了安装配置说明,具体配置记录如下:

1.Subversion1.6.6版本的安装包自带了Apache2.2.13,所以无需额外安装Apache服务器。下载地址是(需要注册后再下载)

2.一路默认安装,如果需要修改仓库根目录或者Apache2.2.13端口可以自行修改为自己想要的,Apache默认端口为80Subversion默认仓库存储路径为C:\svn_repository。安装的过程中会自动将SubversionApache注册成服务,安装完成后重启一下电脑,运行services.msc查看服务,可以看到“CollabNet Subversion Apache”“CollabNet Subversion svnserve”两个服务已经自动启动,如果不想让他们自动启动,可以修改为手动启动。

注:安装结束时没有提示重启电脑,但重启之前Apache服务无法启动,提示“The requested operation has failed!”

3.重启电脑后运行C:\Program Files\CollabNet\Subversion Server\httpd\bin“ApacheMonitor.exe”打开Apache控制台,可以看到控制台的状态栏有如下内容:
Apache/2.2.13(Win32) DAV/2 SVN/1.6.6

4.运行命令提示符cmd
cd C:\Program Files\CollabNet\Subversion Server
svnadmin create c:\rep

//
svnadmin命令创建名为rep的仓库(这条命令成功后,在rep下会出现很多文件夹和文件)
cd C:\Program Files\CollabNet\Subversion Server\httpd\bin
htpasswd -cm c:\rep\user.txt admin

//
htpasswd命令创建用户(admin),同时生成密码认证文件,c参数为createm参数为MD5加密方式
New password: ******
Re-type new password: ******
Adding password for user admin  
//
加入用户成功
htpasswd -m c:\rep\user.txt test
//
htpasswd命令创建用户(test),注意如果在这时加入c参数会覆盖掉之前创建的用户及文件。
New password: ******
Re-type new password: ******

Adding password for user test   //
加入用户成功

5.C:\rep下新建文本文件access.txt。建议用UtralEditEditPlus编辑工具打开,若用记事本打开,注意不要勾上格式里的自动换行,输入以下内容:
[/]
admin = rw
test = r
* =

6.UtralEditEditPlus编辑工具打开C:\Program Files\CollabNet\Subversion Server\httpd\conf下的httpd.conf文件,
找到115行和116行的代码如下:
115 LoadModule dav_module       modules/mod_dav.so
116 LoadModule dav_svn_module     modules/mod_dav_svn.so

116行下面加入如下一行代码,这行代码就成为了117行:
LoadModule authz_svn_module   modules/mod_authz_svn.so

文件最后面的信息如下:
<Location /svn>
DAV svn
SVNParentPath C:\svn_repository
</Location>

修改为:<Location /rep>
DAV svn
SVNPath C:\rep
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:\rep\user.txt"
AuthzSVNAccessFile "C:\rep\access.txt"
Require valid-user
</Location>


7.通过ApacheMonitor控制台在任务栏右下角的图标的Restart命令重新启动apache,用IE打开http://localhost/rep,输入用户名admin与密码,这时应该可以看到
rep - Revision 0: /
---------------------------------- 
//
说明经配置成功了

以上内容摘录至http://bbs.pmlife.net/viewthread.php?tid=20219

 

作为初次配置带有apacheSVN的新人,我在过程中犯了以下几个错误:

1.    没有正确理解apache在安装SVN中的作用。

正解:网上查询得到的结果如下

      Subversion有两种运行方式,一种是基于Apache Http Server另外一种是Subversion Standalone Server。下面我讲解的是基于ApacheHttp ServerSubversion,这样做几个好处
A.
能使用WebDAV协议。
B.
能使用浏览器作为客户端工具浏览源码仓库。
C.
可以很容易的支持到SSPIWindows域认证)和LDAPAD?),这些都是Apache本身就支持的。
D.
能得到比较完善的Apache安全认证系统,比如SSL加密连接。

2.    在修改httpd.conf文件中的SVNPath路径时没有正确加以理解,错误地理解成了安装过程中默认的C:\svn_repository

正解:我实际创建的文件库路径是C:\rep

3.    采用了手工的方式启动了SVN服务(svnserve –d –rC:\rep

正解:实际上SVN安装完成并重启后,“CollabNet Subversion Apache”“CollabNet Subversion svnserve”两个服务已经自动启动了,可以直接使用客户端或浏览器进行访问。如:http://192.168.3.99:80/rep/

因此之后对SVN使用中,系统报出authentication failed.以及后来出现的"Could not open the requested SVN filesystem"错误。

 

2009-10-29上午)

今天又碰到一个新的问题,本机访问SVN正常,但内网其他机子无法访问,提示OPTIONS of 'http://xxxx/rep': could not connect to server (http://xxxx)

正解:查了一个多小时的原因,最后才经同事提醒,防火墙影响了访问,关闭防火墙后就能正常访问了。


TAG:

 

评分:0

我来说两句

Open Toolbar