SVN 搭建及使用

来源:互联网 发布:php twitter 登陆sdk 编辑:程序博客网 时间:2024/06/04 18:19

搭建SVN

查看系统环境

1)查看系统版本

[root@node-005 ~]# cat /etc/redhat-releaseCentOS release 6.8 (Final)

2)查看系统全部信息

[root@node-005 ~]# uname -aLinux node-005 2.6.32-642.15.1.el6.x86_64 #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
3)查看系统内核

[root@node-005 ~]# uname -r2.6.32-642.15.1.el6.x86_64


安装SVN

1、修改yum仓库配置(可不做,我这里做事保留SVN安装包)

[root@node-005 ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf[root@node-005 ~]# grep keepcache /etc/yum.conf    #rpm包不删除keepcache=1[root@node-005 ~]# yum -y install subversion


2、查找查找SVN安装包

[root@node-005 ~]# find / -name subversion-1.6.11-15.el6_7.x86_64.rpm/var/cache/yum/x86_64/6/base/packages/subversion-1.6.11-15.el6_7.x86_64.rpm[root@node-005 ~]# tree /var/cache/yum/x86_64/6/base/packages//var/cache/yum/x86_64/6/base/packages/├── apr-1.3.9-5.el6_2.x86_64.rpm├── apr-util-1.3.9-3.el6_0.1.x86_64.rpm├── libproxy-0.3.0-10.el6.x86_64.rpm├── libproxy-bin-0.3.0-10.el6.x86_64.rpm├── libproxy-python-0.3.0-10.el6.x86_64.rpm├── neon-0.29.3-3.el6_4.x86_64.rpm├── pakchois-0.4-3.2.el6.x86_64.rpm├── perl-URI-1.40-2.el6.noarch.rpm├── subversion-1.6.11-15.el6_7.x86_64.rpm└── tree-1.5.3-3.el6.x86_64.rpm  0 directories, 10 files[root@node-005 packages]# rpm -aq subversionsubversion-1.6.11-15.el6_7.x86_64

配置并启动SVN

1、创建SVN版本库根目录(svndata)及密码权限目录(svnpasswd

[root@node-005 ~]# mkdir -p /application/svndata[root@node-005 ~]# mkdir -p /application/svnpasswd[root@node-005 ~]# tree /application/svn*/application/svndata/application/svnpasswd  0 directories, 0 files

2、启动SVN服务指定服务的SVN根目录

[root@node-005 ~]# svnserve -d -r /application/svndata/ # -d 后台运行;-r 指定运行目录

注:查看svnserver命令帮助

[root@node-005 ~]# svnserve --help用法: svnserve [-d | -i | -t | -X] [options]有效选项:  -d [--daemon]            : 后台模式  -i [--inetd]             : inetd 模式  -t [--tunnel]            : 隧道模式  -X [--listen-once]       : 监听一次方式(调试用)  -r [--root] ARG          : 服务的根目录  -R [--read-only]         : 强制只读;覆盖版本库配置文件  --config-file ARG        : 从文件 ARG 读取配置  --listen-port ARG        : 监听端口                             [方式: daemon, listen-once]  --listen-host ARG        : 监听主机名称或IP地址                             [方式: daemon, listen-once]  -T [--threads]           : 使用线程代替进程 [方式: daemon]  --foreground             : 在前台运行(调试用)                             [方式: daemon]  --log-file ARG           : svnserve 日志文件  --pid-file ARG           : 写进程 PID 到文件 ARG                             [方式: daemon, listen-once]  --tunnel-user ARG        : 隧道用户名(默认是当前UID对应的用户名)                             [方式: tunnel]  -h [--help]              : 显示本帮助  --version                : 显示程序版本信息


3、查看服务是否启动

1)查看进程

[root@node-005 ~]# ps -ef |grep svnroot      67481  0 15:25 ?        00:00:00 svnserve -d -r /application/svndata/root      67526658  0 15:34 pts/0    00:00:00 grep svn

2)查看端口

[root@node-005 ~]# netstat -lntupActive Internet connections (only servers)Proto Recv-Q Send-Q Local AddressForeign AddressState       PID/Program name  tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748/svnserve      tcp        00 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5217/mysqld        tcp        00 0.0.0.0:210.0.0.0:*                   LISTEN      2160/vsftpd        tcp        00 0.0.0.0:220.0.0.0:*                   LISTEN      5581/sshd          tcp        00 127.0.0.1:6310.0.0.0:*                   LISTEN      1315/cupsd         tcp        00 127.0.0.1:250.0.0.0:*                   LISTEN      1905/sendmail      tcp        0  0 :::80                       :::*                        LISTEN      1925/httpd         tcp        00 :::22:::*                        LISTEN      5581/sshd          tcp        00 ::1:631:::*                        LISTEN      1315/cupsd         udp        00 0.0.0.0:6310.0.0.0:*1315/cupsd

3):已知端口号查看进程

