SVN搭建

**环境准备

[root@lb01 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@lb01 ~]# uname -r
2.6.32-696.el6.x86_64

安装SVN

yum install -y subversion
[root@lb01 ~]# rpm -qa subversion
subversion-1.6.11-15.el6_7.x86_64

配置SVN并启动SVN
建立SVN版本库数据存储根目录svndata和用户,密码权限目录svnpasswd

[root@lb01 ~]# mkdir -p /application/svndata  #创建数据存储目录
[root@lb01 ~]# mkdir -p /application/svnpasswd #创建密码和授权目录

[root@lb01 ~]# svnadmin create /application/svndata/sadoc  #初始化SVN项目目录
[root@lb01 ~]# tree /application/svndata/  #查看刚刚初始化的创建有哪些东西
/application/svndata/
`-- sadoc
    |-- README.txt
    |-- conf    #配置文件目录
    |   |-- authz
    |   |-- passwd
    |   `-- svnserve.conf
    |-- db
    |   |-- current
    |   |-- format
    |   |-- fs-type
    |   |-- fsfs.conf
    |   |-- min-unpacked-rev
    |   |-- rep-cache.db
    |   |-- revprops
    |   |   `-- 0
    |   |       `-- 0
    |   |-- revs
    |   |   `-- 0
    |   |       `-- 0
    |   |-- transactions
    |   |-- txn-current
    |   |-- txn-current-lock
    |   |-- txn-protorevs
    |   |-- uuid
    |   `-- write-lock
    |-- format
    |-- hooks
    |   |-- post-commit.tmpl
    |   |-- post-lock.tmpl
    |   |-- post-revprop-change.tmpl
    |   |-- post-unlock.tmpl
    |   |-- pre-commit.tmpl
    |   |-- pre-lock.tmpl
    |   |-- pre-revprop-change.tmpl
    |   |-- pre-unlock.tmpl
    |   `-- start-commit.tmpl
    `-- locks
        |-- db-logs.lock
        `-- db.lock
[root@lb01 ~]# cd /application/svndata/sadoc/conf/  #进入配置目录
[root@lb01 conf]# cp svnserve.conf svnserve.conf.ori   #修改配置文件备份原来的配置文件
[root@lb01 conf]# vim svnserve.conf
 12 anon-access = none   #修改anon-access参数,参数解释:能不能允许匿名访问,none为不可以。
 13 auth-access = write  #认证访问,设置为可写
 20 password-db = /application/svnpasswd/passwd   #密码文件路径
27 authz-db = /application/svnpasswd/authz     #授权文件路径 放在统一路径到时候多个项目可以方便以后管理

[root@lb01 conf]# cp authz passwd /application/svnpasswd/  #把配置目录中的authz 和passwd拷贝到刚刚设置的路径
[root@lb01 conf]# svnserver --help  #查看帮助
-bash: svnserver: command not found
[root@lb01 conf]# svnserve --help
svnserve: warning: cannot set LC_CTYPE locale
svnserve: warning: environment variable LANG is en
svnserve: warning: please check that your locale name is correct
usage: svnserve [-d | -i | -t | -X] [options]

Valid 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  #监听的端口默认3690
                             [mode: daemon, listen-once]
  --listen-host ARG        : listen hostname or IP address  #监听的主机和IP
                             [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  #PID文件
                                   [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  #版本
[root@lb01 conf]# svnserve -d -r /application/svndata/
svnserve: warning: cannot set LC_CTYPE locale
svnserve: warning: environment variable LANG is en
svnserve: warning: please check that your locale name is correct
这是一个 LANG环境变量导致的问题,如果使用中文的字符集不会出现这种情况,也不影响SVN使用,也可以使用下面的source设置一下就不会提示
[root@lb01 conf]# source /etc/sysconfig/i18n  #启动前可以使用source处理
[root@lb01 conf]# lsof -i :3690  #查看SVN的端口是否启动成功
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
svnserve 29340 root    3u  IPv4  36359      0t0  TCP *:svn (LISTEN)

刚刚svnserve.conf配置文件设置了通过passwd文件认证访问,所以编辑passwd文件添加访问用户和密码

[root@lb01 conf]# cd /application/svnpasswd/
[root@lb01 svnpasswd]# vim passwd  
[users]
**# harry = harryssecret
# sally = sallyssecret****
dayu = 123456   #(访问SVN的用户名和密码)
xiaoyu = 123456
stu001 = 123
stu002 = 456

由于SVN的密码文件是明文的,可以通过ldap或者域的方式,集中管理

[root@lb01 svnpasswd]# vim authz  #用户权限的授权配置
 20 
 21 [groups]    #组
 22 ygtq = stu001,stu002
 23 
 24 [sadoc:/]    #对应初始化的项目目录,设置哪些用户可读可写。
 25 dayu = rw  #(r为读,w为写)
 26 xiaoyu = r
 27 @ygtq = r  #用户组只读

SVN服务端配置完成**

客户端在百度云提供了下载地址:
链接: https://pan.baidu.com/s/19e0f_dze56vQqrnZAFmw2w 密码: v97w
安装完客户端之后重启电脑让软件生效
SVN搭建

第一次安装有SVN Checkout字样

SVN搭建

SVN搭建
点击OK弹出要求输入账户密码
SVN搭建
输入完账户密码弹出下面提示框表示成功
SVN搭建

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章