最近安装了Subversion服务器,有点折腾,现把安装过程记录下来,以备日后参考!
我所用的安装文件全名是 "CollabNetSubversion-server-1.6.12-1.win32.exe" ,安装过程比较简单,基本不用动任
何配置,我只是把程序安装路径和svn版本库路径都调整到了D盘,别的保持不变,一路点下去就安装完了。
运行"services.msc",在弹出的服务管理控制台中就可以看到"CollabNet Subversion Apache"和"CollabNet
Subversion svnserve"两个服务,选中"CollabNet Subversion Apache",点击左侧的"启动此服务",此时会弹出一个"Windows
不能再本地计算机启动CollabNet Subversion Apache"的对话框,这是由于apache中缺失了某些特定subversion 的dll(也许是
这个安装包的一个bug),解决这个问题有两个方法:
1.把 "D:\Program Files\CollabNet\Subversion Server"这个目录下(不包含子目录)的所有.dll文件都拷贝
到"D:\Program Files\CollabNet\Subversion Server\httpd\bin"目录下,对于相同的文件不予替换;
2.把 "D:\Program Files\CollabNet\Subversion Server"添加到环境变量中,重启服务控制台程序即可启动apache。
关于apache的配置,在TortoiseSVN1.6.9(我的svn客户端版本)的帮助文档 3.7节 "基于 Apache 的服务器"中有非常详细的描
述,重复的就不再赘述。
1.打开 httpd\conf 目录下的 httpd.conf 文件,定位到第115行,把
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
改为
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
2.把 httpd.conf 文件 末尾的
<Location /svn>
DAV svn
SVNParentPath D:\svn_repository
</Location>
改为
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath D:\svn_repository
#SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:\svn_repository\passwd
AuthzSVNAccessFile D:\svn_repository\svnaccessfile
Require valid-user
</Location>
此处请注意:第一行是<Location /svn/>, 这个是文档资料上说的不一样,如果配置成<Location /svn>这种形式,则无法浏
览所有的版本库文件,不知道是不是bug。
3.创建passwd文件
新建passwd文件并添加一个账户
htpasswd -c passwd <username>
在已有的文件中增加账户
htpasswd passwd <username>
我这里先定位到apache的bin目录下,运行htpasswd -c D:\svn_repository\passwd zwc,效果如下
D:\Program Files\CollabNet\Subversion Server\httpd\bin>htpasswd -c D:\svn_repository\passwd zwc
Automatically using MD5 format.
New password: ******
Re-type new password: ******
Adding password for user zwc
4.在 D:\svn_repository 目录下创建svnaccessfile文件,内容如下:
[groups]
g_admin = zwc
[/]
@g_admin = rw
* = r
好了,到此一切都配置好了,重启apache服务器,在浏览器中打开 http://127.0.0.1/svn/ 来测试一下吧。
如果要使浏览器浏览仓库时更“漂亮”,请将去掉下行注释
#SVNIndexXSLT "/svnindex.xsl"
到 http://tortoisesvn.googlecode.com/svn/trunk/contrib/svnindex 下载 svnindex.xsl, svnindex.css 和
menucheckout.ico 文件,并放在 文档根目录中(我这里是 D:\Program Files\CollabNet\Subversion Server\httpd\htdocs)
。 重启apache服务即可!