在Linux上安装SVN、创建SVN仓库、配置账号/权限/提交时自动更新

鸿辰 SVN 1.56 K 0

安装SVN

yum install subversion -y

安装完成后,可使用 svnversion --version 检测是否安装完成,出现版本号即安装成功。

创建SVN仓库

创建仓库使用的是svnadmin 命令,如创建test仓库,命令如下:

svnadmin create test

执行完成后,会在当前目录下生成test的仓库信息,如果需要创建到指定位置,将test改为指定路径即可。

配置SVN仓库账号与权限

这里推荐使用权限组进行管理,下面做简单的演示。

  • 第一步:配置仓库用户的账号密码

    切换至仓库的配置目录

    cd test/conf/

    编辑passwd文件,此文件为账号和密码的配置文件

    vim passwd

    提示: 如果没有vim命令,可执行yum install vim -y 安装。
    在文件中,可以看到
    在Linux上安装SVN、创建SVN仓库、配置账号/权限/提交时自动更新-第1张图片-鸿辰个人分享站
    此部分为填写账号和密码的位置,配置格式为

    账号 = 密码

    如添加用户martinsun,密码为123456,如下配置即可:
    在Linux上安装SVN、创建SVN仓库、配置账号/权限/提交时自动更新-第2张图片-鸿辰个人分享站

  • 第二步:配置用户组与权限

    编辑authz文件,此文件为用户组和权限的配置文件

    vim authz

    为了方便说明,在文件中做了如下配置:
    在Linux上安装SVN、创建SVN仓库、配置账号/权限/提交时自动更新-第3张图片-鸿辰个人分享站

    说明:

    • [groups]为用户组配置,在上图中,admin为用户组名称,等号后面为用户账号,多个以逗号分割。
    • [/] 此处表示为仓库内容的根目录,第一行的 @admin 代表的是上面的admin用户组,不加@符号代表的是用户账号,等号后面为权限,rw 表示读写权限; 第二行的 * =, 表示除了以上配置的用户组和成员,其他成员均无权限,需要注意的是,该项配置必须在最后!!!
  • 第三步:使配置生效

    编辑svnserve.conf文件,此文件为当前仓库的配置文件

    vim svnserve.conf

    在文件中,需要修改如下几个地方
    在Linux上安装SVN、创建SVN仓库、配置账号/权限/提交时自动更新-第4张图片-鸿辰个人分享站

    说明:取消上图中红框中的注释,将 anon-access = read 改为 anon-access = none,表示未授权的用户无权限访问仓库。

检出仓库至服务器上指定目录

可讲仓库检出到服务器上,如检出到 /web/test:

# 假设仓库存放在 /server/svnrepos/test
svn co file::///server/svnrepos/test/ /web/test

配置SVN自动更新

自动更新基于hook实现,需要切换至仓库的hooks目录
在目录中,执行下面的命令复制一个提交事件的文件配置

cp post-commit.tmpl post-commit

编辑post-commit文件在末尾加入

export LANG=zh_CN.UTF-8
svn up /web/test

赋予可执行权限

chmod +x post-commit

到此,SVN仓库的搭建与配置全部完成~