- 1.安装apache 和 svn
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn
- 2.添加组 和用户
sudo addgroup subversion
sudo usermod -G subversion -a www-data
- 3.创建文件夹
sudo mkdir /home/svn
cd /home/svn
sudo mkdir myproject
sudo chown -R www-data:subversion myproject
- 4.创建svn仓库
创建 SVN 文件仓库:
sudo svnadmin create /home/svn/myproject
- 5.配置权限
赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
sudo chmod -R g+rws myproje
sudo chown -R www-data:subversion myproject
- 6.http访问配置
要通过 WebDAV 协议访问 SVN 文件仓库,您必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中:
<Location /svn/myproject>
DAV svn
#SVNPath /home/svn/myproject
SVNParentPath /home/svn/
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /home/svn/passwd.conf
AuthzSVNAccessFile /home/svn/authz.conf
AuthzSVNAccessFile /home/svn/authz.conf
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。
- 7.配置访问权限控制
增加AuthzSVNAccessFile /home/svn/authz.conf
编辑sudo vi /etc/apache2/mods-enabled/dav_svn.load
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
编辑 sudo vi /etc/apache2/mods-available/authz_svn.load
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
之后添加 :sudo htpasswd -m /home/svn/passwd jack2
[groups]
everyone = robert, tommy, songjy, zhengyong, orcus, zhangq
groupA = robert, zhangq
groupB = orcus, tommy
[projectA:/]
@groupA = rw
@everyone = r
zhangq=rw
[projectB:/]
@everyone = r
@groupB = rw
编辑sudo vi /etc/apache2/mods-enabled/dav_svn.load
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
编辑 sudo vi /etc/apache2/mods-available/authz_svn.load
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
- 8.重启apache
- 9.添加用户
之后添加 :sudo htpasswd -m /home/svn/passwd jack2
- 10.配置用户权限
[groups]
everyone = robert, tommy, songjy, zhengyong, orcus, zhangq
groupA = robert, zhangq
groupB = orcus, tommy
[projectA:/]
@groupA = rw
@everyone = r
zhangq=rw
[projectB:/]
@everyone = r
@groupB = rw