774530750 发表于 2018-11-22 11:05:41

apache+svn整合

  1:安装svn客户端, 并且在客户端下,
  能建立仓库,在自己的硬盘上,建一个库
  利用 file:///D:/xx/yy来管理自己的仓库.
  

  2:把svn与apache整合.
  

  2.1为什么与apache一起整合?
  答:因为80端口支持广泛.
  

  2.2: 整合步骤
  

  在windows,选取与apache相适应的subversion的压缩包,并与apache整合.
  下载地址:http://sf.net/projects/win32svn
  

  在linux下,一般是下载源码
  地址:http://subversion.apache.org/
  

  2.3:具体操作
  2.3-1:解压win32svn压缩包,推荐到apache的平级目录,
  并重命名为svn
  

  注意: 我们要做的是把svn 当成apache的一个模块来执行.
  和php作为apache来整合,有类似之处.
  

  2.3-2:复制so
  把svn/bin中的
  mod_authz_svn.so
  mod_dav_svn.so
  到apache/modules/下面.
  

  2.3-3: 修改配置文件
  apache/conf/httpd.conf
  

  把下面这两行前的#号去掉
  #LoadModule dav_module modules/mod_dav.so
  #LoadModule dav_fs_module modules/mod_dav_fs.so
  

  然后新增2行
  LoadModule dav_svn_module modules/mod_dav_svn.so
  LoadModule authz_svn_module modules/mod_authz_svn.so
  

  

  2.3-4: 修改环境变量 ,并重启,使环境变量生效.
  在环境变量中的path里,加上 svn/bin的路径.
  例; D:\amp\svn\bin
  

  3.1:寻立仓库目录
  在X盘,例D:/amp
  

  建立仓库目录, 例: D:/amp/repo
  

  3.2: 建立仓库
  在D:/amp/repo 下面建立具体的代码仓库.
  如D:/amp/repo/orange
  

  3.3: 修改配置文件,httpd.conf
  目的:使apache能够对特定目录转发给svn处理.
  

  具体:在httpd.conf后面加上如下几句话:
  

  
  DAV svn
  SVNParentPath D:/amp/repo
  

  #repo目录是所有仓库的上级目录
  
  

  3.4:测试
  通过客户端 签出 http://localost/svn/orange
  即可把仓库签出
  

  =====================权限控制==============
  再次httpd.conf
  

  
  DAV svn
  SVNParentPath D:/amp/repo
  AuthZSVNAccessFile D:/amp/repo/authz
  AuthUserFile D:/amp/repo/passwd
  # 上述两行分别代表用户权限表, 用户密码表.
  

  Satisfy Any
  Require valid-user
  

  AuthType Basic
  AuthName "hp5qi"
  

  

  #repo目录是所有仓库的上级目录
  
  

  

  ============生成用户密码,及配置用户权限==========
  在apache的bin目录下面执行!
  

  htpasswd -c D:/amp/repo/passwd stu
  # -c代表新创建,如果是第2次及以后再次增加用户,不要用-c,否则前面的用户都丢失了.
  

  在authz里写权限规则
  例: 在D:/repo/orange, 和apple两个仓库
  
  stu = r
  dev = rw
  

  

  
  stu = rw
  dev = r
  * = r
  

  

  如上配置中,即说明
  对于orange仓库
  stu 只读权限
  dev 读写权限
  

  apple 仓库
  stu 读写权限
  dev 只读
  任意用户 读权限



页: [1]
查看完整版本: apache+svn整合