2653885 发表于 2017-1-4 09:47:34

[转] apache http 搭建 SVN服务器

  在windows下搭建基于apache的SVN环境
   
  转自:http://www.cnblogs.com/mayingbao/archive/2010/06/10/1755757.html
   
1 软件下载:
  在http://httpd.apache.org/download.cgi,下载:
  apache_2.2.14-win32-x86-openssl-0.9.8k.msi
  在 http://subversion.tigris.org/,下载:
  Setup-Subversion-1.6.6.msi
  在http://tortoisesvn.net/downloads,下载:
  LanguagePack_1.6.3.16613-win32-zh_CN.msi
  TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi
  备注:apache与svn安装时,需要注意一点版本是否兼容,注意查下版本匹配情况;
2 安装apache
安装apache 按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Apache下;
修改apache端口,在D:\Program Files\Apache\conf下的httpd.conf将listen 80 更改为listen 8000,保存,然后重启apache
检查apache是否安装成,访问http://localhost:8000,如果显示”it works”则表明安装成功;

  备注:默认情况下apache是80端口,但是80端口经常会让其它服务占用,建议最好更改访问端口
  
3 安装svn服务端
   安装svn服务端,按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Svn下;
  
   
4 安装svn客户端及汉化包
   安装svn安户端及汉化包,按照提示安装即可,如我安装在D:\Program Files\TortoiseSVN
  
   
5 集成svn和apache
    将Svn环境下bin目录中的mod_dav_svn.so和mod_authz_svn.so复制到Apache环境下modules目录下;
   配置apache环境下的httpd.conf,去掉前面的#号;
  #LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
   
将下面几行添加到LoadModule部分的最后,注意svn的环境目录更改,需符号要求;
  LoadModule dav_svn_module "d:/Program Files/svn/bin/mod_dav_svn.so"  
  LoadModule authz_svn_module "d:/Program Files/svn/bin/mod_authz_svn.so"
   保存重启下apache,可以看到如下图所示:
   

6 配置apache和svn,让apache告诉svn如何工作
  以下是我的具体配置情况可以参考下
  <Location /svn> 
  #引用远程访问模块
  DAV svn   
   
  #版本库路径
  SVNListParentPath on
  SVNParentPath   d:/Svn/Project
   
  #激活基本认证,就是用户名/密码
  AuthType Basic
   
  #用来说明何时弹出要求用户输入认证信息的认证对话框
  AuthName "Subversion repositories"
   
  #指定使用的认证密码文件
  AuthUserFile d:/Svn/conf/passwd.ini  
   
  #位置Subversion版本库的访问控制文件的路径
  AuthzSVNAccessFile d:/Svn/conf/authz.ini
   
  #指定只有输入了正确的用户/密码的用户可以访问URL
  Require valid-user
  </Location>
   
  更为详细的解释设置 Apache 的 httpd.conf
  设置
  解释
  <Location /svn>
  意思是Subversion版本库的URL是http://MyServer/svn/
  DAV svn
  告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。
  SVNListParentPath on
  对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。
  SVNParentPath D:\SVN
  告诉Subversion需要查看的版本库位于D:\SVN之下
  SVNIndexXSLT "/svnindex.xsl"
  使用它可以在用浏览器浏览时更好看。
  AuthType Basic
  激活基本认证,就是用户名/密码
  AuthName "Subversion repositories"
  用来说明何时弹出要求用户输入认证信息的认证对话框
  AuthUserFile passwd
  指定使用的认证密码文件
  AuthzSVNAccessFile
  位置Subversion版本库的访问控制文件的路径
  Require valid-user
  指定只有输入了正确的用户/密码的用户可以访问URL
   
 
7 创建passwd文件来管理svn的访问权限
在开始菜单下,“运行”输入cmd,然后切换到apache/bin目录下:

 
 
 第1个用户创建时用:htpasswd -c D:\svn\conf\passwd.ini yb.ma //其中passwd.ini为文件名,yb.ma为用户帐号

 
第2个用户创建时用:htpasswd D:\svn\conf\passwd.ini y.fan

 
 
可以找到具体的目录查看,如下图所示,验证是否创建成功:

 
8 SVN版本库及登录访问权限设置
在 D:\Svn\Project\目录下创建test1文件,然后通过svn客户端右键在此创建版本库;
  将会得到如下效果图,则表明创建成功:
   
   
  在D:\Svn\TempProjcet\test1创建如下配置库目录结构图,如我创建如下(可以根据自己实际情况定制)
   
  
  导入配置库结构到版本库中,如右键导入,填写具体的地址:
   
  备注:要导入的版本库必须在authz.ini文件中配置
   
   在D:\Svn\conf创建authz.ini文件,然后文件中填写如下设置
   #建立分组:admin, developer,pm,testers
  
  admin=yb.ma
  pm=yb.ma
  developers=yb.ma  
  testers=yb.ma
   
  #预置设置
  [/]
  *=r
  @admin=rw
  dangerman=
   
  #多个项目配置,一级目录权限
  
  @developers=rw
   
  #branches二级目录权限
  
  @testers=r
  @developers=rw
   
  #tags二级目录权限
  
  @admin=rw
  @pm=rw
   
  #trunk二级目录权限
  
  @admin=rw
  @developers=rw
页: [1]
查看完整版本: [转] apache http 搭建 SVN服务器