windows下Apache 2.2 配置 svn 访问

windows下Apache 2.2 配置 svn 访问 因为我已经在我的机器上安装了apache,而且apache的安装方法网上一堆,所以我就不介绍怎么安装apache.
先下载最新版本的svn:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100
选择下载svn-win32-1.5.4.zip,这是一个给apache2.2.x专用的版本

下载后把程序解压到apache的安装目录上(你也可以安装到你想安装的目录下)
我的apache是安装在D:/wapm/local/apach2,把svn解压到D:/wapm/local/svn

先建一个版本库
打开cmd,转到D盘下


/wapm/local/svn/bin/svnadmin create /wapm/local/svn/repository/test --fs-type fsfs


在d:/wapm/local/svn/repository/test下建立一个版本库。另外--fs-type是定义版本库的存储方法。而fsfs是文件存储方式,另还有一种方法是:bdb,这种方法是数据库存储方式,不过网上有人说svn有放弃使用bdb的趋势。

现在开始配置apache了
把文件以下文件从D:/wapm/local/svn/bin复制到D:/wapm/local/apache2/bin,这一步是apach2.2.X才需要这样做的。如果不复制将会出现:Cannot load D:/wapm/local/apache2/modules/mod_dav_svn.so into server


引用

intl3_svn.dll
libdb44.dll
libsvn_delta-1.dll
libsvn_fs-1.dll
libsvn_repos-1.dll
libsvn_subr-1.dll


然后两把复制以下的文件从D:/wapm/local/svn/bin复制到D:/wapm/local/apache2/modules下

引用

mod_dav_svn.so
mod_authz_svn.so


其中mod_dav_svn.so是包含apache应该怎么处理svn的相关操作
而mod_authz_svn.so是包含apache怎么去判断权限的方法
另外需要确保存在于D:/wapm/local/apache2/modules

引用

mod_dav.so
mod_dav_fs.so

 

对于个人开发可以不用加载mod_authz_svn.so.但对于团队开发最好就加上。管理方便些

开始配置apache处理svn
打开httpd.conf,把以下的代码前的#号除掉,如果没有以下的代码可以自己加上


#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so


另外再以下代码下再加上


LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so


到了这里只是把svn需要的程序加载进去,但apache还不知道怎么去处理svn

建立密码访问密码和访问权限
如果是认为不需要访问密码,可以跳过一步
在命令行里运行以下代码


cd /wapm/local/apache2/
bin/htpasswd -c svn Tim


解释一下,第一句是进入到apache2目录里
第二句是使用htpasswd 生成一个apache能读的密码文件。svn是要我要生成的用户密码文件。Tim是用户名
运行完第二句会提示你输入Tim用户的密码。输完后你可以在D:/wapm/local/apache2/下找到一个svn的文件,
如果你需要更多的用户可以运行以下行动相同的命令,但不用再加上“ -c ”具体用法可以通过htpasswd -h来查看
建立访问权限
打开记事本,写入以下代码,保存到 D:/wapm/local/svn/repository/svnaccessfile


[groups]
designer = Tim,Jack
guests = guest
[/]
@designer = rw
@guests = r
#如果游客不需要密码,可以写成" * = r"

 


需要再加上以下代码


<Location /svn>
    DAV svn
    SVNParentPath svnfilepath
    SVNListParentPath on
    AuthType Basic
    AuthName "Phoenix Subversion repositories"
    AuthUserFile passwordfilepath/passwd
    AuthzSVNAccessFile accessfilepath/svnaccessfile
    Require valid-user
    SVNPathAuthz on
</Location>


注:如果需要使用访问权限,把以上代码里的#号去掉

引用


意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库

DAV svn
告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块

SVNListParentPath on
在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库

SVNParentPath /wapm/local/svn/repository
告诉Subversion在目录D:/SVN下寻找版本库

AuthType Basic
启用基本的验证,比如用户名/密码对

AuthName "Subversion repositories"
当一个验证对话框弹出时,告诉用户这个验证是用来做什么的

AuthUserFile /wapm/local/apache2/svn
指定D:/passwd用为密码文件用来验证用户的用户名及密码

AuthzSVNAccessFile D:/svnaccessfile
指定D:/svnaccessfile来限定各个用户或组在版本库中目录的访问权限

Require valid-user
限定用户只有输入正确的用户名及密码后才能访问这个路径


重启apache
可以通http://localhost/svn访问到版本库

2008-11-26    svn 访问时出现403问题

引用

今天在公司里再配置svn的访问权限时,当我打开http://localhost/svn/时提示了我输入密码,但我输入完后竟然显示403错误,
我估计是apache上没有设置好访问权限。所以就增加了以下的代码


<Directory /svn>
        Options FollowSymLinks
        AllowOverride all
        Order allow,deny
        Allow from all
        Satisfy all
</Directory>

 

文章来自[SVN中文技术网]转发请保留本站地址:http://www.svn8.com/svnpz/20090622/6695.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值