最新文章 New Articles

Linux CentOS系统下SVN的安装及配置

作者:codewei 日期:2015-02-05 16:22:08 点击:2327次 所属分类:PHP技术

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 

DAV svn SVNParentPath /var/svn # # # Limit write permission to list of valid users. ## # Require SSL connection for password protection. # # SSLRequireSSL # AuthType Basic AuthName "Authorization Realm" AuthUserFile /var/svn/passwd Require valid-user 

#下面建立可访问用户文件 

# htpasswd -c /var/svn/passwd justin 要增加用户,则使用下面命令 

# htpasswd /var/svn/passwd other 

重起Apache 

# service httpd restart 

Subversion部分安装完成,打开浏览器访问http://localhost/svn/myapp即可看到效果。

文章来源:博客园
  • 个人简介  Personal Profile

  • 姓名:何金民  性别:男
    籍贯:江 西  学历:大专
    专业:计算机网络技术
    毕业院校:江西信息学院
  • 2012年7月1日毕业于江西信息应用职业技术学院,现在就职于Telligem网络公司PHP程序员,现已在该公司工作一年了,熟悉Html、Css、Js、Jquery,使用QEEPHP框架、ThinkPHP框架开发过中... [查看详情]
  • 我目前的位置  My Place
  • 访客留下的话  Visitor's Messages
  • 过来看看
    过来看看 欢迎互访http://www.123peiyin....
    留言时间:2016-01-05

  • 成都升降平台
    成都升降平台佳洁凯斯 http://www.keyesin....
    留言时间:2015-12-31

  • 成都网站建设
    成都网站制作龙兵科技来访http://www.xbjianz...
    留言时间:2015-12-31