linux(centeros)svn的安装
SVN
linux搭建svn服务器
参考:http://www.cnblogs.com/chaichuan/p/3758173.html
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理随着时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
SVN中的一些概念
(1). repository(源代码库)
源代码统一存放的地方
(2). Checkout (提取)
下载代码,客户端通过checkout从服务器(Subversion)端下载源代码
(3). Commit (提交)
从服务器下载的代码,如果做了变更则需要提交到服务器端
(4). Update (更新)
本地已经checkout了一份代码,如果别人对代码做了更改并且已经提交,那么update可以更新别人更改后的代码,一般在提交代码前都需要更新一下代码,防止自己的代码覆盖了别人更改了的代码
SVN管理源代码是以行为单位的,如果两个程序员修改的不是同一行代码,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件Confict, 冲突,如果发生冲突则需要手动的解决冲突,切不可直接提交。
windows常用的客户端软件:TortoiseSVN
SVN 服务器搭建(centeros linux)
yum install -y subversion
或者
yum -y install svn
验证是否安装成功
svnserve --version
创建SVN 版本库
mkdir svn
svnadmin create svn/rep01
rep01为版本库的名称,rep01的结构如下
$ ls svn/rep01/
conf db format hooks locks README.txt
svn配置文件
$ ls svn/rep01/conf/
authz passwd svnserve.conf
(1)svnserve.conf: svn服务配置文件下。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。
svnserve.conf 文件, 该文件配置项分为以下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access: 控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。取消注释使用默认文件,也就是conf同级的那个passwd文件,取消注释前面不能有任何空格,不然会报错
authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。取消注释使用默认文件,也就是conf同级的那个authz文件,取消注释前面不能有任何空格,不然会报错
realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件
当指定 password-db 和 authz-db 时连接svn才提示输入密码
passwd文件
[users]
# harry = harryssecret
# sally = sallyssecret username = password
#代表注释
authz文件
[aliases] #在这个组下面定义别名
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] #定义组的概念,比如harry,sally是一组
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe # [/foo/bar] #指定配置库
# harry = rw # 用户harry有读写权限
# &joe = r # &joe代表别名joe
# * = # [repository:/baz/fuz] #指定配置库 repository配置库名称 /baz/fuz配置库repository下的路径
# @harry_and_sally = rw # @harry_and_sally代表组harry_and_sally
# * = r # *通配符,代表所有人 $anonymous 匿名用户 $authenticated非匿名用户
启动和停止SVN服务
启动SVN服务:
svnserve -d -r svn/rep01
-d表示后台运行
-r 指定配置库路径
命令行测试
mkdir test
cd test
svn co svn://localhost/rep01
停止SVN服务:
ps -aux | grep svn
kill -9 进程杀掉
或者
killall svnserve
注意如下配置
[/]
* = rw [rep01:/]
test = rw
则启动配置库的时候需要svnserve -d -r svn,不然会找不到配置库rep01
客户端连接SVN 服务器
地址:svn://ip/repository 如:svn://192.168.19.100/rep01
http访问svn
参考:http://www.cnblogs.com/ayanmw/archive/2011/12/19/2294054.html
安装apache相关组件
yum -y install mod_dav_svn httpd
在/etc/httpd/conf.d/目录下会存在文件subversion.conf,其配置内容如下
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so #
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn". Each repository
# must be both:
#
# a) readable and writable by the 'apache' user, and
#
# b) labelled with the 'httpd_sys_content_t' context if using
# SELinux
# #
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
# # cd /var/www/svn
# # svnadmin create stuff
# # chown -R apache.apache stuff
# # chcon -R -t httpd_sys_content_t stuff
# #<Location /repos>
# DAV svn
# SVNParentPath /var/www/svn
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
# AuthType Basic
# AuthName "Authorization Realm"
# AuthUserFile /path/to/passwdfile
# Require valid-user
# </LimitExcept>
#</Location>
<Location /repos>:/repos为虚拟目录,对应SVNParentPath指定的实际目录
AuthUserFile:指定用户名密码文件,该文件使用htpasswd命令创建
SVNParentPath:指定了SVN配置库的父目录
AuthUserFile 用户添加
htpasswd -h查看命令帮助
第一次添加用户
htpasswd -c passwd test
passwd:文件的名称
test:用户名
再次添加用户
htpasswd passwd test
启动apache服务
sudo service httpd restart
注意修改配置库目录的权限,不然会一直报权限问题的
chown -R apache:apache rep01
chcon -R -t httpd_sys_content_t rep01
此刻就可以使用http://localhost/repos/stuff repos为映射的虚拟路径,stuff为配置库
linux(centeros)svn的安装的更多相关文章
- linux下svn的安装与配置
---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...
- 【Linux】SVN的安装和配置
SVN SVN:SVN是Subversion的简称,是一种开放代码的版本控制系统,相比较RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制器服务已从CVS迁移到Su ...
- Linux下svn的安装与部署
最近工作碰到一个问题,我和一个同伙负责开发一个管理系统,基于原来的代码上进行修改,每当他修改之后,我要再修改都要和他确定是不是最新的文件,才能进行修改.非常影响工作的效率,所以在网上找了关于svn的使 ...
- (转)Linux下 SVN客户端安装
原地址:http://rtxbc.iteye.com/blog/860092 今天有现场程序连svn服务器一直有异常,于是在现场linux下安装svn client来直接测试,看问题原因: 一:安装s ...
- linux下svn客户端安装及环境配置(转)
一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1 ...
- Linux下SVN客户端安装及使用
转载自:http://www.linuxidc.com/Linux/2015-01/111748.htm 不想自己写了,这个写的挺全的,我就按这个步骤走的,呵呵 非常感谢作者 环境说明: 系统版本:C ...
- Linux 下 SVN 的安装和配置
SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件.目录以及对其进行的修改.于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是由一个SVN服务器和 ...
- LINUX+Vmware+SVN的配置和安装
LINUX+Vmware+SVN的配置和安装 验证SVN安装了没有 svnserve --version 查看CentOS自带JDK是否已安装. ◆输入:yum list installed |gre ...
- Linux下SVN安装与基本操作
1.安装svn linux下通过yum安装svn yum -y install subversion 本地Windows系统安装TortoiseSVN 2.配置 建立版本库目录 mkdir /home ...
随机推荐
- K8S简介
简介 Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规 ...
- javac不是内部或外部命令在win10上的解决方案
Path环境变量能够让你在任何路径都能使用命令,可能你百度谷歌了各种方案都无法解决javac无法使用的问题,那么你可以试试如下解决方案: 首先博主配置了JAVA_HOME 参数为 C:\Program ...
- 微信浏览器video播放视频踩坑
video属性介绍 iOS的属性 playsinline On iPhone, video playsinline elements will now be allowed to play inlin ...
- 向android模拟器打电话发短信的简单方法
在开发android应用程序时,有时候需要测试一下向android手机拨打电话发送短信时该应用程序的反应.譬如编写一个广播接收器,来提示用户有短信收到或者处理短信,就需要向该手机发送短信来进行测试.这 ...
- (48)LINUX应用编程和网络编程之三Linux获取系统信息
3.3.1.关于时间的概念 3.3.1.1.GMT时间 (1)GMT是格林尼治时间,也就是格林尼治地区的当地之间. (2)GMT时间的意义?[用格林尼治的当地时间作为全球国际时间],用以描述全球性的事 ...
- Spring Boot教程(十八)构建RESTful API
首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMapping注解.如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建 ...
- Jmeter -- 参数化(函数助手和CSV数据文件配置)
使用场景: 例如:模拟多用户登陆时 参数化两种方式: 方式一:使用函数助手 1. 创建包含多个登录名和密码的文件 可以在文本编辑器中输入,格式如下: username,passwordusername ...
- 在配置em时运到报错ORACLE_UNQNAME not defined
Oracle 11G R2 RAC 配置em时报错 Environment variable ORACLE_UNQNAME not defined. oracle ORACLE_UNQNAME 借楼主 ...
- oracle之VARCHAR2(50 CHAR) 和VARCHAR2(50) 区别?
首先要明白的是:根据字符集不同,varchar2(50)这样在gbk可存25个汉字,utf8可存16个汉字 这里的50相当于50BYTE,是按字节计数,50CHAR是按字符计数. 对于多字节字符( ...
- Object.freeze与 Object.seal的区别
Object.freeze()冻结一个对象.不能添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性.可配置性.可写性,以及不能修改已有属性的值.冻结一个对象后该对象的原型也不能被修改. ...