SVN版本控制系统搭建(+结合http服务)
SVN版本控制服务器搭建
Svn(subversion)是一个开源代码管理的控制系统,用来管理和存储开发的源代码,基于C/S模式。可以单独提供服务,也可以结合http服务来实现。
| 运行方式 | 运行端口 | 访问方法 |
| svn单独服务 | 3690 | svn:// |
| http结合服务 | 80 | http:// |
下面开始搭建svn服务
1.环境准备
(1)安装svn 和 apache 服务,其中mod_dav_svn是用来衔接svn和apache的。
yum –y install subversion httpd mod_dav_svn
(2)查看是否注册端口
cat /etc/services | grep svn –color
(3)创建存放版本库
mkdir /web
(4)创建web项目实例
svnadmin create /web/www.demonxian3.cn
svnadmin create /web/www.demonxian2.cn
(5)查看svn版本相关文件
可以在通过svnadmin创建的目录看到会生成一些文件。

| 目录 | 作用 |
| dav | 提供apache和mod_dav_svn使用的目录,这个要自己手动创建 |
| db | 存放版本控制的数据库文件 |
| hooks | 存放hook脚本文件 |
| locks | 存放svn监控锁定数据的目录,用来追踪存取文件库的客户端 |
| conf | 存放配置文件(用户访问账号和权限等) |
| format 文件 | 存放一个整数表示当前的文件库配置的版本 |
下面是conf目录的文件内容

| 文件 | 作用 |
| authz | 认证权限的配置 |
| passwd | 用户密码的配置 |
| svnserve | 服务器相关配置 |
2.修改配置
(1)修改svnserve服务配置
vim /web/www.demonxian3.cn/conf/svnserve.conf
下面几个字段默认都是注释的,需要把注释去掉
anao-access = read #表示匿名用户可读 值有:read write none
auth-access = write #表示认证用户可写,值同上
password-db = passwd #表示指定密码库的配置文件
authz-db = authz #表示指定认证权限配置文件
realm = www.demonxian3.cn #登录提示信息
注意上面字段必须顶格,即前面不能留空格,否则会报错
(2)修改passwd用户密码配置
vim /web/www.demonxian3.cn/conf/passwd

添加三个用户,密码均为123456
(3) 修改authz权限配置
vim /web/www.demonxian3.cn/conf/authz

在groups域 里定义一个CG组,组员有demon1,dmeon2
在 根域(自己写上的)里定义权限,CG组只有读权限,demon3可写可读,其他人无权限
3.启动服务
svnserve -d -r /web/ #-d 以守护运行 -r 以root用户运行 web 就是自己创建的软件版本库
查看端口

svn常用的命令
| import | 上传代码 |
| checkout | 下载代码 |
| update | 更新代码 |
| status | 查看状态 |
| diff | 差异检测 |
| log | 历史记录 |
| list | 显示目录 |
| cat | 查看内容 |
| resolve | 解决冲突 |
| switch | 切换版本库 |
| revert | 恢复 |
| add | 增加 |
| delete | 删除 |
| copy | 复制 |
| move | 移动 |
更多请参见http://blog.csdn.net/ithomer/article/details/6187464
4.svn服务简单的使用测试
mkdir local #创建本地开发目录 touch local/.html local/.html #创建模拟web页面 svn import /root/local/ file:///web/www.demonxian3.cn/ -m "first edit" #导入 svn checkout svn://192.168.1.112/www.demonxian3.cn/ download #取出代码

1.取代码时会弹出身份验证,默认是root用户,回车即可输入用户名和密码。
2.需要注意登录的用户需要有读取权限否则不能下载
3.取出代码后会在当前生成download目录,在里面进行相关的代码开发即可
下面模拟代码开发后的更新。
touch download/.html echo “hello world” > .html svn add .html #在svn里同步添加新文件 svn commit –m “second edit” #提交代码,这里也需要用户验证。
如果输入的账号和密码没有写入的权限,会写入失败
下面来搭建http + svn 服务
1.查看apache是否引入svn模块
vim /etc/httpd/conf.d/subversion.conf
如果看到两个字段则表示引入成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
两个模块的物理路径
/etc/httpd/modules/mod_authz_svn.so
/etc/httpd/modules/mod_dav_svn.so
2.编辑subversion模块配置文件
vim /etc/httpd/conf.d/subversion.conf #在参照末尾location标签添加下面的内容
<Location /web>
DAV svn
SVNParentPath /web #指定svn根目录
AuthType Basic #Basic认证方式
AuthName ”www.demonx.cn” #认证显示提示信息
AuthUserFile /web/svn/passwd #用户密码文件
AuthzSVNAccessFile /web/svn/authz #用户配置文件
Require vaild-user #要求用户认证不许匿名
</Location>
3.创建apache访问svn相关配置文件
mkdir /web/svn
创建用户密码文件并配置密码
htpasswd –c /web/svn/passwd dem1 #参数-c表示创建文件 htpasswd /web/svn/passwd dem2
创建权限配置文件
vim /web/svn/authz #添加下面的内容
[groups]
all = dem1,dem2
[/]
dem1 = rw
[www.demonxian3.cn:/]
@all = rw
[www.demonxian2.cn:/]
dem1 = rw
dem2 = r
service httpd restart
然后使用浏览器访问,会发现需要用户认证


