当前位置: 首页 > news >正文

centos6.5环境下svn服务器和客户端配置实用详解

一、服务器端配置


安装
# yum install -y subversion
yum安装软件,不清除软件包的方法


# vim /etc/yum.conf
keepcache=0


建立svn版本库数据存储根目录svndata及用户、密码权限目录svnpasswd
# mkdir -pv /application/svndata
# mkdir -pv /application/svnpasswd


启动服务
# svnserve -d -r /application/svndata/
验证服务是否正常启动
# ps -ef | grep svn
# lsof -i :3690


建立项目管理库
# svnadmin create /application/svndata/sadoc
# tree /application/svndata/
/application/svndata/
└── sadoc
    ├── conf
    │   ├── authz
    │   ├── passwd
    │   └── svnserve.conf
    ├── db
    │   ├── current
    │   ├── format
    │   ├── fsfs.conf
    │   ├── fs-type
    │   ├── 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.lock
    │   └── db-logs.lock
    └── README.txt


11 directories, 28 files



修改配置
# cd /application/svndata/sadoc/conf
# cp svnserve.conf svnserve.conf.bak
修改配置文件
# vim svnserve.conf 


anon-access = none # 关闭匿名访问
auth-access = write
password-db = /application/svnpasswd/passwd
authz-db = /application/svnpasswd/authz


验证修改是否成功
# diff svnserve.conf svnserve.conf.bak 
12,13c12,13
< anon-access = none
< auth-access = write
---
> # anon-access = read
> # auth-access = write
20c20
< password-db = /application/svnpasswd/passwd
---
> # password-db = passwd
27c27
< authz-db = /application/svnpasswd/authz
---
> # authz-db = authz


# cp passwd authz /application/svnpasswd/

# cd /application/svnpasswd

# chmod 700 *
# ll
total 8
-rwx------ 1 root root 1080 Jun 27 15:35 authz
-rwx------ 1 root root  309 Jun 27 15:35 passwd


增加访问svn用户信息
# vim passwd 



编辑用户权限
# vim authz
sagroup = jack,xiaoming
[/]
jack = rw
xiaoming = r

@sagroup = r


配置SVN服务器的HTTP支持

svn作为独立服务器或借助apache服务的两种方式,可同时使用。
安装apache服务
# yum install -y httpd
(1)转换SVN服务器的密码
因为svn密码为明文,http不支持明文.需要生成一个webpasswd文件,首次创建new的webpass文件用-c。


#/application/svnpasswd
# htpasswd -c webpasswd jack
根据提示输入密码即可


目录下会多一个webpasswd文件。
注意如果需要,多次加入用户,则用htpasswd -m
#htpasswd -m webpasswd tom


(2)配置apache



# vim /etc/httpd/conf/httpd.conf

Listen 9000

在最后添加如下信息:

<Location /svn>  
DAV svn  
SVNPath /application/svndata/sadoc/
AuthType Basic  
AuthName "svn for project"  
AuthUserFile /application/svnpasswd/webpasswd   
AuthzSVNAccessFile /application/svnpasswd/authz
Satisfy all  
Require valid-user  
</Location>  

(3)重启httpd
#/etc/init.d/httpd restart
出现Unknown DAV provider: svn的错误,是因为系统没有安装mod_dav_svn,它是Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)。

#yum install mod_dav_svn    //使subversion与dav模块通信的功能

#yuminstall mod_authz_svn  //实现权限控制功能

再重启即可。


(4)使用浏览器访问http://192.168.8.39:9000/svn/
继续报错:You don't have permission to access /svn/ on this server
查看日志发现是没有权限访问authz认证文件
# tail /var/log/httpd/error_log 
[Tue Jun 28 19:34:45 2016] [error] [client 192.168.50.18] (13)Permission denied: Failed to load the AuthzSVNAccessFile: Can't open file '/application/svnpasswd/authz': Permission denied

修改认证文件访问权限即可
# chmod 744 /application/svnpasswd/authz
若单独设置端口号,网址为http://IP地址:端口/svn。


二、客户端配置

windows环境客户端

下载并安装TortoiseSVN 1.9.2


svn客户端连接服务器的方式,账号及密码:
svn://192.168.8.39/sadoc
用户名:jack
密码:jack123


windows中存放svn信息的路径:

%APPDATA%\Subversion\auth


svn.simple 里面包含了基本认证方式所需要的认证信息,包括用户名密码信息
svn.ssl.server 里面包含了ssl服务器证书
svn.username 包含了用户名认证的认证信息


下载更新
SVN服务器有新的文件发布或者修改,本地文件库从SVN服务器更新;在本地文件库中,在空白处右键鼠标,点击SVN Update 

可以清除配置:



上传更新
从本地文件库有的新的文件发布或者修改需要更新到SVN服务器;在本地文件库中,在空白右键鼠标,点击SVN Commit



linux客户端

从svn库提取数据
# mkdir /svndata
[root@node3 ~]# svn co svn://192.168.8.39/sadoc/ /svndata/ --username=jack --password=jack123

转载于:https://www.cnblogs.com/reblue520/p/6239777.html

相关文章:

  • python 字典(dict)按键和值排序
  • url获取数据
  • 如何绘制caffe网络训练曲线
  • 日志分析系统——Hangout源码学习
  • spring boot 调试 - 热部署
  • 阿里云服务器Linux CentOS安装配置(零)目录
  • 数据结构 树 相关面试试题
  • zabbix Maintenance维护周期
  • [CentOs7]图形界面
  • Kafka问题排查(消费者自动关闭)
  • 手把手之STM32GPIO
  • iOS 读取plist 方法
  • json恶补
  • mybatis实战教程(mybatis in action)之三:实现数据的增删改查
  • 在代码中修改TextView的DrawableRight图片
  • Debian下无root权限使用Python访问Oracle
  • ES6系统学习----从Apollo Client看解构赋值
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JavaScript 基础知识 - 入门篇(一)
  • java多线程
  • Magento 1.x 中文订单打印乱码
  • webgl (原生)基础入门指南【一】
  • 大数据与云计算学习:数据分析(二)
  • 基于 Babel 的 npm 包最小化设置
  • 日剧·日综资源集合(建议收藏)
  • 小而合理的前端理论:rscss和rsjs
  • Java数据解析之JSON
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #include
  • #QT项目实战(天气预报)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)bark-ml
  • (附源码)ssm高校实验室 毕业设计 800008
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (四)图像的%2线性拉伸
  • (算法)求1到1亿间的质数或素数
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)大道至简,职场上做人做事做管理
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net7 环境安装配置
  • .net程序集学习心得
  • .skip() 和 .only() 的使用
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [AIGC codze] Kafka 的 rebalance 机制
  • [Android]Android开发入门之HelloWorld