在Ubuntu上搭建SVN的文章不少,可是都是拷贝来拷贝去的,我这里从新整理一下: apache
首先推荐一篇参考文档,链接以下: ubuntu
http://wiki.ubuntu.org.cn/SubVersion svn
如下是我整理后的步骤: spa
1.安装必要的软件包: 文档
$ sudo apt-get install subversion get
$ sudo apt-get install libapache2-svn
it
2.建立一个SVN帐号和SVN组,并保证SVN帐号已经添加进了SVN组,个人SVN帐号是svnuser io
$ sudo adduser svnuser 添加SVN帐号 软件
$ sudo addgroup subversion 添加SVN组 配置
$sudo usermod -G subversion -a svnuser 将svnuser添加到subversion组
$ cat /etc/group|grep subversion 确认是否添加成功,若是添加成功会显示如下内容:
subversion:x:1004: svnuser
3.建立一个SVN仓库
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$sudo chmod -R g+rws myproject
$ sudo chown -R svnuser:subversion myproject
$ sudo svnadmin create /home/svn/myproject
$ sudo chown -R svnuser:subversion myproject
$sudo chmod -R g+rws myproject
这个地方必定要保证看到如下内容:
ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 svnuser subversion 0 2009-06-18 15:33 txn-current-lock
否则在SVN递交时,会提示:
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
至关于在myproject下,全部文件都要属于subversion这个组的svnuser这个用户
4.配置仓库访问权限,刚才建立了一个名称为myproject的SVN仓库,如今要设置它的访问权限,
首先编辑myproject/conf/svnserve.conf,激活如下两个选项:
password-db = password
authz-db = authz
而后编辑myproject/conf/authz,在[group]字段添加如下内容,将weike做为管理者:
[groups]
admin = weike
[/]
@admin=rw
*=r
最后编辑myproject/conf/passwd文件,在[users]字段添加如下内容:
[users]
weike= 123
保存上述编辑文件。
5.打开svn服务:
$sudo svnserve -d -r /home/svn
这里要注意,必定要用sudo,否则也会遇到如下提示;
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
6.设定为开机自动开启服务:
编辑文件/etc/rc.local,在exit0前一行添加一下内容:
svnserve -d -T -r /home/svn
此处无需添加sudo