下面使用小乌龟工具来访问svn
使用小乌龟进行代码的上传和下载,虽然这个是开发人员做的事,但作为运维人员多少也应该了解一点。下面是小乌龟的下载的地址
http://tortoisesvn.net/downloads.html
下载好后会在右键生成svn相关插件

配置相关选项,使用svn服务访问配置如下

注意URL上不能把根目录/web也填写上去了。

输入用户名和密码,不要保存
如果使用httpd服务访问svn版本管理器,配置如下



成功把代码down下来了,提交一样点击右键commit即可,如果有时候上交失败如下

很有可能你的目录权限不够,修改一下即可 如我的: chmod -R 777 /web

转载请指明出处:http://www.cnblogs.com/demonxian3/p/6910206.html
SVN版本控制系统搭建(+结合http服务)的更多相关文章
- SVN版本控制系统搭建(结合http服务)
SVN版本控制服务器搭建 Svn(subversion)是一个开源代码管理的控制系统,用来管理和存储开发的源代码,基于C/S模式.可以单独提供服务,也可以结合http服务来实现. 运行方式 运行端口 ...
- (转)TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统
本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小乌龟) 2 服务端:VisualSVN Server 搭建出图形化管理,以及右键菜单版本控制管理的SVN ...
- TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】
转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...
- SVN版本控制系统
SVN 版本控制系统 1.SVN作用 防止代码丢失 : 因为没有哪个项目能够一次性开发完成 代码版本回退 : 你可以在开发过程中找到以前上传到服务器上面的所有版本 多人代码整合 : 公司中多个人开发同 ...
- SVN版本控制系统最佳实践
第1章SVN介绍及应用场景 1.1什么是SVN(Subversion) Svn(subversion)是近年来崛起非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个跨平台的开源的版本控制系统. ...
- 【山外笔记-工具框架】SVN版本控制系统
[山外笔记-框架工具]SVN版本控制系统 学习资料: 1.本文打印版下载地址:[山外笔记-框架工具笔记]SVN版本控制工具-打印版.pdf 2.SVN和TortoiseSVN在线中文文档:http:/ ...
- SVN版本服务器搭建(服务端+客户端)
原文地址:http://www.cnblogs.com/warrior1988/p/5359084.html 环境:Win7 32 bit SVN简介:程序员在编写程序的过程中,每个程序员都会生成很多 ...
- SVN版本服务器搭建
windows: https://blog.csdn.net/lu1024188315/article/details/74082227 SVN 的下载地址如下 http://torto ...
随机推荐
- donet体系结构
一.C#与.NET的关系 1.粗略地説,.net是一种在Windows平台上的编程架构----一种API.2.C#编译器专门用于.net,这表示用C#编写的所有代码总是使用.NET Framework ...
- python_原始_web框架
创:10_4_2017 修: 什么是web框架? -- 本质上是socket,用户请求来,业务逻辑处理,返回处理结果 -- 包含socket或者不包含socket的框架 什么是wsgi? -- web ...
- 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)
1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...
- 学习面向对象编程OOP 第一天
面向对象编程 Object Oriented Programming 一.什么是面向对象编程OOP 1.计算机编程架构; 2.计算机程序是由一个能够起到子程序作用的单元或者对象组合而成.也就是说由多个 ...
- C++迭代器 iterator【转】
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型.(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector<int>::iterator iter ...
- Unity C# const与static readonly的区别与联系
using System; namespace Test { class MainClass { //懒人写法的单例 class Weapon { public static readonly Wea ...
- 原生js实现数据双向绑定
最近接触了vue,在谈到vue等等的mvvm框架之前,先了解什么是数据双向绑定以及如何利用原生JS实现数据双向绑定 单向数据绑定 指先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HT ...
- AngularJS2基本构造
2.NG2入门 2.1 基本构造 angularjs主要有8个构造快: 模块(module) 组件(component) 模板(template) 元数据(metadata) 数据绑定(data bi ...
- 博弈论(Game Theory) - 01 - 前传之占优战略均衡
博弈论(Game Theory) - 01 - 前传之占优战略均衡 开始 我们现在准备攀爬博弈论的几座高峰. 我们先看看在纳什均衡产生之前,博弈论的发展情况. 我们的第一座高峰是占优战略均衡. 囚徒困 ...
- OC中的copy
copy的概念 Copy的字面意思是"复制"."拷贝",是一个产生副本的过程 对象拷贝的目的:要使用某个对象的数据,但是在修改对象的时候不影响原来的对象内容,常 ...