好久没有在windows下装过svn了,人的记性就是那么完美的符合那个什么科学家的记忆曲线,简单的说就是我彻底忘记了-_-! 看了些简介,终于在浪费了2个小时后看到了svn配置库的影子。下面简单做个介绍。
安装前的下载准备 :
- svn-win32-1.5.6.zip
- apache_2.0.63-win32-x86-no_ssl.msi (一定在下载svn时要注意所需apache的版本)
因为我下载的是解压缩的svn,而不是install安装文件,所以接下来的配置要自己改了,如果嫌麻烦可以找个intall的svn。
1. 安装apache 首先安装apache,安装过程就不多说了,有问题的可以参考apache的install reference
2. 安装svn服务器 解压缩svn到指定目录
3. 连接apache和svn 将svn\bin目录下的mod_authz_svn.so 和mod_dav_svn.so 两个文件copy至apache的models目录下,svn\bin目录下的所有.dll文件copy至apache的bin目录下(注意copy时apache需在stop状态下,不然会提示文件正在被使用,无法替换)
4. 创建svn版本库 在欲存放代码的svn库的盘符下创建文件夹,如D:/svn/repo然后在使用CMD,在 svn-win32-1.5.6\bin目录下执行命令行 >svnadmin create --fs-type fsfs D:/svn/repo
5. 配置
5.1 配置\创建用户密码文件 CMD在apche\bin目录下执行htpasswd -c D:/svn/repo/svnpasswd seraph 创建密码文件(首次执行) ,apache默认会使用MD5加密存储在文件svnpasswd中的密码,下次添加用户密码只需执行htpasswd D:/svn/repo/svnpasswd tony ,删除用户密码htpasswd -d D:/svn/repo/svnpasswd seraph。如不需要加密则执行 htpasswd -cp D:/svn/repo/svnpasswd seraph。
5.2 配置/创建权限文件 在路径D:/svn/repo/conf/下创建用户权限文件svnauthz,文件内容为:
[groups]
admin = seraph
developers = tony,lily
[/]
@admin = rw
@developers = rw
* =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
5.3 配置/修改apache的httpd.conf文件 创建一个svn.conf的配置文件,文件内容为:
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
<Location /svn>
DAV svn
SVNPath D:/svn/repo
AuthType Basic
AuthName Subversion-repositories
AuthUserFile D:/svn/repo/conf/svnpasswd
AuthzSVNAccessFile D:/svn/repo/conf/svnauthz
Require valid-user
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>
将你的配置文件导入到apache\conf目录下的httpd.conf 文件中,即把Include conf/svn.conf 添加到httpd.conf文件的结尾处。需说明的是AuthUserFile是密码文件路径,AuthzSVNAccessFile是用户信息路径。restart你的apache。
Congratulations! 至此你的svn安装大功告成了(拼音:liao3)
6. 后续说明
a. Svn的客户端推荐使用忍者神龟版的:TortoiseSVN-1.6.1.16129-win32-svn-1.6.1.msi
b. Eclipse的Svn插件sublipse的安装地址为:http://subclipse.tigris.org/update_1.6.x
c. 如apache的默认端口80已被占用,在httpd.conf文件中修改Listen 80, 查看使用端口的命令为netstat -a
d .权限配置,例如[repository:/baz/fuz],其中 "repository:/ "为仓库根目录,接下来是子目录,"* = r"表示除配置外都为读权限,"* ="表示除配置外其他都不可访问
Svn安装手札-五颜六色版 *^_________^*