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