Internet is a big cake , Enjoy it!
« »

windows里Apache集成SVN详细备忘录

又是很久没更新日志了,不知道有人怀念博主了吗!

说正题:windows服务器,已经安装了APMSERV这个套件,想再弄个svn,每次都忘记了详细过程,好记心不如烂笔头啊!

http://subversion.tigris.org/下载相应的程序,服务端CollabNetSubversion-server + 客户端TortoiseSVN,直接安装
image image image image
image

其中上图中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

看看效果:
svnpasswd

svnauthz是SVN的权限控制文件,手动建的,内容如下:
svnauthz 

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..

日志信息 »

该日志于2010-07-26 16:19由 zhuzhq 发表在服务器分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

3条评论

  1. 博主,我很想念你喔!!

  2. If you’re in uncomfortable position and have no money to go out from that point, you would need to receive the mortgage loans. Just because that would aid you for sure. I take short term loan every single year and feel myself good because of that.

  3. 婚庆培训 说:

    该死的。。居然这么强大。。。

发表评论 »

   emoticons

返回顶部