1. 软件安装 ( 以下操作 root 权限 )
若系统尚未安装 Apache ,建议先安装 Apache ,最好是 Apache2
$ apt-get install apache2
之后安装 Subversion 以及 Apache2 模块
$ apt-get install subversion libapache2-svn
2. 创建用户组
$ groupadd subversion
$ usermod -G subversion www-data ( 讲 apache 用户加入组中 )
3. 新建版本库
$ mkdir /home/svn
$ chown -R www-data:subversion /home/svn
$ chmod -R g+rs /home/svn
$ svnadmin create /home/svn/myproject ( 建立仓库 )
$ chmod -R g+rw myproject
注: myproject目录权限设置为755
接下来是和 Apache 结合的 Subversion 配置步骤。
4. 修改 httpd.conf
$ vi /etc/apache2/httpd.conf
追加以下内容:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<VirtualHost *:81>
ServerName svn.kaulware.com
DocumentRoot /
<Location />
DAV svn
SVNParentPath /home/svn
SVNListParentPath on
AuthType Basic
AuthName "MirrorOffice SVN Server"
AuthUserFile /etc/svn-passwd
AuthzSVNAccessFile /etc/apache2/svn-access-file
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
<Directory /home/svn>
Order deny,allow
Allow from all
Require all granted
</Directory>
</VirtualHost>
注:
1. mod_dav.so,mod_dav_svn.so,mod_authz_svn.so应该存在于apache得modules目录下.一定要注意so文件的load顺序。
2. svn-passwd,svn-access-file要自己生成
1). 如何生成svn-passwd文件:
htpasswd –c /etc/svn-passwd <your username>
接下来就不要用-c参数了
2). svn-access-file生成规则
anon-access = none
auth-access = write
[groups]
admin = root,allen
devteam1 = allen,root,kefe
[/]
* = r
@admin = rw
@devteam1 = rw
5. 重启动 Apache
$ /etc/init.d/apache2 restart
可以测试了