Windows环境下安装SVN
1. 安装apache
a) 软件版本:apache_2.0.63-win32-x86-no_ssl.msi,subversion至少需要Apache版本 2.0.48 ;
b) 下载URL:http://httpd.apache.org/download.cgi
c) 测试页面:
i. For all users, on Port 80, as a service: http://localhost
ii. Only for current user, on Port 8080, when started manually: http://localhost:8080
2. 安装subversion
a) 软件版本:svn- 1.4.5 -setup.exe
b) 下载URL:http://subversion.tigris.org/project_packages.html
c) 将c:/program files/subversion/bin目录中的mod_authz_svn.so和mod_dav_svn.so拷贝到c:/program files/apche group/apache2/modules目录下
d) 将c:/program files/subversion/bin目录中的libdb44.dll拷贝到c:/program files/apche group/apache2/bin目录下
3. 创建项目仓库
mkdir d:/svn-repos
cd svn-repos
svnadmin create d:/svn-repos
4. 导入初始测试文件
cd testdir
svn import –m”注释” . file:///d:/svn-repos/ProjectName/trunk
5. 配置apache
a) 编辑apache配置文件httpd.conf,在”Dynamic Shared Object(DSO) Support”节下,添加两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
b) 取消dav_module那行的注释:
LoadModule dav_module modules/mod_dav.so
c) 在文件底部,添加以下内容:
<Location /svn-repos>
DAV svn
SVNPath d:/svn-repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile d:/svn-repos/conf/htpasswd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
说明:c)中文字告诉apache有/svn-repos开头的URL应该使用subversion DAV模块并且这个项目仓库位于d:/svn-repos;下面内容关系到用户授权,其中htpasswd中存放用户名和密码,通过apahce2/bin中htpasswd命令创建,LimitExcept节表明允许匿名用户只读访问,其余用户必须输入密码。
d) 使用htpasswd创建授权文件如下:
C:/Program Files/Apache Group/Apache2/bin>htpasswd –c –m d:/svn-repos/conf/htpasswd robin
New password: ***
Re-type new password: ***
Adding password for user robin
添加新的用户,取消-c选项即可:
C:/Program Files/Apache Group/Apache2/bin>htpasswd -m d:/svn-repos/conf/htpasswd tracy
New password: ***
Re-type new password: ***
Adding password for user tracy
得到的htpasswd文件内容如下:
robin:$apr1$eG1.....$60Y7BbaPlCb6flcmhK1W21
tracy:$apr1$SE1.....$xPgZixHR2w/iGEbY0FN2o/
6. 重启apache
7. For all users, on Port 80, as a service: web访问http://localhost/svn-repos
8. Only for current user: web访问http://localhost:8080/svn-repos
9. 注意杀毒软件对端口的保护,卡巴需要打开http的80端口。
10. checkout工作项目
a) 命令行方式:svn co http://127.0.0.1/svn-repos/ProjectName/trunk project
b) 命令行方式:svn co file:///d:/svn-repos/ProjectName/trunk project
c) 使用TortoiseSVN界面工具
关于Subversion学习的小结,会有后续的文档说明。