|
sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn
sudo addgroup subversion
sudo usermod -G subversion -a www-data
sudo mkdir /home/svn
cd /home/svn
sudo mkdir myproject
sudo chown -R www-data:subversion myproject
创建 SVN 文件仓库:
sudo svnadmin create /home/svn/myproject
赋予组成员对所有新加入文件仓库的文件拥有相应的权限:
sudo chmod -R g+rws myproje
sudo chown -R www-data:subversion myproject
要通过 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
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。
增加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 /etc/init.d/apache2 restart
第一次添加:sudo htpasswd -c /home/svn/passwd jack
之后添加 :sudo htpasswd -m /home/svn/passwd jack2
sudo vi /home/svn/authz.conf
[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
|
|
|