[root@node-005 ~]# lsof -i tcp:3690COMMAND   PID USERFD   TYPE DEVICE SIZE/OFF NODE NAMEsvnserve 6748 root    3u  IPv448866      0t0  TCP *:svn (LISTEN)[root@node-005 ~]# netstat -lntup |grep 3690tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748/svnserve

创建SVN版本库

1、新的Subversion项目

1)创建一个新的Subversion项目(版本库)

[root@node-005 ~]# svnadmin create /application/svndata/sadoc[root@node-005 ~]# ll /application/svndata/sadoc/总用量 24drwxr-xr-x 2 root root 4096 4月  20 15:47 confdrwxr-sr-x 6 root root 4096 4月  20 15:47 db-r--r--r-- 1 root root    2 4月  20 15:47 formatdrwxr-xr-x 2 root root 4096 4月  20 15:47 hooksdrwxr-xr-x 2 root root 4096 4月  20 15:47 locks-rw-r--r-- 1 root root  229 4月  20 15:47 README.txt
2)查看帮助

[root@node-005 ~]# svnadmin --help一般用法: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]使用“svnadmin help <subcommand>” 得到子命令的帮助信息。使用“svnadmin --version”查看程序的版本号和文件系统模块。  可用的子命令:   crashtest   create   deltify   dump   help (?, h)   hotcopy   list-dblogs   list-unused-dblogs   load   lslocks   lstxns   pack   recover   rmlocks   rmtxns   setlog   setrevprop   setuuid   upgrade   verify  [root@node-005 ~]# svnadmin help createcreate: 用法: svnadmin create REPOS_PATH  在 REPOS_PATH 创建一个新的空版本库。  有效选项:  --bdb-txn-nosync         : 在提交事务时禁用fsync [BDB]  --bdb-log-keep           : 禁用自动删除日志文件 [BDB]  --config-dir ARG         : 从目录 ARG 读取用户配置文件  --fs-type ARG            : 版本库类型: “fsfs”(默认)或“bdb”  --pre-1.4-compatible     : 使用与1.4之前版本兼容的格式  --pre-1.5-compatible     : 使用 Subversion 1.5 之前版本的格式  --pre-1.6-compatible     : 使用与 1.6 之前版本兼容的格式

2、仓库用户权限配置

1)配置允许用户solin读写访问

①备份配置文件

[root@node-005 ~]# cd /application/svndata/sadoc/conf/[root@node-005 conf]# /bin/cp svnserve.conf svnserve.conf.solin$(date +%F)

②过滤要修改的配置

[root@node-005 conf]# egrep "\-access|\-db =" svnserve.conf# anon-access = read# auth-access = write# password-db = passwd# authz-db = authz

③修改后的参数(可以用sed替换,也可用vi/vim直接修改)

[root@node-005 conf]# egrep "\-access|\-db =" svnserve.conf# anon-access = none   #不允许匿名访问# auth-access = write  #允许可写# password-db = /application/svnpasswd/passwd  #密码数据库,存放SVN吗# authz-db = /application/svnpasswd/authz      #控制权限的数据库

另:修改后对比

[root@node-005 conf]# egrep "\-access|\-db =" svnserve.conf# anon-access = readanon-access = none# auth-access = writeauth-access = write# password-db = passwdpassword-db = /application/svnpasswd/passwd# authz-db = authzauthz-db = /application/svnpasswd/authz[root@node-005 conf]# diff svnserve.conf.solin2017-04-20 svnserve.conf12a13> anon-access = none13a15> auth-access = write20a23> password-db = /application/svnpasswd/passwd27a31> authz-db = /application/svnpasswd/authz

3、配置authzpasswd证书文件

1)把密码证书文件模板复制到相关目录并修改文件权限

[root@node-005 conf]# cp authz passwd /application/svnpasswd/[root@node-005 conf]# ll /application/svnpasswd/总用量 8-rw-r--r-- 1 root root 1080 4月  20 17:22 authz-rw-r--r-- 1 root root  309 4月  20 17:22 passwd[root@node-005 conf]# chmod 700 /application/svnpasswd/*[root@node-005 conf]# ll /application/svnpasswd/总用量 8-rwx------ 1 root root 1080 4月  20 17:22 authz-rwx------ 1 root root  309 4月  20 17:22 passwd

2authzpasswd的配置

vi /application/svnpasswd/authz

添加如下:[groups]bd_sa = solin,test# [/foo/bar][sadoc:/]# [repository:/baz/fuz]@bd_sa = rwtest1 = r

vi /application/svnpasswd/passwd添加如下:[users]solin = bdyuntest = bdyun

4、重启SVN

[root@node-005 conf]# pkill svnserve[root@node-005 conf]# ps -ef |grep svnroot      68326658  0 17:52 pts/0    00:00:00 grep svn[root@node-005 conf]# svnserve -d -r /application/svndata/[root@node-005 conf]# ps -ef |grep svnroot      68341  0 17:52 ?        00:00:00 svnserve -d -r /application/svndata/root      68366658  0 17:52 pts/0    00:00:00 grep svn


0 0
原创粉丝点击