• 欢迎访问金笔头博客,这是一个菜鸟(伪)程序员的自留地,欢迎访问我的github:点击进入

CentOS安装并配置SVN Server

Centos eason 1439次浏览 0个评论 扫描二维码

安装SVN

# sudo yum install subversion

验证安装是否成功

# svn --version
svn,版本 1.7.14 (r1542130)
   编译于 Nov 20 2015,19:25:09

版权所有 (C) 2013 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。

可使用以下的版本库访问模块: 

* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。
  - 处理“http”方案
  - 处理“https”方案
* ra_svn : 使用 svn 网络协议访问版本库的模块。  - 使用 Cyrus SASL 认证
  - 处理“svn”方案
* ra_local : 访问本地磁盘的版本库模块。
  - 处理“file”方案

设置开机启动

systemctl enable svnserve.servicesystemctl enable svnserve

创建版本库目录

在使用SVN之前,你需要定义好版本库的结构,对于小团队或者个人开发者而言,一个版本库就够了,如果你需要多个版本库,你需要对每个库都重复下面的操作。

  • 新建目录
    # sudo mkdir -p /opt/svn/ses
    
  • 创建版本仓库
    # sudo svnadmin create /opt/svn/ses
    
    conf 存放版本库的配置文件,包括authz,passwd,svnserve.conf
    db 存放着 Subversion 所要管理的所有受版本控制的数据,不同的存储方式(Berkeley DB或者 FSFS)下有着不同的目录结构,不过我们一般不用直接修改和查看这个目录下的内容,Subversion 的命令可以安全的操作这个目录。
    hooks 存放着钩子脚本及其模版(一种版本库事件触发程序)。
    locks 存放着 Subversion 版本库锁定数据。
    format 记录了版本库的布局版本号。
    README.txt 这个就不多说了,自行阅读。
    

    配置Server

  • 修改配置文件 默认情况下,svnserver会查找版本库内/conf目录下的配置文件,进入/opt/svn/ses/conf目录,编辑svnserve.conf文件,如果不存在可以先新建再编辑。
    # cd /opt/svn/ses/conf/
    # sudo vi svnserve.conf
    

    在这个文件中,我们会新建两个属性,一个是password-db,该属性指定用户密码信息保存在哪个文件中,另一个属性是realm,你可以将它看做是版本库的命名空间,它会在用户认证的时候显示出来。

    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz
    realm = ses project
    
  • 新建用户名和密码 新建两个用户分别是sesdevsestest,密码分别是sesplus2017sestest2017
    # sudo vi passwd
    [users]
    sesdev = sesplus2017
    sestest = sestest2017
    
  • 修改权限控制

[/]代表版本库根目录,也就是/opt/svn/ses目录

# sudo vi authz
[groups]
dev = sesdev
test = sestest
[/]
@dev = rw
@test = r
* =

以上配置的含义是sesdev用户对版本库根目录下所有文件具有可读可写权限,sestest只有可读权限,除此之外,其他用户无任何权限,最后一行* =很重要。

启动Server

# svnserve -d -r /opt/svn/ses

-d参数将它作为后台(后台进程)启动。-r参数将服务器指向我们先前创建的存储库的文件系统位置。

停止SVN server

# killall svnserve

基本测试

  • checkout
    # svn co svn://106.xx.xxx.xxx
    

    checkout的时候,会要求输入用户名密码,只有在passwd文件中配置了的用户才能验证通过

  • 查看信息
    # svn info
    
  • 增/删
    # svn add filename / svn del filename
    

金笔头博客, 版权所有丨如未注明 , 均为原创, 转载请注明CentOS安装并配置SVN Server
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址