|
更新!鉴于很多朋友需要该绿色版的打包,我已将其上传到纳米盘共享给大家了,你可以点击以下链接去下载
[纳米盘]绿色版VisualSVN Server.7z
7z格式的压缩文件使用winrar就可以直接解压了。
SVN就不多说了,非常好用的版本控制!安装也非常简单。我的开发环境是WINDOWS,方案是VisualSVNServer和TortoiseSVN,这个安装起来简直超方便!不过有一点非常严重的问题就是官方的VisualSVN Server的安装包里面自带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文件添加到卡巴的信任程序里边,即可解决,偶就碰到这个很郁闷的问题,搞了半天才搞定。
最后附上我的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”
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index.htm index.php index.html
Order allow,deny
Deny from all
LogLevel warn
AllowOverride None
Options None
Order allow,deny
Allow from all
DefaultType text/plain
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
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
###为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 |
|
|