Apache+svn在windows 2003中的部署

前天SVN服务器让小黑入侵了,今天重新部署了一下,现将过程总结一下备忘。SVN在windows服务器中可以选择visual svn server或apache+svn来实现,前者配置使用较简单,本文总结的是使用后者的方法。
一、准备工作:
1、 Http服务器:apache2.X  官方网站为http://httpd.apache.org/
2、 Svn:官方网站为http://subversion.tigris.org/
3、 客户端程序(可选):TortoiseSVN(如果想用此工具建库,要注意版本应该是SVN服务器支持的版本)

二、安装:
1、 apache服务器正常安装即可,如果80端口正在使用,为避免安装时出现端口冲突,可暂时停止80端口对应的服务(如:IIS)。安装完成可以通过修改apache的httpd.conf中的listener来更改apache的端口。
2、 SVN:安装简单一路next即可。
3、  客户端程序(可选):TortoiseSVN,一路next,安装完要重启。

三、配置:
1、 首先将Subversion安装目录bin/下面的两个文件:mod_authz_svn.so和mod_dav_svn.so复制到Apache安装目录modules/目录下; 再将Subversion安装目录bin/下面的所有.dll文件复制到Apache安装目录bin/目录下。
2、 需要再修改httpd.conf,并做如下修改:
找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf,找到一下两行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so

将每行前面的注释符“#”去掉。再在所有LoadModule语句的最后添加一下几行:

#SVN
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

3、 建立一个SVN存放文件的目录,例如:D:/svn。
4、 告诉Apache我们的资源 库所在的路径,可以通过Location指令来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在统一的资源库目录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置:  
#SVN
<Location /svn/>
    DAV svn
    SVNListParentPath on
    SVNParentPath "D:/svn"
    #SVNPath "D:/svn/test"
  
    ####################认证的类型

    AuthType Basic
    ####################
认证的名称,显示于登录提示框
    AuthName "Subversion 资源库,请登录!"
    ####################Which password file to use for authentication 存储用户登录信息的文件

    AuthUserFile D:/svn/passwd
    ####################
限定各个用户或组在版本库中目录的访问权限
    AuthzSVNAccessFile D:/svn/svnauthz
    ####################
让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
    Require valid-user
</Location>


四、添加用户:
打开命令行工具(cmd.exe),转到apache的bin目录下,参考以下命令添加用户。
说明:创建用户zj
输入:htpasswd –c D:/svn/passwd zj

说明:使用-c参数来创建一个passwd文件
输出:
New password: *****
Re-type new password: *****
Adding password for user zj

再创建用户的时候就不用-c参数,而是用-m参数,因为文件passwd 已经创建。
五、创建svn资源库:
用TortoiseSVN在D:/svn下创建test资源库,此处注意我遇到的一个问题:如果TortoiseSVN的版本过高,而SVN服务器的版本过低有可能造成,创建的资源库无法访问(SVN Could not open the requested SVN filesystem)。因此版本要相符。
当然为避免上面的问题也可以直接用命令来创建,在命令行窗口,转到svn的bin下,
svnadmin create d:/svn/repository
六、配置访问权限:
在d:/svn下建立一个名为svnauthz的文件,编写内容如下:
[groups]
admin = zm
team1 = dev1,dev2

# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限,[/]代表根目录
[/]
* = r
@admin = rw
dangerman =

# 允许开发人员可以完全访问他们的项目版本库
[test:/]
@team1 = rw
七、测试
重启apache,在IE里访问http://localhost:端口/svn/
看到创建的test资源库进行权限测试OK。如果出现无法访问错误,仔细检查一下,apache的conf文件里的location设置的路径后面是还少了/ ,或者NTFS目录权限的问题。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值