ubuntu SVN
1、安装subversion
使用命令:sudo apt-get install subversion
回车后看到确认安装信息,输入y,回车开始下载并安装。
2、创建repository项目存储仓库
a) 创建项目目录:sudo mkdir /usr/svn/project1
b) 在此目录上创建svn仓库:sudo svnadmin create /usr/svn/project1
3、配置项目访问权限
a) 进入目录:/usr/svn/project1/conf/
编辑文件svnserve.conf:sudo vi svnserve.conf
修改anon-access = read为:anon-access = none
把如下几句的注释去掉:
#auth-access = write
#password-db = passwod
#authz-db = authz
#realm = xxx
并把最后一句改为:realm = project1
保存此配置文件;
b) 编辑passwd文件,添加客户端访问帐号:
sudo vi passwd
添加如:test = 123456
帐号test,密码123456的帐号;
保存此配置文件。
c) 修改权限配置文件:sudo vi authz
[groups]
project1 = test
test = rw
[/]
@project1 = rw
保存配置文件。
1. [groups] section:为了便于管理,可以将一些用户放到一个组里边,比如:owner=allen,ellen
2. groups下边的sections表示对一个目录的认证规则,比如对根目录的认证规则的section为[/]。设置单用户的认证规则时一个用户一行,如:
[/]
allen=rw #allen对根目录的权限为rw
ellen=r #ellen对根目录的权限为r
如果使用group,需要在group名字前加@,如
@owner=rw #group owner中的用户均为rw,等价于上边的两句话
启动时如果从/home/.svn/astar启动,/就是astar目录,用如上方式以astar目录为根设置权限。
如果从/home/.svn/启动,每个仓库根还是自己的起始目录。可以采用如上方式设置astar的权限,也可以采用如下方式:
[astar:/]
@owner=rw
设置test的权限如下:
[test:/]
@harry_and_sally = rw
简言之,每个仓库的根目录(/)就是自己的起始目录;[repos:/]这种方式只适用于多仓库的情况;[/]适合于单仓库和单仓库的方式。
4、启动svnserve
sudo svnserve -d -r /usr/svn/ --listen-host 0.0.0.0 --listen-port 3690
启动之后,查看进程:
ps -ef|grep svnserve
能看到如下结果,则表示svn server已经正常运行了。
test 1957 1 0 12:28 ? 00:00:00 svnserve -d -r /home/svn/ --listen-host 0.0.0.0 --listen-port 3690
启动和停止svn
1). 启动:
1. 从astar目录启动,svnserve -d -r /home/.svn/astar,根目录(/)是astar,authz中规则的配置使用section[/]。访问方式为:
svn://192.168.0.87/
2. 从.svn目录启动,svnserve -d -r /home/.svn,根目录(/)是.svn,authz中对astar的配置使用section[astar:/] ,对test的配置使用section[test:/]。访问方式为:
svn://192.18.0.87/astar
svn://192.18.0.87/test
如果需要svn自启动,把命令加入/etc/rc.local中
2). 检查svn服务器是否已经启动(svn默认使用3690端口):netstat -an | grep 3690
3). 停止:killall svnserve
来源: http://blog.163.com/arm_linux_learn/blog/static/19215530820122535110390/
http://www.cnblogs.com/wuhou/archive/2008/09/30/1302471.html
http://www.cnblogs.com/macula/archive/2012/02/12/2347637.html