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
centos6.5环境下svn服务器和客户端配置实用详解的更多相关文章
- SVN服务器搭建和配置使用详解
SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...
- Mac 环境下svn服务器的配置
Mac 环境下svn服务器的配置 本文目录 • 一.创建代码仓库,用来存储客户端所上传的代码 • 二.配置svn的用户权限 • 三.使用svn客户端功能 在Windows环境中,我们一般使用Torto ...
- window系统下SVN服务器和客户端的搭建和使用
SVN服务器下载地址: http://subversion.apache.org/packages.html 这里我选用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用 ...
- Windows环境下svn服务器的安装步骤
做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理. 下载SVN服务器 下载地址是:http://subversion.apache.org/pa ...
- Windows下SVN服务器及客户端的使用
原文地址:windows下配置VisualSVN Server服务器 作者:Deem_passion 下载安装文件: 服务端安装文件:VisualSVN-Server-1.6.2 客户端安装文件:To ...
- [Linux]Linux下rsync服务器和客户端配置
一.rsync简介 Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异( ...
- Linux 下 svn 场景实例及常用命令详解
一.SVN使用场景实例 问题: 在使用svn做为版本控制系统的软件开发中,经常会有这样的需求:在工作复本目录树的不同目录中增加了很多文件,但未纳入版本控制系统,这时如果使用svn add命令一个一个的 ...
- win10环境下安装Ubantu双系统(超详解)
win10环境下安装Ubantu双系统 1.准备工作: 先去ubantu官网(https://www.ubuntu.com/download)去下载ubantu镜像.根据自己的实际情况选择32位的或者 ...
- Centos6.4环境下DNS服务器的搭建
DNS服务器搭建很繁琐吗?给你个简单的招吧! 配置域主服务器 阶段: 1.在bind的主配置文件中添加该域 2.在/var/named中创建该域的zone文件 3.编辑zone文件,添加需要的信息 4 ...
随机推荐
- Linux 常用命令——which, whereis, locate, find
转载请注明出处:http://blog.csdn.net/drecik__/article/details/8455399 1. which 查找使用命令所在的位置 2. whereis 搜索文件,跟 ...
- WCF开发实战系列四:使用Windows服务发布WCF服务
WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本 ...
- python字典遍历的几种方法
(1)遍历key值 >>> a {'} >>> for key in a: print(key+':'+a[key]) a:1 b:2 c:3 >> ...
- Python字符编码以及循环机制介绍
Python字符编码以及循环机制介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为一名运维人员就得不断的学习,那么如何身为运维的你是否已经嗅探已经很火的Python编程啦?大 ...
- JVM总结(四):JVM类加载机制
这一节我们来总结一下JVM类加载机制.具体目录如下: 类加载的过程 类加载过程概括 说说引用 详解类加载全过程: 加载 验证 准备 解析 初始化 虚拟机把描述类的数据从Class文件加载到内存,并对数 ...
- 关于spring事务
https://www.cnblogs.com/caoyc/p/5632963.html 这一篇博客讲的很清楚,一些参数和事务的概念 在serveice层中 每个方法都要写上关于事务的注解.这两个 ...
- JSTL中forEach标签应用示例【转】【补】
forEach样例 <%@ page language="java" import="java.util.*" pageEncoding="ut ...
- servlet 获取 post body 体用流读取为空的问题【转】
引用自: http://www.zicheng.net/article/982028.htm 目前基于rest风格的很多API开始使用通过body data来传输来代替之前的key-value传输方式 ...
- Request库学习
0x00前言 这库让我爱上了python 碉堡! 开心去学了一些python,然后就来学这个时候神库~~ 资料来源:http://cn.python-requests.org/en/latest/u ...
- 矩阵乘法np.dot()及np.multipy()区别
1. 线性代数中矩阵乘法: np.dot() import numpy as np # 2 x 3 matrix1 = np.array([[1, 2, 3], [4, 5, 6]]) # 3 ...