ubuntu 搭建svn服务器
一、sudo apt-get install subversion
二、创建项目目录
/srv/svn/tone_src
三、创建 SVN 文件仓库
sudo svnadmin create /srv/svn/tone_src
四、 赋予组成员对所有新加入文件仓库的文件拥有相应的权限
sudo chmod -R g+rws /srv/svn/tone_src
五、svn默认端口是3690,在防火墙上开放这个端口
sudo /sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT
六、修改 /srv/svn/tone_src/conf/svnserve.conf 来配置其访问控制,把下面三行去掉注释(注意前面不能有空格),
- <pre name="code" class="plain">[general]
- password-db = password
- authz-db = authz
七、在这里你也可以设置匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,去掉下面两行的注释,只需把 read 改成 none
- anon-access = none
- auth-access = write
八、在passwd文件中添加新用户
- name1 = pwd1
- name2 = pwd2
- name3 = pwd4
九、为用户添加权限,编辑authz文件
- [groups]
- admin = name1,name2
- name = name3
- [/]
- @admin=rw
- *=r
已组来分配权限
- 生成code 通过超级管理员在本地新建code 提交至服务器即可
意思是其中name1和name2属于admin组,有读和写的权限,name3属于name组,只有读的权限。
十、启动SVN服务
killall svnserve
svnserve -d -r /srv/svn/
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
十一、设置svn服务为自启动
在init.d目录建立一个脚本文件svnd.sh
- $ cd /etc/init.d
- $ vim svnd.sh
输入svnd.sh内容如下(/var/svn 为svn安装目录):
- $ !/bin/bash
- $ svnserve startup
- $ svnserve -d -r /srv/svn/
保存退出。
更新,修改权限:
- update-rc.d svnd.sh defaults
- $ chmod ug+x svnd.sh
浙公网安备 33010602011771号