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

SVN版本控制服务器搭建

  Svn(subversion)是一个开源代码管理的控制系统,用来管理和存储开发的源代码,基于C/S模式。能够单独提供服务,也能够结合http服务来实现。html

运行方式  运行端口  访问方法
svn单独服务 3690 svn://
http结合服务 80 http://

 

下面开始搭建svn服务web

1.环境准备

(1)安装svn 和 apache 服务,其中mod_dav_svn是用来衔接svn和apache的。数据库

yum –y install subversion httpd mod_dav_svn

(2)查看是否注册端口apache

cat /etc/services | grep svn –color

(3)建立存放版本库vim

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目录的文件内容svn

文件 做用 
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/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     #取出代码

 

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://tortoisesvn.net/downloads.html

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

 

 

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

 

 

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

 

 

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

若是使用httpd服务访问svn版本管理器,配置以下

 

 

 

成功把代码down下来了,提交同样点击右键commit便可,若是有时候上交失败以下

 

 

颇有可能你的目录权限不够,修改一下便可 如个人:  chmod -R 777 /web

 

转载请指明出处:http://www.cnblogs.com/demonxian3/p/6910206.html

相关文章
相关标签/搜索