hongmeigui22027 发表于 2017-1-4 09:52:03

在win2003上apache整合svn<转>

  参考了下面的BLOG,在这里先谢谢EVAN的无私共享。
  www.blogjava.net/evanwhj/archive/2006/04/06/39498.aspx
  一,安装apache2.2和svn1.4.4的服务端
  第一步,安装Apache2.2。
  第二步,安装Subversion1.4.4 Server(目前最新版本);我使用的是svn-win32-1.4.4.zip,解压之后即可使用。
  一般SVN与Apache整合,可以通过Apache的虚拟目录和安全控制,使用HTTP协议穿透防火墙,在实际开发环境中也是有作用的。
  按照Evan的说法,我考虑再三后安装了纯JAVA编写的SVN Web Client,就是中文的显示还有一些问题,不过网上有相关的补丁,大家可以上去找找,也装了tortoiseSVN1.4.4,感觉都很不错。
  SVNWebClient
  二、整合
  第一步,打开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解压后你放的目录
  第三步,在这个文件的最后,追加如下语句:
  <location svn=""></location><location></location><location></location><location></location>
    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的权限管理对档案库及目录进行读写管理
  修改上面第三步的内容为:
  <location svn=""></location><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即可。
  下面建立控制用户访问权限的文件svn_authz
  在D:\Subversion中新建一个记事本文件,输入下面的内容:
  
test-developers = zxm
everyone = @test-developers
                       //这表示,仓库test的根目录下的访问权限
@test-developers = rw
               //test仓库下test目录的访问权限
@test-developers = rw         // 如果在前面加上@符号,则表示这是个群组权限设置
  r  表示读权限
  w 表示写权限
  好,配置完成,重新启动Apache server
  在浏览器地址栏中再次输入:http://localhost/svn/test/
  这次要输入密码才能进入,赶快试试吧。
  这里顺便交代一下,svn1.4.4的服务端只支持apache2.2版本的,晕死,被N个版本的指导瞎指导了一通。
页: [1]
查看完整版本: 在win2003上apache整合svn<转>