首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

visualSVN server绿化策略 摆脱两个apache的尴尬

SVN就不多说了,非常好用的版本控制!安装也非常简单。我的开发环境是WINDOWS,方案是VisualSVN ServerTortoiseSVN,这个安装起来简直超方便!不过有一点非常严重的问题就是官方的VisualSVNServer的安装包里面自带apache服务器,安装的时候不能与本机原有apache(或IIS)端口冲突,这样我的最初的情况就变成机器里有两个apache,4个httpd.exe进程,一下增加了几十M的内存开销,要知道偶的机子本来就很慢,我的想法就是把他们集成到一起,因为visualSVNserver的MMC管理控制台太亲切了,离不开了,虽然SVN已经有更为强大的命令行操作!减少httpd.exe进程为两个,端口只监听8080就好了。

看网上的做法是先安装visualsvn,再将apache重新配置,我觉得这个内置的精简版的apache是绝对不全的,所以我将SVN装到我原有的APM环境中,再安装visualSVN SERVER来管理它!目的很单纯,减少内存开销和端口占用。

SVN的安装不多说了,官方就有很详细的安装教程!这里我用的是最新的 svn-win32-1.4.6.zip
后面就是绿化visualSVN SERVER
将visualSVN SERVER官方的安装包里头的文件全部提取,经过分析,我们得到下面的甚为宝贵的注册表文件和后面bin目录中的文件(注意我已经将部分文件更新为svn 1.4.6版)!
引用:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\VisualSVN]

[HKEY_CURRENT_USER\Software\VisualSVN\VisualSVN Server]
"MenuShortcut"="1"
"Adm_Tools_MenuShortcut"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN]

[HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server]
"RepositoriesRoot"="F:\\Repositories\\"
"ServerName"="localhost"
"ServerPort"="8080"
"SSLServerPort"="8443"
"UseSSL"="0"
"InstallDir"="D:\\myserver\\VisualSVN Server\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{08B017E8-47AD-4D1B-A928-94FFD77E9950}]
About={2FC11162-83EE-47ED-87DA-490D7402230C}

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{08B017E8-47AD-4D1B-A928-94FFD77E9950}]
NameString=VisualSVN Server Manager

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\{08B017E8-47AD-4D1B-A928-94FFD77E9950}\Extension]
@=Namespace

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\NodeTypes\{476E6449-AAFF-11D0-B944-00C04FD8D5B0}\Extensions\Namespace]
{08B017E8-47AD-4D1B-A928-94FFD77E9950}=VisualSVN Server
里面的设置都是一目了然的,重点就是HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server键下面,其他的都不需要修改!,然后注册dll文件 regsvr32 /s Manager.dll,bin的目录没有了,文件的部署变成这样的:
引用:
D:\myserver\VisualSVN Server 的目录

2007-12-23  00:25    <DIR>          .
2007-12-23  00:25    <DIR>          ..
2007-12-20  16:29           131,149 libapr-1.dll
2007-12-20  16:29            36,952 libapriconv-1.dll
2007-12-20  16:29           172,118 libaprutil-1.dll
2007-12-20  16:29         1,073,152 libeay32.dll
2007-11-30  00:26           274,432 libhttpd.dll
2006-12-02  06:03             1,869 Microsoft.VC80.CRT.manifest
2006-12-02  14:22           479,232 msvcm80.dll
2006-12-02  06:03           548,864 msvcp80.dll
2006-12-02  06:03           626,688 msvcr80.dll
2007-12-20  16:29           204,800 ssleay32.dll
2007-10-09  22:48            28,871 VisualSVN Server.msc
2007-11-30  00:19            60,416 zlib1.dll
2007-12-23  00:45             2,064 visualSVN.reg
2007-12-23  00:38               578 setup.bat
2007-12-20  16:29            69,716 intl3_svn.dll
2007-12-20  16:29           802,816 libdb44.dll
2007-12-20  16:29         1,019,980 svn.exe
2007-12-20  16:29           528,470 svnadmin.exe
2007-12-20  16:29           499,808 svndumpfilter.exe
2007-12-20  16:29           520,276 svnlook.exe
2007-12-20  16:29           561,238 svnserve.exe
2007-12-20  16:29           712,788 svnsync.exe
2007-12-20  16:29           368,730 svnversion.exe
2007-12-23  00:33                23 uninstall.bat
2007-12-23  01:07               311 vsvnvars.bat
2007-11-30  01:06           491,520 Manager.dll
              26 个文件      9,216,861 字节
               2 个目录  9,841,033,216 可用字节
路径和上面的注册表文件是对应的,经过这些操作以后,就可以顺利的使用visualSVN SERVER了,不过这个控制台里面的apache服务器控制菜单不能正常使用了,解决的方法是将apache注册为服务的时候名称取为 VisualSVNServer就可以了,语句范例:

D:\myserver\Apache2\bin\httpd.exe -k install -n VisualSVNServer

这样再重新打开visualSVN SERVER的控制台,就可以控制apache的开始、停止以及重启了。

顺便提及:当使用TortoiseSVN连接服务器长时间假死,并且apache的错误日志里有类似:

[Sat Dec 22 15:49:30 2007] [error] [client 127.0.0.1] XML parser error (at end). status=20014

这样的错误记录,问题是出在卡巴斯基 6.0,将TortoiseSVN的bin目录下的TortoiseProc.exe文件添加到卡巴的信任程序里边,即可解决,偶就碰到这个很郁闷的问题,搞了半天才搞定。

本文最初发表于我的blog: http://www.zendstudio.net/post/102/
欢迎转载,但请保留出处。
昵称: gently  时间: 2007-12-23 15:33:00
应鼓励原创精品。
昵称: luzhou  时间: 2007-12-23 18:46:00
看来我这篇文章发的蛮尴尬的,
很久么有来了,居然是这样子的?!
昵称: gently  时间: 2008-01-01 17:34:00
昵称: luzhou  时间: 2008-01-01 17:37:00
昵称: gently  时间: 2008-01-01 19:20:00
楼主有没有VisualSVN的序列号?
昵称: neuron  时间: 2008-03-03 00:29:00