CentOS7下安装SVN服务

来源:互联网 发布:淘宝怎么退货手机版 编辑:程序博客网 时间:2024/06/05 09:25

CentOS7下自带svn,不需要下载安装,使用命令查看svn版本
[root@localhost /]# svn - -version

如果没有svn,则安装svn,使用yum命令
[root@localhost /]# yum install subversion

首先在/opt下面见一个名为svn的文件夹,在svn中在新建一个名为tshop的文件夹,这个文件夹为svn的仓库,之后提交上来的代码都集中的放在这里。
[root@localhost /]# cd /opt
[root@localhost opt]# mkdir svn/tshop

执行下面命令,会发现多了几个文件
[root@localhost opt]# svnadmin create /opt/svn/tshop
[root@localhost opt]# ls svn/tshop
conf db format hooks locks README.txt

接下来修改配置文件,配置文件在conf目录中,其中有三个配置文件
[root@localhost opt]# cd svn/tshop/conf
[root@localhost conf]# ls
authz passwd svnserve.conf

依次修改配置文件:passwd
[root@localhost conf]# vi passwd
这里写图片描述
添加两个用户并设置密码
test1=123456
test2=123456

修改配置文件:authz
[root@localhost conf]# vi authz
这里写图片描述
注释解释:
文件内容上半部分是注释,讲解authz的相关配置方法。大致内容就是该文件可以对普通一个用户、定义的一个用户组或所有的用户进行权限配置。其中用户组通过在[group]这一节定义。随后在设置用户权限的时候,定义在某用户组的用户则用“@用户组名”表示,所有用户通过’*’来表示。注意:该文件中出现的所有用户名都需要在passwd文件中定义过了。
用户的权限就分只读(‘r’)、读写(’rw’)和禁止访问(”)。
这里要补充说明的是authz文件中对版本库路径的表示方法。用’[/]’来表示版本库的根目录,如果有子目录foo,设置该目录权限时用’[/foo]’即可,其他任何目录都以’/’为版本根目录进行表示。

举例说明: 版本库根目录下有3个子目录,分别为file1,file2, file3。不同用户有着不同的读写权利
添加三个用户并设置密码
[users]
user1= pw1
user2= pw2
user3= pw3

定义一个用户组,来表示user1,user2
[groups]
group1= user1,user2

定义所有用户对整个目录有读写权限
[/]
* = rw

设置该用户组的用户对该目录只有只读的权限
[/file1]
@group1= r

该用户组的用户不能读取子目录file2
[/file2]
@group1=

可见,设置用户权限的时候,’=’左侧代表用户名称,可以是实际用户名,也可以是定义的用户组名,但要用’@’作为前缀,或者是所有用户’*’。’=’右侧代表设置的权限’r’、’rw’或者为空即代表用户对于该目录无任何权限。

再次我们的配置文件修改为
test1=rw
test2=rw
意思为在根目录下[]两个用户均有读写权,

*=
意思为所有用户对子目录没有读取的权利

修改配置文件:svnserve.conf
[root@localhost conf]# vi svnserve.conf
这里写图片描述
打开下面的5个注释,并注意前面不能有空格,可能出错
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /opt/svn/tshop # 认证空间名,版本库所在目录

启动svn服务,-d表示守护进程, -r 表示在后台执行
[root@localhost conf]# svnserve -d -r /opt/svn/tshop(启动)
[root@localhost conf]#killall svnserve(停止)

查看进程
[root@localhost conf]# ps -ef|grep svnserve
[root@localhost conf]# kill -9 **

原创粉丝点击