更新!鉴于很多朋友需要该绿色版的打包,我已将其上传到纳米盘共享给大家了,你可以点击以下链接去下载

[纳米盘]绿色版VisualSVN Server.7z

7z格式的压缩文件使用winrar就可以直接解压了。
SVN就不多说了,非常好用的版本控制!安装也非常简单。我的开发环境是WINDOWS,方案是VisualSVN ServerTortoiseSVN,这个安装起来简直超方便!不过有一点非常严重的问题就是官方的VisualSVN Server的安装包里面自带apache服务器,安装的时候不能与本机原有apache(或IIS)端口冲突,这样我的最初的情况就变成机器里有两个apache,4个httpd.exe进程,一下增加了几十M的内存开销,要知道偶的机子本来就很慢,我的想法就是把他们集成到一起,因为visualSVN server的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文件添加到卡巴的信任程序里边,即可解决,偶就碰到这个很郁闷的问题,搞了半天才搞定。

最后附上我的apache2.2.6的httpd.conf文件(其实就是svn安装到apache中的方案,已超出本文的讨论范围,呵呵~):

ThreadsPerChild 250
MaxRequestsPerChild  0

ServerRoot "D:/myserver/Apache2"

Listen 8080

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so

LoadModule cgi_module modules/mod_cgi.so
################为SVN而开启以下四项#
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
####################################
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule userdir_module modules/mod_userdir.so
#########加载PHP
LoadModule php5_module ../php5/php5apache2_2.dll
LoadFile ../php5/php5ts.dll
LoadFile ../php5/libmysql.dll

ServerAdmin godson@google.com
ServerName :8080
DocumentRoot "D:/myserver/wwwroot"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all
</Directory>

<Directory "D:/myserver/wwwroot">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>
    DirectoryIndex index.htm index.php index.html
</IfModule>

<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
</FilesMatch>

LogLevel warn
<Directory "D:/myserver/Apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php
    
    AddType application/x-x509-ca-cert .crt
    AddType application/x-pkcs7-crl    .crl
</IfModule>

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

###为SVN而添加#############
<Location /svn>
DAV svn

SVNListParentPath on
SVNParentPath F:\Repositories
SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile F:\Repositories\htpasswd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>
可能与本文相关的一些内容
Windows下自由创建.htaccess文件的N种方法
天气情况 12/23/2007 15:20, gently, PHP, 评论(10), 阅读(3848)
xiaoqingyu Email
12/15/2008 16:40
你好,看拉你的这篇文章后我操作拉一下,有几个问题请您帮忙解决:
1.安装的顺序:
先安装APache,然后安装svn?安装完后是不是先要配置好Apache 和svn?(即配置Apache 的httpd.conf文件?)
接着安装你所提供的绿色版VisualSVN Server?(直接解压放置在任意位置就可以么?还是安装在上面的svn的目录下?)
除拉以上东西,还需要安装别的东西么?比如官方的VisualSVN Server?

2.绿色版VisualSVN Server解压后具体怎么配置呢?(是先修改该目录下的visualSVN注册表文件么?然后运行该目录下的setup?我运行拉setup后并没有看见在“本机的程序”中生成VisualSVN ServerMMC管理控制台哦?)

非常郁闷,始终不知道到底该如何安装配置哦,请帮忙/能否将以上疑问进行解答并发邮件给我xiaoqingyu@163.com,非常感谢!
baobao Email
10/15/2008 00:24
我也想要一份.谢谢,最好是绿色版本的.
djqw@163.com
gently 回复于 10/15/2008 16:10
已经发送到你的邮箱了,注意尽快查收下
seven
10/14/2008 15:07
已经收到了,速度真快
seven Email
10/13/2008 17:16
也想要一份,绿色的东西就是好

邮箱是dohelp@gmail.com
gently 回复于 10/13/2008 21:44
已发送,请注意查收
kevin Email
10/12/2008 17:52
能否发给我一份呢?
whyork@gmail.com
谢谢!
gently 回复于 10/12/2008 19:57
已经发送到你和longware的邮箱,请你们查收下
to longware:
不好意思,今天才注意到你的留言,当然也有可能我已经给你发过了,而你没有回复我
longware Email
07/26/2008 16:33
longware@126.com
有空的话发份资料给我,感谢
teli
03/19/2008 16:39
teli_eurydice@163.com

可以发给我么,谢谢
gently 回复于 03/19/2008 23:27
嗯!已经给你发过去了,你查收一下!
guoguo
01/08/2008 16:52
共享一个绿化版吧
gently 回复于 01/09/2008 11:46
留下邮箱,我发给你吧!博客空间有限~
Bean
01/04/2008 15:52
终于搞定了!
谢谢 gently
Bean
01/04/2008 14:23
开始一直以为 VisualSVN 是通过和指定端口通讯来管理svn的
所以想怎么让 apache 同时监听两个端口,而不影响现有web服务
现在才明白他是基于 svn apache 的
gently 回复于 01/04/2008 14:29
呵呵!有点强买强卖的感觉。(在QQ上我硬逼着兄弟留言)
分页: 1/1 第一页 1 最后页
发表评论
开启/隐藏 高级扩展
昵称
密码  游客无需密码
网址
电邮   [注册]