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 ...
随机推荐
- javascript的getter和setter(转)
显然这是一个无关IE(高级IE除外)的话题,尽管如此,有兴趣的同学还是一起来认识一下ECMAScript5标准中getter和setter的实现.在一个对象中,操作其中的属性或方法,通常运用最多的就是 ...
- Java将一个目录下的所有数据复制到另一个目录下
/* 将"C:\\JavaProducts\\Source"下的所有数据复制到"C:\\Target"下 */ import java.io.*; public ...
- 初探CSRF在ASP.NET Core中的处理方式
前言 前几天,有个朋友问我关于AntiForgeryToken问题,由于对这一块的理解也并不深入,所以就去研究了一番,梳理了一下. 在梳理之前,还需要简单了解一下背景知识. AntiForgeryTo ...
- 详解Executor框架
在Java中,使用线程来异步执行任务.Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源.同时,为每一个任务创建一个新线程来执行 ...
- PROFINET有什么用
“工业4.0”是当前制造业最热门的话题,所以不谈这个话题都不好意思跟同行们打招呼.“工业4.0”里面的一个重要内容是智慧工厂,工厂流水线设备之间通信,无论是传统的有线连接还是先进的无线连接与分布式控制 ...
- bzoj4784 [Zjoi2017]仙人掌
Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌.所谓简单环即不经过重复的结点的环. 现在九条可怜手上有一张无自环无重边的无向连通图,但是她觉得 ...
- MD5加密。
MD5 是把文件用open打开,然后对内容hash后的值,所以和文件名无关,和位置无关,和修改时间无关,只与文件内容有关.
- crontab的两种配置方式
废话不多说,直接上菜了 第一种:在/etc/crontab下设置,指定用户名的 1.vim命令进入/etc/crontab 2.在最后一行加上 59 23 * * * root /root/cat ...
- Android ViewPager动画切换
使用方法 setPageTransformer 例如: ViewPager.setPageTransformer(true, new ZoomOutPageTransformer()) package ...
- php函数的种类与调用方法大揭密
PHP中的函数看上去很简单,实际上功能非常强大,我这里按函数名称是否固定,可以分为以下三大类: 一.名称固定的函数: 这类函数,也叫:常规函数,直接用关键字function来创建,也是大家最熟悉的类型 ...