svn服务器搭建及常用命令


服务器搭建步骤:

1.安装包
$ sudo apt-get install subversion

2.添加svn管理用户及subversion组
$ sudo adduser svnuser
$ sudo addgroup subversion
$ sudo addgroup svnuser subversion

3.创建项目目录
$ sudo mkdir /svn
$ cd /svn
$ sudo mkdir fitness
$ sudo chown -R root:subversion fitness
$ sudo chmod -R g+rws fitness

4.创建SVN文件仓库
$ sudo svnadmin create /svn/fitness

5.访问方式及项目导入:
$ svn co file:///home/svn/fitness
或者
$ svn co file://localhost/home/svn/fitness
* 注意:
如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//).

6.访问权限设置
修改 /svn/fitness/conf目录下:

svnserve.conf 、passwd 、authz三个文件,行最前端不允许有空格

编辑svnserve.conf文件:

最后除去注释的行(#号开头的)后的文件内容是
[general]
anon-access = none
password-db = passwd
authz-db = authz
[sasl]

其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。

编辑passwd 如下:
这下面的每一行代表一个用户
格式是 用户名 = 密码
比如 test账号 密码是 123456,如下配置
[users]
test = 123456
test2 = 121212

编辑authz如下:

每个路径权限以[]开始

权限内容以 a = b方式配置

1) 左值a

a是用户名(user2),也可以是用户组(@grp2),也可以是别用(&alias2)

这里用户名和用户组用到的比较多

a也可以是*,代表所有用户

2) 右值b

r代表读(read)

w代表写(write)

rw代表读写

空代表无权限

用户组配置

用户组在[groups]这一行下面配置

格式是 组名 = 成员(多个成员用逗号分隔),如

grp2 = user1,user2,user3

比如:根目录下所有人不可读写(空),组grp2读写(rw),但是user2只读(r)

在最下面新建一行
输入
[/]
* =
@grp2 = rw
user2 = r

现在创了个文件夹叫java,所有人只读(r),grp不能读写(空),但user3可以读写(rw)
打开conf/authz
在最下面新建一行
输入
[/java]
* = r
@grp2 =
user2 = rw

所有的配置都是在重启服务后生效

7.启动SVN服务:

1)启动服务
svnserve -d -r /mfsshare/svn
2)查看服务是否运行ps -ef|grep svn, 看到 svnserve -d -r /mfsshare/svn代表已经在运行
[root@cmini conf]# ps -ef|grep svn
root 2774 1 0 16:46 ? 00:00:00 svnserve -d -r /mfsshare/svn
root 14174 9352 0 22:38 pts/1 00:00:00 grep svn

3)关闭服务
在第2)步操作的结果中得到该进程的pid,一般是在所在行的第二列, 本例是 2774
输入命令,切记,不要打错数字,
kill 2774
然后操作第2)步查看是否svnserve -d -r /mfsshare/svn 不见了, 不见了说明成功关闭

重启服务
依次操作2) 和 3) 和 1)

描述说明:
-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库
如: svn://192.168.12.118/fitness

这时SVN安装就完成了.
局域网访问方式:
例如:svn checkout svn://192.168.12.118/fitness --username mirze --password 123456 /var/www/fitness

附上/conf配置

authz:

[groups]
backend = yangyz,pengcp,fengj,yijj
frontend = xugx,suncy
read = chul,hewc,wangc,yusm,zhouzc,liuq,maolf

[/]
* =
yangyz = rw

[/Documents]
* = r
yangyz = rw

[/Management]
* = r
yangyz = rw

[/Sources]
* = rw

[/Bin]
* = r
yangyz = rw

passwd:

[users]
pengcp = tx123456
fengj = tx123456
yangyz = tx123456
chul = tx123456
hewc = tx123456
liuly = tx123456
wangc = tx123456
yusm = tx123456
zhouzc = tx123456
liuq = tx123456
maolf = tx123456
suncy = tx123456
xugx = tx123456
yijj = tx123456

svnserve.conf:

[general]
anon-access = none
password-db = passwd
authz-db = authz
[sasl]


相关内容