Linux下svn服务端安装配置

早上看到一篇文章把VC(版本控制)讲的很好,狂神聊Git,SVN是集中式版本控制中心,git是分布式版本控制,Svn配置和使用;

安装svn

yum -y install subversion

输入svnserve --version 查看是否安装成功

Linux下svn服务端安装配置_第1张图片

创建版本库目录和版本库

mkdir -p /home/svn/svnrepos/ 递归创建目录

输入 svnadmin create /home/svn/svnrepos/svn-kp 创建版本库

成功后输入cd /home/svn/svnrepos/svn-kp 进入版本库

版本库内包含内容如下:

Linux下svn服务端安装配置_第2张图片

配置svn信息

输入cd conf

conf下有如下文件

Linux下svn服务端安装配置_第3张图片

 

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

vim authz 配置如下:

Linux下svn服务端安装配置_第4张图片

 [/] 代表根目录下所有的资源,如果要限定资源,可以加上子目录即可
jxl为客户端账号

rw表示赋予此账号可读写的权限

vim passwd

Linux下svn服务端安装配置_第5张图片

vim svnserve.conf

Linux下svn服务端安装配置_第6张图片

配置信息解释如下:

#匿名访问的权限,可以是read,write,none,默认为read

anon-access=none

#使授权用户有写权限

auth-access=write

#密码数据库的路径

password-db=passwd

#访问控制文件

authz-db=authz

#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/home/svn/svnrepos

开启默认3690端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent

firewall-cmd --reload #重启防火墙

启动svn

svnserve -d -r /home/svn/svnrepos

客户端访问svn服务器

右键checkout,输入地址:svn://192.168.156.3:3690/svn-kp

重启命令

查找svn进程服务:ps -ef|grep svnserve

杀掉进程: kill -9 进程ID

配置文件详解

svnserve.conf文件:

该文件由一个[general]配置段组成。格式:<配置项>=<值>

配置项分为以下5项:

    1:anon-access 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read

    2:auth-access 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write

    3:password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:passwd

    4:authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:authz

    5:realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

   服务配置文件的内容如下:

        anon-access = none

        auth-access = write

        password-db = passwd

        authz-db = authz

        realm = /home/svn/svnrepos

passwd文件:

  该文件由一个[users]配置段组成,格式:<用户名>=<口令>  注:口令为未经过任何处理的明文

服务配置文件的内容如下:

 [users]

        zl= 123456

        jxl= 123456

authz文件:

    该文件由[groups]配置段和若干版本库路径权限段组成

    [groups]配置段格式:<用户组>=<用户列表>

    用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"

    版本库路径权限段格式:

     [<版本库名>:<路径>]如版本库svn-pk路径/jxl的版本库路径权限段的段名为"[svn-kp:/jxl]"。

     可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:[/jxl]

版本库路径权限段中配置行格式有如下三种:

       <用户名> = <权限>

       <用户组> = <权限>

        * = <权限>

    其中,"*"表示任何用户;权限的取值范围为''、'r'和'rw',''表示对该版本库路径无任何权限,'r'表示具有只读权限,'rw'表示有读写权限。

注意:每行配置只能配置单个用户或用户组。

[groups]

admin = zl

user = jxl

[svn-kp:/]

@admin = rw

[svn-kp:/jxl]

@user = rw

你可能感兴趣的:(硬件/操作系统/计算机网络,运维,linux,svn)