$ sudo apt-get install subversion
2. 添加subversion组 和 用户
$ sudo addgroup subversion
$ sudo usermod -G subversion -a www-data
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir project
$ sudo chown -R www-data:subversion project
4. 创建 SVN 文件仓库
$ sudo svnadmin create /home/svn/project
5. 赋予组成员对所有新加入文件仓库的文件拥有相应的权限
$ sudo chmod -R g+rws project
6. svn默认端口是3690,在防火墙上开放这个端口
$ sudo /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
8. 修改 /home/svn/project/conf/svnserve.conf 来配置其访问控制,把下面三行去掉注释(注意前面不能有空格),
<pre name="code" class="plain">[general]
password-db = password
authz-db = authz
9. 在这里你也可以设置匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,去掉下面两行的注释,只需把 read 改成 none
anon-access = none
auth-access = write
10. 在passwd文件中添加新用户
<pre name="code" class="plain">[users]
name1 = pwd1
name2 = pwd2
name3 = pwd4
11. 为用户添加权限,编辑authz文件
[groups]
admin = name1,name2
name = name3
[/]
@admin=rw
*=r
意思是其中name1和name2属于admin组,有读和写的权限,name3属于name组,只有读的权限。
12. 启动SVN服务
svnserve -d -r /home/svn
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
这时你就可以通过 file或者svn方式访问了。
13. 设置svn服务为自启动
在init.d目录建立一个脚本文件svnd.sh
$ cd /etc/init.d
$ vim svnd.sh
输入svnd.sh内容如下(/var/svn 为svn安装目录):
$ !/bin/bash
$ svnserve startup
$ svnserve -d -r /home/svn
保存退出。
更新,修改权限:
$ update-rc.d svnd.sh defaults
$ chmod ug+x svnd.sh