windows里Apache集成SVN详细备忘录
又是很久没更新日志了,不知道有人怀念博主了吗!
说正题:windows服务器,已经安装了APMSERV这个套件,想再弄个svn,每次都忘记了详细过程,好记心不如烂笔头啊!
到http://subversion.tigris.org/下载相应的程序,服务端CollabNetSubversion-server + 客户端TortoiseSVN,直接安装

其中上图中svnpasswd是通过下面的命令生成的:
D:\APMServ5.2.6\Apache\bin>htpasswd -c d:/svn/svnpasswd user1
提示输入密码,搞定!然后再添加一个用户时,不需要加-c的参数
D:\APMServ5.2.6\Apache\bin>htpasswd d:/svn/svnpasswd user2
看看效果: 
svnauthz是SVN的权限控制文件,手动建的,内容如下:
apache配置
先到SVN安装目录里找到mod_dav_svn.so和mod_authz_svn.so拷贝到apache的modules目录
并且在Apache配置文件httpd.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
在httpd.conf文件的最后加上
<Location /svn>
DAV svn
# 指向SVN Repository的ROOT
SVNParentPath d:/svn/svn_repository
# 如果设定下面一句,则必须通过SSL访问
# SSLRequireSSL
AuthType Basic
AuthName "Subversion Reporsitory"
AuthUserFile "d:/svn/svnpasswd"
AuthzSVNAccessFile "d:/svn/svnauthz"
Require valid-user
</Location>
万事俱备,保存配置并重启Apache!
建仓库www1的方法有两个
命令行方式 = D:\svn\Subversion Server>svnadmin create ../svn_repository/www1
图形界面 = 新建D:\svn\svn_repository\www1文件夹,进入www1目录并鼠标右击选择:TortoiseSVN->create repository here客户端checkout
http://192.168.1.xx/svn/www1
其它疑问解答:
1, CollabNetSubversion server与TortoiseSVN分别是什么?
前者是SVN服务器(CollabNetSubversion-server-1.6.12-1.win32.exe),后者SVN是客户端(TortoiseSVN-1.6.10.19898-x64-svn-1.6.12.msi)
2, SVN支持哪些访问协议方式? 为什么选择集成到Apache里面?
svn://127.0.0.1/www1
该方式必须要允许D:\svn\Subversion Server\svnserve.exe,或3690端口通过防火墙,这是它的默认端口, 此方式客户端访不需要密码验证;
file:///D|/svn/svn_repository/www1/
此本地协议方式只能在本机用,可不必装SVN server,只需要一个客户端就可完成建仓库和Checkout.该方式也不需要密码验证;
http://127.0.0.1/svn/www1
https://127.0.0.1/svn/www1
“SVN最常见的配置模式便是与Apache集成,这样SVN可以采用WebDev协议方式提供服务。主要的好处有:通过http协议来访问代码,通过web界面来浏览察看,通过http服务器的安全控制来进行权限认证,以HTTP方式穿透防火墙,便于在互联网环境使用;提供目录的版本控制;纯2进制的文件对比方式等”
3,先装Apache还是先装svn server?
无所谓,一般先装Apache,运气好的话甚至都不需要你手动去配置
4,一段摘抄:
SVNParentPath:支持多个具备相同父目录的Subversion版本库。
SVNPath:只支持一个父目录的Subversion版本库
SVNPath /svn/repository/project1 #如果你想对每个项目单独配置,使用该项
SVNParentPath /svn/repository #设定一个根,所有项目均放在此目录下
并且, 如果设置为SVNParentPath …..,当访问 http://localhost/XXXX时,即使也是要求输入验证,但会提示forbidden错误页. 必须接着输入 http://localhost/xxxx/project1..
共享资料
站长工具
3条评论▼