公司需要进行开发的版本管理,所以着手进行svn的配置。尝试期间走了不少弯路,也解决了一些小问题,在此记录,希望能给别人带来点参考。
其具体步骤如下:
svn下载地址:http://subversion.tigris.org/files/documents/15/43506/Setup-Subversion-1.5.2.en-us.msi
apache下载地址:http://apache.mirror.phpchina.com/httpd/binaries/win32/apache_2.2.9-win32-x86-no_ssl-r2.msi
TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi下载地址参考:http://bbs.iusesvn.com/viewthread.php?tid=3027
第一步:
安装apache,在d盘下新建一个英文名称的文件夹apache(保证路径下没有空格),将apache2.2.9安装上,在ie中打开:http://loclalhost/看看是不是能够有it works!有的话表示成功,没有的话查看默认80端口是不是被占用了。
第二步:
安装svn,再在d盘下建立svn文件夹,将svn选择for apache2.2.x形式安装。
第三步:
安装TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi及其汉化语言包
第四步:
apache的,conf/apache.conf里这样配:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so //前面的#全部去掉
在LoadModule节的最后添加以下两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
将其
LoadModule dav_svn_module D:/svn/bin/mod_dav_svn.so
LoadModule authz_svn_module D:/svn/bin/mod_authz_svn.so
如上修改。
apache的httpd.conf最后边添加
<Location /svn>
DAV svn
SVNParentPath D:/Apache/modules
</Location>
第五步:
进入cmd,在d:/svn/bin路径下执行:
svnadmin create d:/svn/svn
执行后会在创建d:/svn/svn目录,这个就是资源库。
然后重启apache服务,就可以在http://localhost/svn下访问了。
第六步:
进入cmd,在d:/apache/bin路径下执行
d:/apache/bin/htpasswd -c d:/apache/bin/passwd svnadmin
两次输入密码;
建议该语句使用绝对路径,以免无法生成passwd文件。
第七步:
在apache的bin下建立一个名为svnaccessfile的文件,写入如下内容:
[groups]
admin=svnadmin
guest=guest
[svn:/]
@admin=rw
@guest=
然后在httpd.conf文件中将<Location>改成如下内容:
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath d:/svn/svn
AuthType Basic
AuthName "Subve repositories"
AuthUserFile bin/passwd
AuthzSVNAccessFile bin/svnaccessfile
Require valid-user
</Location>
重新启动paache服务,访问ie,即产生带权限的访问。