设为首页 收藏本站
查看: 1167|回复: 0

[经验分享] CentOS6.8下搭建SVN及使用

[复制链接]

尚未签到

发表于 2019-4-17 17:48:02 | 显示全部楼层 |阅读模式
  查看系统环境
  (1)查看系统版本

[root@node-005 ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
  (2)查看系统全部信息

[root@node-005 ~]# uname -a
Linux 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 -r
2.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 packages]# rpm -aq subversion
subversion-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/
  后台运行;-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 svn
root      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 -lntup |grep svn
tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748/svnserve     
  (3):已知端口号查看进程

[root@node-005 ~]# lsof -i tcp:3690
COMMAND   PID USERFD   TYPE DEVICE SIZE/OFF NODE NAME
svnserve 6748 root    3u  IPv448866      0t0  TCP *:svn (LISTEN)
  创建SVN版本库
1、新的Subversion项目
  (1)创建一个新的Subversion项目(版本库)

[root@node-005 ~]# svnadmin create /application/svndata/sadoc
[root@node-005 ~]# ll /application/svndata/sadoc/
总用量 24
drwxr-xr-x 2 root root 4096 4月  20 15:47 conf
drwxr-sr-x 6 root root 4096 4月  20 15:47 db
-r--r--r-- 1 root root    2 4月  20 15:47 format
drwxr-xr-x 2 root root 4096 4月  20 15:47 hooks
drwxr-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 ” 得到子命令的帮助信息。
使用“svnadmin --version”查看程序的版本号和文件系统模块。
  可用的子命令:
crashtest
create
deltify
dump
  [root@node-005 ~]# svnadmin help create
create: 用法: svnadmin create REPOS_PATH
  在 REPOS_PATH 创建一个新的空版本库。
  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 = read
anon-access = none
# auth-access = write
auth-access = write
# password-db = passwd
password-db = /application/svnpasswd/passwd
# authz-db = authz
authz-db = /application/svnpasswd/authz
[root@node-005 conf]# diff svnserve.conf.solin2017-04-20 svnserve.conf
12a13
> anon-access = none
13a15
> auth-access = write
20a23
> password-db = /application/svnpasswd/passwd
27a31
> authz-db = /application/svnpasswd/authz
  3、配置authz、passwd证书文件
  (1)把密码证书文件模板复制到相关目录并修改文件权限

[root@node-005 conf]# cp authz passwd /application/svnpasswd/
[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
  (2)authz、passwd的配置

[root@www svnpasswd]# cat /application/svnpasswd/passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
[users]
# harry = harryssecret
# sally = sallyssecret
oldboy = 123456
gongli = 123456
stu001 = 123456
stu002 = 123456
[root@www svnpasswd]# cat /application/svnpasswd/authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
#
[sadoc:/]
oldboy = rw
[sadoc:/stu001]
stu001 = rw
[sadoc:/gongli]
gongli = rw
  4、重启SVN

[root@node-005 conf]# pkill svnserve
[root@node-005 conf]# svnserve -d -r /application/svndata/
[root@node-005 conf]# ps -ef |grep svn
root      68341  0 17:52 ?        00:00:00 svnserve -d -r /application/svndata/
root      68366658  0 17:52 pts/0    00:00:00 grep svn
  Windows(客户端)安装TortoisSVN
  将文件导入到svn服务器:
  svn import /tmp/oldboy/ svn://139.199.160.55/sadoc -m "import svntree"




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-828417-1-1.html 上篇帖子: CentOS7网络调试 下篇帖子: Centos6系列Bond配置方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表