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 ...
随机推荐
- WPF自定义控件(2)——图表设计[1]
0.小叙闲言 除了仪表盘控件比较常用外,还有图表也经常使用,同样网上也有非常强大的图表控件,有收费的(DEVexpress),也有免费的.但我们平时在使用时,只想简单地绘一个图,控件库里面的许多功能我 ...
- 前端开发框架简介:angular和react
作者:vienwu react是facebook推出一个用来构建用户界面的js库.官方介绍的三大特性如下: just the ui 把react只当作一个ui组件就好,等同于传统mvc中的view. ...
- 第三人称角色移动及自由移动视野(RigidBody实现)
重点:向量的运算.在获得水平及垂直方向的速度之后,将方向进行重设,让方向与视野同步(即:相机的方向与人物方向相同) 下面以一个实例来说明如何操作: 1.如图创建一个地形(Terrain),两个正方体( ...
- 20分钟快速了解Redis
Redis可以说是目前最火爆的NoSQL数据库! 过去几年,Memcached很盛行,现在有很多公司已将Memcached替换成了Redis.当然,很多人替换并不清楚为什么,只是感觉不想让主流抛弃,这 ...
- UPS不间断电源网络功能介绍
UPS不间断电源网络功能介绍 随着联网技术的善及,用户又向UPS提出了更高的要求:ups电源应具有无人値守的功铅酸蓄电池能,不但具有自检的功能,还应具有联网功能,在网上UPS不间断电源可以随时观察up ...
- 转账示例(三):service层面实现(线程管理Connection)(本例采用QueryRunner来执行sql语句,数据源为C3P0)
缺点:Service层面还是不应该出现关于事务的操作1.自行创建C3P0Uti,account数据库,导入Jar包 2.Dao层面 接口: package com.learning.dao; impo ...
- 转账示例(一):Dao层面实现(本例采用QueryRunner来执行sql语句,数据源为C3P0)
缺点:Dao层面把Service层面的操作完成了,不利于后期的代码修改和重构 1.自行创建C3P0Util account数据库 2.jar包 3.Dao层面 接口: package com.lear ...
- linux(ubuntu)获取命令源码方式
以下载ls的源码为例说明: 首先要知道ls是属于哪个包的,可以通过下面命令: #dpkg -S 'command name' 通用格式 $ dpkg -S /bin/ls 得到如下结果: coreut ...
- java多线程基本概述(十三)——Executor
1:Executor接口 public interface Executor 执行已提交的 Runnable 任务的对象.此接口提供一种将任务提交与每个任务将如何运行的机制(包括线程使用的细节.调度等 ...
- 基于jquery 的分页插件,前端实现假分页效果
上次分享了一款jquery插件,现在依旧分享这个插件,不过上一次分享主要是用于regular框件,且每一页数据都是从后端获取过来的,这一次的分享主要是讲一次性获取完数据 然后手动进行分页.此需求基本上 ...