SVN 的安装部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN 的安装部署相关的知识,希望对你有一定的参考价值。

SVN 介绍

什么是 SVN

SVN饰近几年来崛起的非常优秀的版本管理工具,于CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统

SVN 与 git 的区别

  • SVN集中式版本控制系统

  • git分布式的版本控制

SVN 服务器运行模式与访问模式

SVN服务常见的运维访问方式

  • 独立服务器访问 svn://svn.sideboy.com

  • 借助nginx等http服务 http://svn.sideboy.com

  • 本地直接访问 file:///svn.sideboy.com

SVN客户端访问方式

一般是使用某种客户端连接SVN服务器

SVN 档案库数据格式

  • BDB

  • FSFS

安装SVN服务端

yum install -y subversion

配置并启动 SVN

  • 建立SVN版本库数据存储根目录(svndata)及用户、密码权限目录(svnpasswd)

mkdir -p /application/svn/svndata
mkdir -p /application/svn/svnpasswd
  • 启动SVN服务指定的SVN根目录

svnserve -d -r /application/svn/svndata

查看服务是否启动

ps -ef|grep svnserve
root       4273      1  0 17:55 ?        00:00:00 svnserve -d -r /application/svn/svndata

svnserver的参数列表

usage: svnserve [-d | -i | -t | -X] [options]

-d [--daemon]            : daemon mode
-i [--inetd]             : inetd mode
-t [--tunnel]            : tunnel mode
-X [--listen-once]       : listen-once mode (useful for debugging)
-r [--root] ARG          : root of directory to serve
-R [--read-only]         : force read only, overriding repository config file
--config-file ARG        : read configuration from file ARG
--listen-port ARG        : listen port
                           [mode: daemon, listen-once]
--listen-host ARG        : listen hostname or IP address
                           [mode: daemon, listen-once]
-T [--threads]           : use threads instead of fork [mode: daemon]
--foreground             : run in foreground (useful for debugging)
                           [mode: daemon]
--log-file ARG           : svnserve log file
--pid-file ARG           : write server process ID to file ARG
                           [mode: daemon, listen-once]
--tunnel-user ARG        : tunnel username (default is current uid‘s name)
                           [mode: tunnel]
-h [--help]              : display this help
--version                : show program version information

创建新的工作项目目录

cd /application/svn/svndata/
mkdir -p sadoc

创建svn管理的仓库用于以后管理的文档目录

svnadmin create /application/svn/svndata/sadoc/

查看是否创建仓库成功,如果有树状则创建成功

tree ./sadoc/

./sadoc/
|-- README.txt
|-- conf
|   |-- authz
|   |-- passwd
|   `-- svnserve.conf
|-- db
.........

查看svn命令帮助的方法

svnadmin create help

查看svn创建库的帮助

svnadmin help create

create: usage: svnadmin create REPOS_PATH

Create a new, empty repository at REPOS_PATH.

Valid options:

--bdb-txn-nosync : disable fsync at transaction commit > [Berkeley DB]

--bdb-log-keep : disable automatic log file removal[Berkeley DB]

--config-dir ARG : read user configuration files

调整svn配置文件及权限

配置允许用户oldoby读写权限

编辑生成库的配置文件svndata/sadoc/conf/svnserve.conf

修改为如下内容

vi svndata/sadoc/conf/svnserve.conf

anon-access = read

auth-access = write

password-db = /application/svn/svnpasswd/passwd

authz-db = /application/svn/svnpasswd/authz

为了将生成的密码文件同一管理,将密码文件和权限文件移动到创建的svnpasswd目录中

cd svndata/sadoc/conf/  

mv authz passwd /application/svn/svnpasswd/

配置用户名以及密码

cd /application/svn/svnpasswd/

vi passwd

stu123 = 123456

stu456 = 123456

配置用户名权限

vi authz

配置组管理用户

[groups]组模块下添加

oldboy = stu123,stu456

配置管理仓库的根目录

[repository:/baz/fuz]源模块下添加

[sadoc:/]

stu123 = rw

stu456 = r

其中[sadoc:/]为仓库根目录,tu123 = rw,stu456 = r为给用户分配权限

其中管理svn服务命令

关闭服务

pkill pkill svnserve

启动服务

svnserve -d -r /application/svn/svndata


以上是关于SVN 的安装部署的主要内容,如果未能解决你的问题,请参考以下文章

SVN服务的模式和多种访问方式 多种访问原理图解与优缺点

svn 目录

svn 服务器部署

部署Svn+Apache服务器

CentOS6.7部署SVN服务器

CentOS搭建SVN服务器,并通过Apache HTTP方式访问