linux + apache + svn

环境: centos 5.6

 

先用yum安装 httpd 和 svn,mod_dav_svn必须装

 

Yum install httpd httpd-devel subversion subversion-devel mod_dav_svn

 

在 /var/www/svn下建文件夹

mkdir ikea
mkdir phptest

 

然后给 给 俩文件夹 建库

svnadmin create ikea
svnadmin create phptest

chown -R apache.apache svn
chmod 775 -R svn

 

 

编辑 svn的配置: 

vim /etc/httpd/conf.d/subversion.conf

 然后添加:(注意,/repos/,这个最后"/"一定要加,不然无法访问根目录 http://****/repos/,这样访问会抛访问受限)

<Location /repos/>
  DAV svn
  SVNListParentPath on
  SVNParentPath /var/www/svn/
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /var/www/svn/svn-auth-file
  Require valid-user
  AuthzSVNAccessFile /var/www/svn/svn-access-file
</Location>

然后用:

htpasswd -cm /etc/svn-auth-file mhm 

来创建svn的使用用户

创建第二个人时,不用再使用 c 这个参数 c是新建参数

 

然后编辑

vim /var/www/svn/svn-access-file 

 

所有人对所有的库都有读权限, mhm对所有的库都有读写前悬,xuwei对ikea有读写权限,tt对phptest有读写权限

[groups]
admin = mhm
ikea = xuwei
phptest = tt
[/]
* = r
@admin = rw

[ikea:/]
@ikea = rw

[phptest:/]
@phptest = rw

 

在http.conf中加一行: 这样 访问 http://****/repos时,可以自动加上 "/"

RewriteEngine on
RewriteRule ^/repos$ /repos/ [R]

 

到此简单的svn配置就差不多了,但有个问题,用http访问repos时,可以看到全部的库,但如果用svn://****/repos时,会抛什么“移动到临时”啥的,只用用svn://****/repos/ikea这样精确到库名才能访问。
当然编辑器访问svn时,也是如此。

 

我目前用法:

在svn文件夹下建repos文件夹

同时,

<Location /repos/>

改成

<Location /svn/>

然后对repos进行 svnadmin create

 

然后把所有的字库都建在repos中(用svn建,而不是用win或linux系统建,用小乌龟的create fold)

linux + apache + svn

 

这样用svn://152.146.231.148/svn/repos/

就可以访问所有的子库了。

你可能感兴趣的:(apache)