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版)!

QUOTE:

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的目录没有了,文件的部署变成这样的:

QUOTE:

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文件添加到卡巴的信任程序里边,即可解决,偶就碰到这个很郁闷的问题,搞了半天才搞定。

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

转自http://www.cnblogs.com/subway-2008/articles/1267592.html

posted @ 2011-11-12 15:08  吼吼吼  阅读(367)  评论(0)    收藏  举报