SVN服务器部署(http方式)

Svn服务器部署

svn简介

Subversion是一个免费/开源的版本控制系统, Subversion 能够跨越时间地对文件和目录, 以及它们的修改进行管理. 这就容许你恢复 数据的旧版本, 或检查数据的修改历史. 因为这个特色, 不少人把版本控制系统 当作是一种 “时间机器”.

Svn的组件

  1. svn 客户端命令行工具
  2. svnversion 用于报告工做副本状态 (就项目的版本号而言) 的工具
  3. svnlook能够直接检查仓库的工具
  4. svnadmin 用于建立, 调整或修复 Subversion 仓库的工具
  5. mod_dav_svn Apache HTTP 服务器插件, 该插件容许用户经过网络访问仓库
  6. svnserve 一个定制的, 可独立运行的服务器程序, 能够以守护进程方式运行, 也能够被 SSH 调用, 这是另外一种容许用户经过网络访问仓库的方法
  7. svndumpfilter 过滤 Subversion 仓库转储数据流的程序
  8. svnsync 能够跨越网络对仓库进行增量镜像备份的程序
  9. svnrdump 能够跨越网络对仓库历史进行转储和加载的程序
  10. svnmucc 该工具支持在没有工做副本的状况下, 在一个单独的提交中对多个 仓库执行基于 URL 的操做

    Svn 服务端运行方式

    • 独立服务器访问s svn://svn.server.net/svn_test
    • 借助apache等http服务 http://svn.server.net/svn_test
    • 本地文件 file:///svn_test

      经常使用Svn软件工具

      windows

  11. server端VisualSVN
  12. client端TrotoiseSVN

    linux

  13. subversion

基础环境

  • Centos7.4 x86_64

subversion软件安装

yum install subversion mod\_svn_dav httpd

Svn服务器部署

  • 库目录/home/SVN_REPO
  • 账号验证文件目录/etc/subversion
  • 访问路径http://ip_address/svn/

    建立密码验证文件

    示例建立user01的svn用户

    cd /etc/subversion
    htpasswd -c svnuser user01linux

    htpasswd命令用法

  • -c:建立一个加密文件;
  • -n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;
  • -m:默认采用MD5算法对密码进行加密;
  • -d:采用CRYPT算法对密码进行加密;
  • -p:不对密码进行进行加密,即明文密码;
  • -s:采用SHA算法对密码进行加密;
  • -b:在命令行中一并输入用户名和密码而不是根据提示输入密码;
  • -D:删除指定的用户。
    示例
    利用htpasswd命令添加用户 (用户user01,密码123456)

    htpasswd -bc svnuser user01 123456算法

    在原有密码文件中增长下一个用户(更新用户密码与之相同)

    htpasswd -b svnuser user02 123456apache

    删除一个用户

    htpasswd -D svnuser user02windows

修改httpd配置

不一样的系统路径略有不一样

vi /etc/httpd/conf.modules.d/10-subversion.conf服务器

<location /svn>
  DAV svn
  SVNListParentPath On
  SVNParentPath /home/SVN_REPO/
  AuthType Basic
  AuthName "Authorization Realm"
  AuthUserFile /etc/subversion/svnuser
  Require valid-user
  <IfModule mod_authz_svn.c>
  #AuthzSVNAccessFile /etc/httpd/authz
  AuthzSVNReposRelativeAccessFile authz
  </IfModule>
</location>

建立svn库

建立一个名为svn_test库
cd /home/SVN_REPO
svnadmin create svn_test

配置访问权限

添加user01对svn_test根目录读写权限
cd /home/SVN_REPO/svn_test/conf
vi authz
[svn_test:/]
user01 = rw

authz权限文件语法

[<仓库名称>:<仓库路径>] 
内容 ==书写方式
用户名 = 权限(r, rw) user01 = r
或者:
@组名 = 权限(r, rw) @group = r
相关文章
相关标签/搜索