阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

SVN版本控制系统搭建(结合HTTP服务)

258次阅读
没有评论

共计 3904 个字符,预计需要花费 10 分钟才能阅读完成。

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 创建的目录看到会生成一些文件。

  SVN 版本控制系统搭建(结合 HTTP 服务)

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

下面是 conf 目录的文件内容

SVN 版本控制系统搭建(结合 HTTP 服务)

文件 作用 
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

SVN 版本控制系统搭建(结合 HTTP 服务)

添加三个用户,密码均为 123456

(3) 修改 authz 权限配置

vim /web/www.demonxian3.cn/conf/authz

SVN 版本控制系统搭建(结合 HTTP 服务)

在 groups 域 里定义一个 CG 组,组员有 demon1,dmeon2

在 根域(自己写上的)里定义权限,CG 组只有读权限,demon3 可写可读,其他人无权限

 

3. 启动服务

svnserve -d -r /web/    #-d 以守护运行 -r 以 root 用户运行 web 就是自己创建的软件版本库 

查看端口

 SVN 版本控制系统搭建(结合 HTTP 服务)

svn 常用的命令

import 上传代码
checkout      下载代码
update        更新代码
status          查看状态
diff              差异检测
log              历史记录
list              显示目录
cat              查看内容
resolve        解决冲突
switch          切换版本库
revert          恢复
add 增加
delete 删除
copy 复制
move  移动

更多请参见  http://www.linuxidc.com/Linux/2014-09/107301.htm

4.svn 服务简单的使用测试

mkdir local   #创建本地开发目录

touch local/1.html local/2.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     #取出代码 

 SVN 版本控制系统搭建(结合 HTTP 服务)

1. 取代码时会弹出身份验证,默认是 root 用户,回车即可输入用户名和密码。

2. 需要注意登录的用户需要有读取权限否则不能下载

3. 取出代码后会在当前生成 download 目录,在里面进行相关的代码开发即可

下面模拟代码开发后的更新。

touch download/3.html

echo“hello world”> 2.html

svn add 3.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 服务)

SVN 版本控制系统搭建(结合 HTTP 服务)

下面使用小乌龟工具来访问 svn

使用小乌龟进行代码的上传和下载,虽然这个是开发人员做的事,但作为运维人员多少也应该了解一点。下面是小乌龟的下载的地址

http://tortoisesvn.net/downloads.html

下载好后会在右键生成 svn 相关插件

 SVN 版本控制系统搭建(结合 HTTP 服务)

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

 SVN 版本控制系统搭建(结合 HTTP 服务)

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

 SVN 版本控制系统搭建(结合 HTTP 服务)

输入用户名和密码,不要保存

如果使用 httpd 服务访问 svn 版本管理器,配置如下

 SVN 版本控制系统搭建(结合 HTTP 服务)

SVN 版本控制系统搭建(结合 HTTP 服务)

SVN 版本控制系统搭建(结合 HTTP 服务)

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

 SVN 版本控制系统搭建(结合 HTTP 服务)

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

SVN 版本控制系统搭建(结合 HTTP 服务)

Ubuntu 14.04 下搭建 SVN 服务器 SVN://  http://www.linuxidc.com/Linux/2015-01/111956.htm

CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm

CentOS7.2 编译安装 SVN1.9.5 客户端  http://www.linuxidc.com/Linux/2017-03/141387.htm

SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm

CentOS 7 下搭建配置 SVN 服务器  http://www.linuxidc.com/Linux/2017-05/144254.htm

CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm

基于腾讯 CentOS 7 云服务器搭建 SVN 版本控制库  http://www.linuxidc.com/Linux/2017-05/144244.htm

CentOS 7.1 下 SVN 安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm

CentOS 6.8 搭建 SVN(版本控制系统)及 SVN 的使用  http://www.linuxidc.com/Linux/2017-04/143093.htm

Subversion (SVN) 的详细介绍 :请点这里
Subversion (SVN) 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/144288.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3904字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中