ubuntu install svn with apache dav_svn

来源:互联网 发布:nginx 判断请求参数 编辑:程序博客网 时间:2024/05/17 22:57

sudo apt-get update

sudo apt-get install subversion subversion-tools libapache2-svn

sudo mkdir /home/svn

sudo mkdir ~/test
sudo svnadmin create /home/svn/test -m 'initial project structure'

cd ~/test
mkdir trunk tags branches

sudo svn import ~/test file:///home/svn/test -m 'Initial project directories'

sudo chown -R www-data:www-data /home/svn

sudo a2enmod dav_svn


sudo vim /etc/apache2/mods-available/dav_svn.conf

取消注释:

DAV svnSVNParentPath /home/svn

测试:

http://127.0.0.1/svn/test.


如果需要限制用户:

sudo vim /etc/apache2/mods-available/dav_svn.conf

  DAV svn  SVNParentPath /home/svn  AuthType Basic  AuthName "My SVN Repositories"  AuthUserFile /subversion/svn-auth  Require valid-user

htpasswd -c /etc/subversion/passwd svntest

上面我们添加完了用户,但是还要授权这些用户的权限,如该用户是具有读权限,还是写权限,还是读写权限等等。为了使得一个用户对于SVN的多个项目具有不同的权限控制,我们仅为用户组设置具体的读写权限,如果一个用户期望获得一个项目的相关权限,我们可以将这个用户直接添加到具有相应权限的组中去,具体命令如下:
sudo vi /etc/subversion/authz
在打开编辑授权文件之后编辑其内容如下:
#用户组指令
[groups]
svn = svntest,将用户svntest添加到用户组svn
#其他组
[mysite:/]
@svn = rw,为用户组svn添加读写权限

或者 * = rw
完成以上设置之后,我们只需重启SVN就可以了,重启命令如下:
sudo /etc/init.d/apache2 restart

cd ~

mkdir test2

svnserver -d -r /home/svn/test/trunk test2svn checkout http://127.0.0.1/svn/test/trunk test2


0 0
原创粉丝点击