环境: 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)
这样用svn://152.146.231.148/svn/repos/
就可以访问所有的子库了。