系统为CentOS 6.2
# yum install httpd httpd-devel subversion mod_dav_svn
groupadd subversion //创建一个叫subversion的组为拥有仓库所在的目录
usermod -G subversion -a apache //将自己和Apache 用户加入组成员
查看:more /etc/group | grep subversion
系统提示:subversion:x:500:apache
第三步:创建SVN库和项目
mkdir /home/svn/repos //创建SVN库总目录
svnadmin create /home/svn/repos/project1 //创建项目svn库
第四步:修改项目权限 (多个项目则重复这一步)
chgrp -R subversion /home/svn/repos/project1
#开启了selinux 的必须执行下面一步,这步非常重要,要不apache会没有权限访问文件
chcon -R -t httpd_sys_content_t /home/svn /
第五步:配置httpd
略,配置监听端口等等。
编辑subversion.conf
vim /etc/httpd/conf.d/subversion.conf
按以下代码更改(栗红为修改的代码):
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/svn/repos
SVNListParentPath on
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/svn/passwd
Require valid-user
AuthzSVNAccessFile /home/svn/authz.conf
# </LimitExcept>
</Location>
第七步:建立用户
htpasswd -c /home/svn/passwd test //第一次添加用户使用参数“-c”以后再添加就不用了
#开启了selinux的,必须执行下面步骤,这步非常重要,要不apache会没有权限访问文件
chcon -R -t httpd_sys_content_t /home/svn/passwd
chcon -R -t httpd_sys_content_t /home/svn/authz.conf
#authz.conf文件内容
[groups]
#everyone =esin,tester
groupA = esin
groupB = tester
[/]
* = r
[project1:/]
@groupA = rw
#@everyone = r
[project1:/]
#@everyone = r
@groupB = r
重启apache