centos安装svn
原文链接:http://blog.csdn.net/liuyuan_jq/article/details/2110814
1.SVN简介
由于前些年在版本的管理上采用的都是CVS系统,总体上而言还是很优秀的,经过了多年
的项目开发管理经历,在使用CVS系统在管理中大型的软件项目时还是遇到了很多不可克服的
缺陷和局限性,主要表现在如下的几个方向:
1. 无法进行文件名称的修改活动,这样一来就会导致必须先删除该文件再上传,丢失了
历史信息,要不就必须到服务上将xxx,v文件进行改名(我采用这种方法,不过总是
找管理员太不方便了);
2. 目录名称没有被管理,这样就不能进行改名等动作,其实项目的目录结构对于项目的
成功起了非常重要的作用,每次也只能到服务器上进行修改;
3. 项目的分支代价太高,需要对每一个文件都进行标记,对于大的项目耗时太长,并且
基本上不能删除废弃了的分支和标记,因为那样很容易导致项目仓库的损坏,我就遇
到了好多次这种让人发狂的情况;
4. 对于文件二进制和文本的处理经常会出现混乱,结果就使将二进制文件当作文本上传
后内容被扩展导致丢失,因为有些时候二进制文件的扩展名和某些文本文件的扩展名
相同了,所以导致CVS识别就会出错。
可以安装并配置subversion(简称svn)系统,使用svn来替换CVS系统,以解决上述问题。
Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。下面我讲解的是基于Apache Http Server的Subversion,这样做几个好处
A.能使用WebDAV协议。
B.能使用浏览器作为客户端工具浏览源码仓库。
C.可以很容易的支持到SSPI(Windows域认证)和LDAP(AD?),这些都是Apache本身就支持的。
D.能得到比较完善的Apache安全认证系统,比如SSL加密连接。
2.svn安装
安装系统:CentOS
安装方式:yum install(这种方式比较简单,如果用源码安装容易产生版本兼容的问题)
建议:
最好将svn系统安装在Linux操作系统环境下,这样一来系统比较的稳定可靠,同时也可以减少很多的病毒和攻击的服务器日常维护工作量,我将svn安装在了CentOS的服务器版本下。
安装:
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
确定已经安装了svn模块:mod_dav_svn
#cd /etc/httpd/modules
#ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
如果要确认是否成功的安装了svn可以通过如下的命令进行验证:
svn --version
显示如下,表示正常:
svn, version 1.1.4 (r13838)
compiled Aug 21 2005, 20:56:55
Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository access (RA) modules are available:
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' schema
- handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
- handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' schema
3.apache的配置
配置/etc/httpd/conf/httpd.conf
(httpd的安装目录,一般是/etc/httpd或/usr/local/appache2)
进入到/etc/conf目录下用vim打开httpd.conf配置文件进行选项的修改:
a. KeepAlive选项(可选)
该选项可以修改也可以不修改,主要是为了提高http协议访问的性能,可以
使得svn仓库的访问更快,KeepAlive表示可以保持http的永久性TCP连接,
省去了每次都需要进行重建TCP连接的巨大开销,找到如下几个选项并修改:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
b. ServerAdmin/ServerName选项(可选)
对于需要对系统进行管理的可以在ServerAdmin选项设置成为管理员的email
地址,这样在出现问题时apache会自动发送邮件到该地址中;而ServerName
必须设置为本服务器的域名,如xxx.xxx.cn:80。
为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载一个特殊的模块mod_dav_svn。如果您的Apache是按照与预设目录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /usr/local/apache2) 的 modules 子目录内。同时在Apache的配置文件httpd.conf(默认路径为/usr/local/apache2/conf)中已经使用LoadModule指令加载了该模块(如果没有,请手动添加)LoadModule 指令的语法很简单, 就是将一个具名模块对映到共享链接库在磁盘上的位置:
LoadModule dav_svn_module modules/mod_dav_svn.so
注意这个指令必须出现在其它的 Subversion 相关指令之前。
还要加载mod_authz_svn.so模块
如图:
测试Apache是否可以正常启动:
#vim /etc/httpd/conf/httpd.conf -- Edit what you need and save the file
#service httpd start
#chkconfig httpd on
在浏览器中访问:http://localhost, 如果能看到Apache的页面,则说明Apache已经正常启动。
Apache命令:
启动:apachectl -k start
关闭:apachectl -k stop
重启:apachectl -k restart
查看日志:tail -f /etc/httpd/logs/error-log
4.svn的配置
进入到/etc/httpd/conf.d目录下用vim打开subversion.conf配置文件进行选项的
修改:
a. module的配置
一定要保证下面的两句话存在于配置文件中,否则无法在如svn的模块,就
无法访问svn的仓库了:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
b. 仓库目录配置
项目仓库就是用于存放项目目录结构的服务器目录,一般情况下Linux的规则时间容易变化的内容存放在/var目录下,所以我们需要在/var目录下创建一个svn目录,这样所有的项目的根目录都作为/var/svn/目录下的一级子目录了,这样以来就可以在一个仓库目录下存放多个项目了。
下面将使用myapp这个仓库来配置Subversion
# mkdir -p /var/svn
# cd /var/svn
# svnadmin create myapp
# chown -R apache.apache myapp
# vi /etc/httpd/conf.d/subversion.conf
加入以下配置
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/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 /var/svn/passwd
Require valid-user
# </LimitExcept>
</Location>
下面建立可访问用户文件
# htpasswd -c /var/svn/passwd justin
要增加用户,则使用下面命令
# htpasswd /var/svn/passwd other
重起Apache
# service httpd restart
Subversion部分安装完成,打开浏览器访问http://localhost/svn/myapp即可看到效果。
centos安装svn的更多相关文章
- Centos 安装SVN
Centos 安装SVN centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装 $ sudo yum install subversion 测试安装是否成功: $ svnser ...
- 阿里云centos安装svn和submin
概述 没有找到可以让团队方便使用的云盘,暂时搭建一个svn凑合用一下 svn有三种安装方式 安装方式 服务程序 服务协议 用户和密码 授权 系统配置 svn独立安装 svnserve svn pass ...
- CentOS 安装svn及配置
1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve -d -r /www/sv ...
- CentOS安装SVN服务器
Step1:安装svn服务器 $ yum install subversion Step2:创建SVN版本库目录 $ mkdir /workplace/svnrepos Step3:创建版本库 $ s ...
- centos 安装 svn
1: yum 安装 svn yum install -y subversion 2验证是否安装完成 svnserve –version svnserve, version 1.6.11 (r9344 ...
- centos安装svn并创建版本库配置用户分组权限
1.设置aliyun安装源// 本步骤非必须, 使用aliyun安装源后, 执行yum update速度明显提升 wget -O /etc/yum.repos.d/CentOS-Base.repo h ...
- CentOS安装SVN客户端(rpm)
http://mirrors.163.com/centos/6/os/x86_64/Packages/ 1.检查是已经安装了svn: rpm -qa subversion subversion-1.7 ...
- [转载]centos安装svn服务器
一.安装Subversion #yum install subversion 1.查看安装时的文件产生情况,使用 rpm -ql subversion 2.卸载subversion:#yum re ...
- CentOS安装SVN客户端
1.检查系统是否已经安装如果安装就卸载 rpm -qa subversion yum remove subversion 2.安装 yum install subversion 3.建立SVN库 mk ...
随机推荐
- Java数据结构与算法(1) - ch02有序表(OrderedArray)
有序表需要掌握的插入方法,删除方法和二分法查找方法. 插入方法: 从前往后找到比要插入的值大的数组项,将该数组项及之后的项均后移一位(从最后一项起依次后移),最后将要插入的值插入当前数组项. 删除方法 ...
- Socket 学习(三).5 UDP 的弱点
前面 讲到了,udp 传输文本的例子,发现 udp 确实 比tcp 高效一些,现在我用来传输文件,问题果然来了,结果发现 他不能一次 传输大于 64K的东西! 那么 我自然想到了 切包,多次发送,再合 ...
- SQL2005性能分析一些细节功能你是否有用到?(二)
原文:SQL2005性能分析一些细节功能你是否有用到?(二) 上一篇:SQL2005性能分析一些细节功能你是否有用到? 我简单的提到了些关于SQL性能分析最基本的一些方法,下面的文章我会陆续补充.前面 ...
- HDU 5068 Harry And Math Teacher
主题链接~~> 做题情绪:的非常高深,有种高大上的感觉. 解题思路: 两层之间的联通能够看成是一个矩阵 代表上下两层都能够联通,,代表下层第1个门与上层第一个门不联通,以此类推联通就能够用矩阵 ...
- 2014阿里巴巴研发project师暑期实习生面试经验
2014阿里巴巴研发project师暑期实习生面试经验 作者:林子 Blog: http://blog.csdn.net/u013011841 时间:2014年8月 出处:http://blog.c ...
- SQL_修改表结构
***********************************************声明*************************************************** ...
- 设计模式之职责链模式(Chain of Responsibility)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于怎样创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- 在VirtualBox下安装CentOS教程(截图版)
http://blog.csdn.net/kobe_lzq/article/details/7894718 使用的软件: VirtualBox 4.1.2 CentOS 5.6 x86_64 刻录的 ...
- 【从0开始Tornado网站】主页登录和显示的最新文章
日志首页只能放置在它,这里的美,该<form>使用bootstrap的form-inline修改后的类,例如以下列方式: 前台代码例如以下: {%extends 'main.html'%} ...
- 【C#版本详情回顾】C#2.0主要功能列表
泛型 优点:类型安全/重用代码/提升性能 应用:泛型接口.泛型类.泛型类型参数.泛型方法.泛型事件和泛型委托 命名空间:System.Collections.Generic 特性:泛型约束,defau ...