Apache2.2和SVN1.4.4搭建svn版本控制平台(windows环境) - 志权...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 06:44:31

Apache2.2和SVN1.4.4搭建svn版本控制平台(windows环境)

默认分类 2007-09-29 11:30:53 阅读2255 评论2   字号:大小 订阅

一、安装

 第一步,安装Apache2.2,下载后直接安装就可以了,没有什么难的。

 第二步,安装Subversion1.4.4(目前最新版本),注意下载时,看是否支持Apache2.2;我使用的是svn-win32-1.4.4.zip,解压之后即可使用。

二、整合

 第一步,打开Apache安装目录下的httpd.conf文件

找到下面的语句:

#LoadModule dav_module modules/mod_dav.so

将上面语句前面的#去掉

第二步,在这句后面追加,如下语句:

LoadModule dav_svn_module "{svn安装目录}/bin/mod_dav_svn.so"

LoadModule authz_svn_module "{svn安装目录}//bin/mod_authz_svn.so"

注:{svn安装目录}就是svn-win32-1.4.4.zip解压后你放的目录

第三步,在这个文件的最后,追加如下语句:

    DAV svn

    SVNParentPath d:/svn

第四步,创建仓库

根据apache的配置文件的设置建立目录:d:/svn,然后用svnadmin create d:/svn/test命令创建仓库,命令执行成功之后,会在d:/svn/test下面生成很多的文件和目录。

第五步,运行

重新启动Apache Server

在浏览器中输入网址:

http://localhost/svn/test/

这时候,看到页面显示:

Revision 0: /

Powered by Subversion version 1.3.2 (r19776).

安装成功,接下来将进行权限设置。

三、svn权限设置

svn使用apache的权限管理对档案库及目录进行读写管理

修改上面第三步的内容为:

    DAV svn

    #SVNListParentPath on

    SVNParentPath d:\svn

    ### apache auth begin

    # how to authenticate a user

    AuthType Basic

    AuthName "Subversion repository"

    AuthUserFile D:\Subversion\apache_authz (保存用户名和密码,这个文件需要用Apache的htpasswd工具创建)

    Require valid-user

    ### apache auth end

    ### svn auth begin

    # our access control policy

    AuthzSVNAccessFile D:\Subversion\svn_authz  (保存用户访问的权限策略)

    # authentication if necessary

    #Satisfy Any

    ### svn auth end

用htpasswd工具创建apache_authz 文件,

建立保存用户名和密码的文件

  htpasswd -cm  D:\Subversion\apache_authz  username1

-c 表示创建文件,-m表示对密码用md5加密

然后,会提示输入两次密码,以后再加用户就不需要用-c了,直接用-m即可。

下面建立控制用户访问权限的文件svn_authz

在D:\Subversion中新建一个记事本文件,输入下面的内容:

[groups]

test-developers = zxm

everyone = @test-developers

[test:/]                     //这表示,仓库test的根目录下的访问权限

@test-developers = rw

[test:/test]             //test仓库下test目录的访问权限

@test-developers = rw         // 如果在前面加上@符号,则表示这是个群组权限设置

r  表示读权限

w 表示写权限

好,配置完成,重新启动Apache server

在浏览器地址栏中再次输入:http://localhost/svn/test/

这次要输入密码才能进入,赶快试试吧。