Centos6.3搭建SVN服务器
2015-01-04 22:29
459 查看
一、简介
SVN作为新一代代码版本管理工具,有很多优点,管理方便,逻辑明确,安全性高,代码一致性高。SVN数据存储有两种方式,BDB(事务安全表类型)和FSFS(一种不需要数据库的存储系统),为了避免在服务器连接中断时锁住数据,FSFS是一种更安全也是更多人使用的方式。SVN的运行方式也有两种,一种是独立服务器,另一种是借助apache服务,即svn://或http://。目前绝大多数开源软件都使用svn作为代码版本管理软件。Subversion支持linux和windows,但较多安装在linux下。
二、详解
1、svn的基本工作原理
svn的基本工作原理: 在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。有源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后开发人员可以在本地修改,修改完成后用svn命令进行提交,由源代码库统一管理修改。版本控制解决了:(1)代码管理混乱(2)解决代码冲突困难(3)在代码整合期间引发bug(4)无法对代码的拥有者进行权限控制(5)项目不同版本的发布困难。SVN工作原理示意图:2、svn的安装
#yum install subversion判断是否安装成功#svnserve --version3、svn的配置
(1)建立svn版本库#
mkdir-p
/svn/project/repos//[code]创建版本库所在文件夹
#svnadmin create --fs-
type
fsfs
/svn/project/repos
//
创建版本库,如果需要使用bdb方式存储,则将fsfs改成bdb即可执行上面的命令后,自动在repos下建立多个文件,
分别是conf、 db、format、hooks、locks、README.txt。其中文件夹conf下有authz, passwd, svnserve.conf配置文件,authz 是权限控制, passwd是设置用户和密码的, svnserve是设置svn相关的操作。(2)配置passwd#vim /svn/project/repos/conf/passwd[html]
view plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123用户名=密码,建立了hello用户, 密码123。
(3)配置权限authz#vim /svn/project/repos/conf/authz[html]
view plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
[/]
hello=rwhello用户对所有的目录有读写权限,可以限定。
(4)配置svnserve.conf#vim /svn/project/repos/conf/svnserve.conf[html]
view plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = <span style="font-size:14px;">/svn/project/repos/conf/passwd</span>
authz-db = <span style="font-size:14px;"><span style="font-size:14px;">/svn/project/repos/conf/<span style="font-size:14px;">authz</span></span></span> # 访问控制文件必须在general目录下,采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.总:通过以上配置,svn就可以使用。
4、svn的启动使用
(1)启动svn服务:#svnserve -d -r /svn如果已经有svn在运行,可以换一个端口运行,这样同一台服务器可以运行多个svnserver。#svnserve -d -r /svn--listen-port 3391(2)初始化版本库目录#
svn
import/var/www/html
file:
///svn/project/repos
--message "one"
//将
/var/www/html/下的文件
也可采用创建临时目录# mkdir project project/server project/client project/test (建立临时目录)# svn import project/file://[code]/svn/project
-m "initialization"# rm -rf project (删除临时建立的目录)
导入版本库<Location /svn>
DAV svn
SVNPath /svn/project/repos/
AuthType Basic
AuthName "svn for project"
AuthUserFile /svn/project/repos/conf/webpasswd
AuthzSVNAccessFile /svn/project/repos/conf/authz
Satisfy all
Require valid-user
</Location>(3)重启httpd
#/etc/init.d/httpd restart出现Unknown DAV provider: svn的错误,是因为
系统没有安装mod_dav_svn,
它是Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)。#
yum install mod_dav_svn [code=as3 comments]
//
使subversion与dav模块通信的功能[/code]
#[code=as3 comments]yum
install
mod_authz_svn
//
实现权限控制功能[/code]再重启即可。(4)使用
浏览器访问http://192.168.40.125/svn/
若单独设置端口号,网址为http://IP地址:端口/svn。
出现<m:human-readable errcode="13">的错误,请检查cat /etc/sysconfig/selinux设置SELINUX=disabled,需重启系统,或使用setenforce 0临时禁止。
总:现在就可以通过[code=as3 comments]svn co svn://192.168.40.125/project/repos和
http://192.168.40.125/svn/[/code]两种方式访问svn服务器了。
四、总结
(1)svn设置权限的时候passwd和webpasswd不能弄反,否则用户无法登录。(2)暂时没有涉及到多用户和用户权限分别设置的内容,以后使用时可自行设置。(3)svn还有与邮箱同步、与数据库同步等内容。
相关文章推荐
- linux svn搭建(阿里云服务器 CentOS 6.3 64位)
- centos6.3 搭建svn服务器
- CentOS 6.3 64位 搭建SVNServer服务器
- Centos 6.3安装Subversion搭建SVN服务器
- Centos6.3搭建SVN服务器
- 版本控制-https svn服务器搭建和常用命令(centos 6.3)
- Centos 6.3安装Subversion搭建SVN服务器 笔记
- centOS6.3 64位SVN服务器搭建&win7 32位svn客户端连接
- Centos搭建SVN服务器三步曲
- Linux下SVN服务器搭建(CentOS+Subversion)
- centos下svn服务器的搭建,CentOS SVN安装与配置
- Centos搭建SVN服务器三步曲
- CentOS搭建SVN(CollabNet Subversion)服务器
- 【转载】CentOS 5.5下搭建部署独立SVN服务器全程详解
- Centos搭建SVN服务器三步曲
- Centos搭建SVN服务器三步曲
- CentOS 搭建简单svn服务器【转】
- Linux下SVN服务器搭建(CentOS+Subversion)
- 三步在Centos搭建SVN服务器
- CentOS 5.5下搭建部署独立SVN服务器全程详解