您的位置:首页 > 其它

svn 服务器搭建及常用命令

2014-04-13 23:18 447 查看
服务器搭建步骤:

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:

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

[/]
* = r
yangyz = rw

[/Documents]
* = r
yangyz = rw
pengcp = rw

[/Management]
* = r
yangyz = rw
pengcp = rw

[/Sources]
* = rw

[/Bin]
* = r
yangyz = rw
pengcp = 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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: