Apache+SVN的整合

一、整合Apache+SVN

1、安装:

(1)  安装httpd-2.2.21-win32-x86-openssl-0.9.8r.msi,安装目录随意;

(2)  安装Setup-Subversion-1.6.15.msi(这个是SVN的服务器端),安装目录随意;

(3)  安装TortoiseSVN-1.6.12.20536-win32-svn-1.6.15.msi(这个是SVN的客户端),可选择默认安装(即一路选择下一步);

(4)  安装LanguagePack_1.6.12.20536-win32-zh_CN.msi(这个是SVN的客户端的中文包,用于汉化SVN的客户端,可选择安装)

2、整合的配置:

(1)  复制Subversion\bin目录中的下面这六个文件到Apache2.2\bin中去

intl3_svn.dll             libdb44.dll

libsvn_delta-1.dll        libsvn_fs-1.dll

libsvn_repos-1.dll        libsvn_subr-1.dll

(2)  复制Subversion\bin中的mod_authz_svn.so、mod_dav_svn.so这两个文件到Apache2.2\modules目录中去。

(3)  修改Apache的配置文件httpd.conf(这个文件在Apache2.2\conf目录中):打开这个文件,找到

#LoadModule dav_module modules/mod_dav.so 

#LoadModule dav_fs_module modules/mod_dav_fs.so

然后去掉这两行前面注释符合“#”,再在所有LoadModule语句的最后添加一下下面这两行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

(4)   建立存放库的目录,目录名可以你自己随意起,也可以放任意盘,我的是在C盘目录下新建目录svn;

(5)  创建SVN版本库(有两种方式):1在第(4)步创建的存库目录中,新建一个文件夹,然后右击该文件夹à选择“TortoiseSVN”à选择“在此创建版本库”,会有创建成功提示;2点击开始à运行à输入cmd,回车,在cmd窗口中进入到到Subversion的bin目录下,输入“Svnadmin.exe create C:\svn\test”(其中svn为第(4)步创建的存库目录,后面的test可随意更换),回车,执行完毕,打开C:\svn查看是否生成test文件夹,打开test,生成文件如下,即SVN版本库创建成功。(注:以上的12为创建版本库的两种方式,选择其中一种方式即可

 

                                   

 

(6)   添加svn用户:在cmd窗口中进入到Apache2.2\bin目录中,输入“htpasswd –c C:\svn\pwd admin”(其中svn为存库根目录,pwd为文件名,可任意取,用于存放所要创建的用户名和密码,admin为新创建的用户名),回车,提示输入密码,回车,提示重复输入密码,回车,如下图所示:

 

然后打开C:\svn,查看是否生成pwd文件,如果存在此文件即成功(注:我之前参考过很多资料,有的直接把这个用户文件pwd放到版本库里面(即前面创建的test文件夹),个人认为用户文件最好不要放到版本库里,放在存库的根目录比较好

说明:使用-c参数来创建第一个用户

如果需要再创建用户的时候就不用-c参数,而是用-m参数,因为文件passwd已经创建。

htpasswd –m D:\svnroot\passwd quan //添加用户quan,并且写进passwd文件

htpasswd –m D:\svnroot\passwd phpuser //添加用户phpuser,并且写进passwd文件

(7) 配置访问权限authz文件:在存库根目录svn中新建文本文档,命名为authz,用记事本程序打开输入如下内容(注:中文为解释内容,最好不要写进authz文件里):

      [groups]

      #这里是设置分组,如果一个组里有多个用户,则多个用户用逗号分隔,如:java=phpuser,quan

admin=admin

test=admin

[/]

#这里设置根目录的访问权限,[/]代表根目录,rw代表全权管理,可读可写

@admin = rw

[test:/]

#test版本库做权限配置,允许test组的所有用户读写test

@test = rw

(8)   再次修改Apache的配置文件httpd.conf:打开此文件,在文件的最后添加如下代码:

<Location /svn>

DAV svn

SVNListParentPath on

SVNParentPath "C:/svn"  //这“”里面输入的是svn库的根目录,按个人情况而定

AuthType Basic

AuthName "Subversion Please enter yourlogin information"

AuthUserFile "C:/svn/pwd"   //这“”里面输入的是经apache创建的用户密码文件路径

AuthzSVNAccessFile "C:/svn/authz"   //这“”里面输入的是用户权限分配文件路径

Require valid-user

</Location>

(9)   重启apache,注意右下角是否出现如下图所示的字样,如果没有,请关闭此窗口再重新打开即可(前提是apache启动正常)。

 

3、验证测试:

1Web访问:打开浏览器,在地址栏中输入http://localhost/svn/test,回车后会弹出登录对话框,输入用户名和密码,登录后出现如下图所示即OK

(2)客户端应用测试

    1将文件加入svn管理:

l 新建一个文件夹,右击选择check out(注check out 后可以添加新内容,然后check in 保留了一个影像,到时可以还原的)

l 在该文件夹中建立文件和文件夹

l Commit

l 进入网页http://localhost/svn/test能够看到版本1

2编辑修改:

l 编辑,修改.删除文件或修改文件内容

l 选择svn update和svn commit

l 进入网页http://localhost/svn/test能够看到版本2

3回到历史版本:

右击文件夹,TortoiseSVNà更新至版本(updateto revision)à单击“版本”(revision)单选按钮à输入1,回到1版本

 

附:其他解释:

<Location /svn/>

    DAV svn

    SVNListParentPath on

    SVNParentPath "D:/svnrepo"

    #SVNPath "D:/svnrepo/test"

    ####################认证的类型

    AuthType Basic

    #################### 认证的名称,显示于登录提示框

    AuthName "Subversion 资源库,请登录 !"

    ########## 存储用户登录信息的文件

    AuthUserFile D:\svnrepo\passwd

    #################### 限定各个用户或组在版本库中目录的访问权限

    AuthzSVNAccessFile D:\svnrepo\svnaccessfile

    ############# 让所有用户对版本库都有读的权限而只有特定的用户才有写的权限

    Require valid-user

</Location>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值