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 ...
随机推荐
- TypeScript入门-函数
▓▓▓▓▓▓ 大致介绍 TypeScript为JavaScript函数添加了额外的功能,让我们可以更容易地使用.TypeScript中的函数也包括JavaScript中最常见的两种函数 functio ...
- JDK8-十大新特性-附demo
JDK原计划17年上半年就发版,但未成功发版.才发现JDK8的特性还没总结过,特此总结. 一.十大特性. 1.Lambda表达式 2.Stream函数式操作流元素集合 3.接口新增:默认方法与静态方法 ...
- ssh相关命令
ssh命令 ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器. 语法ssh(选项)(参数)选项 -1:强制使用ssh协议版本1: -2:强制使用ssh协 ...
- AIX误删除LV后如何进行现场保护和数据恢复工作
在AIX环境下,若因维护误操作.存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的.删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度.如何有效保护现场,并 ...
- 把上传Github的代码添加Cocoapods支持
开始 这里我将从最初的开始进行介绍,包括Github上创建项目已经上传项目,到最后的支持Cocoapods. 步骤如下: 代码上传Github 创建podspec文件,并验证是否通过 在Github上 ...
- Python中使用with语句同时打开多个文件
下午小伙伴问了一个有趣的问题, 怎么用 Python 的 with 语句同时打开多个文件? 首先, Python 本身是支持同时在 with 中打开多个文件的 with open('a.txt', ' ...
- Java中多线程同步类 CountDownLatch
在多线程开发中,常常遇到希望一组线程完成之后在执行之后的操作,java提供了一个多线程同步辅助类,可以完成此类需求: 类中常见的方法: 其中构造方法:CountDownLatch(int count) ...
- HDU 2080 夹角有多大II (数学) atan(y/x)分类求角度
夹角有多大II Problem Description 这次xhd面临的问题是这样的:在一个平面内有两个点,求两个点分别和原点的连线的夹角的大小.注:夹角的范围[0,180],两个点不会在圆心出现. ...
- 【python的基本数据类型及进制扫盲】
一.进制 1.进制简介 进制就是进位制,是人们规定的一种进位方法.计算机底层的数据运算和存储都是二进制数据.计算机语言就是二进制,计算机能直接识别二进制数据,其它数据都不能直接识别. 2.常用进制 对 ...
- Telegram学习解析系列(二):这我怎么给后台传输数据?
写在前面: 在iOS开发的过程中,有很多时候我们都在和数据打交道,最基本的就是数据的下载和上传了,估计很多很多的小伙伴都在用AFNetworking与后台数据打交道,可有没有想过,哪天AFNetwor ...