Apache2.2.11和SVN1.6.1搭建svn版本控制平台(windows环境)(1)

一、安装

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

 第二步,安装Subversion1.6.1(目前最新版本),注意下载时,看是否支持Apache2.2;我使用的是svn-win32-1.6.1.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.6.1.zip解压后你放的目录

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

<Location /svn>

    DAV svn

    SVNPath d:/svn/repos1

</Location>

如果想要指定多个版本库,可以用多个 Location 标签,也可以使用 SVNParentPath 代替 SVNPath,例如在 e:/svn 下有多个版本库 repos1,repos2 等等,用如下方式指定:
<Location /repository>
 DAV svn
 SVNParentPath e:/svn
</Location>

可以通过 http://服务器IP/repository/repos1,http://服务器IP/repository/repos2 来访问。

第四步,创建仓库

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

 

我们也可以使用 TortoiseSVN 图形化的完成这一步:
先建立空目录 E:/svn/repos1 ,注意一定是要空的。然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。

 

第五步,运行

重新启动Apache Server

在浏览器中输入网址:

http://localhost/svn/myproject

这时候,看到页面显示:

Revision 0: /

Powered by Subversion version 1.6.1 (r).

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

三、svn权限设置

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

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

<Location /svn>

    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

</Location>

用htpasswd工具创建apache_authz 文件,

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

  htpasswd -cm  D:/Subversion/apache_authz  username1

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

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

更改用户密码:

   htpasswd -m D:/Subversion/apache_authz  username1
       删除用户(要用大写的 D ):
          htpasswd –D D:/Subversion/apache_authz  username1

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

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


    [groups]


     committers = paulex, richard
     developers = jimmy, michel, spark, sean

 

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

@developers = rw

 

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

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

 

r  表示读权限

w 表示写权限

AuthzSVNAccessFile 指向的是 authz 的策略文件,详细的权限控制可以在这个策略文件中指定。访问文件 accesspolicy.conf 的语法与svnserve.conf和 Apache 的配置文件非常相似,以(#)开头的行会被忽略;在它的简单形式里,每一小节命名一个版本库和一个里面的路径;认证用户名是在每个小节中的选项名;每个选 项的值描述了用户访问版本库的级别:r(只读)或者rw(读写),如果用户没有提到或者值留空,访问是不允许的; * 表示所有用户,用它控制匿名用户的访问权限;@符号区分组和用户。

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

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

这次要输入密码才能进入.

 

基本操作流程

1、取出(check out)

取出版本库到一个工作拷贝:到任意空目录下,比如在f分区建立一个空文件夹 f:/work 。“右键 -> SVN Checkout”。

在“URL of repository”中输入“http://localhost/svn/repo1/guestbook”,这样我们就得到了一份 guestbook 中内容的工作拷贝。

2、存入(check in)/提交(commit)

在工作拷贝中作出修改并提交:

在 guestbook 工作拷贝中随便打开一个文件,作出修改,然后“右键 -> SVN Commit... ”。这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。

在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可以看到对这个文件所有的提交。在不同的 revision 条目上“右键 -> Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值