RedHat系统下如何搭建SVN服务器大揭秘

开发 项目管理
本文简单介绍RedHat系统下SVN服务器搭建,相信大家对Windows和Linux下SVN服务器的搭建都不陌,那么RedHat系统下如何搭建呢,本文就和大家一起来学习吧。

本节和大家讨论一下RedHat系统下搭建SVN服务器的具体步骤,以及相关问题介绍,通过本文的学习大家可以掌握如何在RedHat系统下搭建SVN服务器,下面是具体的一些步骤:

修改Apache配置文件
#cd/usr/local/apadche2/bin
#./apachect1stop//停止Apache进程
vi/usr/local/apache2/conf/httpd.conf
//在最下面添加,如果你的里面没有这两个模块的话
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
Location指示的目的是告诉Apache在特定的URL以及子URL下需要特殊的处理,如果是为Subversion准备的,
你希望可以通过告诉Apache特定URL是指向版本化的资源,从而把支持转交给DAV层,你可以告诉Apache将
所有路径部分(URL中服务器名称和端口之后的部分)以/svn/开头的URL交由DAV服务提供者处理

  1. <Location/svn> 
  2. DAVsvn  
  3. SVNParentPath/home/svnroot/repository/  
  4. #ouraccesscontrolpolicy权限配置文件  
  5. AuthzSVNAccessFile/home/svnroot/repository/authz.conf  
  6. #onlyauthenticatedusersmayaccesstherepository  
  7. Requirevalid-user  
  8. #howtoauthenticateauser  
  9. AuthTypeBasic  
  10. AuthName"Subversionrepositorycreatedbytongyi"  
  11. #用户配置文件  
  12. AuthUserFile/home/svnroot/repository/authfile  
  13. Location> 

#htpasswd[–c]/home/svnroot/repository/authfiletest//用户名
#test//密码
//其中authfile是通过"htpasswd[–c]/home/svnroot/repository/authfileusernamepassword"来创建//"Requirevalid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库#vi/home/svnroot/repository/authz.conf//先创建一个文件,具体配置后面在说明。

//启动apache服务
#/usr/local/apache2/bin/apachectlstart
//打开浏览器访问
http://localhost/svn/test/,如果有东西显示就说明成功。RedHat系统下搭建SVN服务器时需要对权限进行设置。

权限管理(即authz.conf的配置)

1)增加用户
#htpasswd[-c]/home/svnroot/repository/authfileuser1
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加,此时是要用root的权限来添加的,添加完后在authfile中看到用户和加密的密码。
#htpasswd/home/svnroot/repository/authfile用户名(加入新的用户)
//如:"htpasswd/home/svnroot/repository/authfileuser2"

2)权限分配
#vi/home/svnroot/repository/authz.conf//编辑添加下面内容
#群组设置
[groups]
Tester=test,user1//这个表示某群组里的成员
#anonymous=guest
[test:/]//这表示,仓库test的根目录下的访问权限
@Tester=rw//test仓库Tseter组中用户具有读和写权限
*=r//test仓库中所有用户具有读的权限
//注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Accessdenied:'user1'"。//详细设置查阅

重启apache进程
RedHat系统下搭建SVN服务器时需要重启Apache进程。#/usr/local/apache2/bin/apachectlrestart
就可以通过http://localhost/svn/test这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限。
备忘:

1).在svn使用过程中牵扯到几种权限:文件系统的权限,linux系统权限,svn用户的权限,apache进程的权限。文件系统的权限,linux系统权限:这里相同的意思,就是平时大家使用linux时文件夹和文件的访问权限。在svn建立仓库,文件夹,配置文件的时候用svnroot用户,并将仓库权限设置为700,不允许其他用户直接通过文件系统查看,只能由svnroot进行管理。apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在/usr/local/apache/conf/httpd.conf文件中配置,找到文件中的这两行:
Userdaemon#将daemon改为svnroot,让apache进程以svnroot的身份运行
Groupdaemon
svn用户的权限:就是在authz.conf文件中设置的权限信息,是svn用来管理仓库访问权限的。

2).设置启动系统后,自启动Apache服务
编辑etc/rc.d/rc.local
#vi/etc/rc.d/rc.local
在最后加上一句:/usr/local/apache2/bin/apachectlstart,
如果安装过程遇到难以解决的问题查阅:http://svnbook.red-bean.com
http://svn.collab.net/repos/svn/trunk/INSTALL
Ubuntu系统下SVN服务器的搭建过程详解:http://wiki.ubuntu.org.cn/SubVersion
Windows系统下SVN服务器的搭建过程详解:http://indian.blog.163.com/blog/static/10881582007112415021751/。RedHat系统下搭建SVN服务器到此讲解完了,请继续关注本节的其他相关报道。

【编辑推荐】

  1. Linux下不常用的SVN 命令大揭秘
  2. Subversion和TortoiseSVN如何在Windows下进行构建SVN版本控制
  3. CentOS系统中安装subversion并使用svn+ssh访问
  4. SVN使用教程简单配置篇详解
  5. 在线指导:Windows系统服务自动运行对于SVN如何实现

 

责任编辑:佚名
相关推荐

2010-05-24 09:24:18

SVN服务器搭建

2010-05-25 09:32:04

搭建SVN服务器

2010-05-28 10:49:29

SVN服务器搭建

2010-06-02 18:51:35

搭建SVN服务器

2010-05-21 13:07:14

Windows下SVN

2010-05-25 08:46:12

2010-05-31 14:06:24

SVN同步测试服务器

2010-05-24 09:59:54

SVN服务器搭建

2014-08-06 11:25:00

LinuxSVN服务器

2011-01-10 14:48:22

2010-06-02 19:01:38

搭建SVN服务器

2010-06-02 19:48:23

搭建SVN服务器

2010-05-24 10:12:16

SVN服务器搭建

2010-05-31 19:17:38

2010-05-19 17:06:33

Subversion服

2011-03-11 10:39:04

2010-05-24 08:51:13

Linux下SVN服务

2010-05-25 09:17:51

搭建SVN服务器

2011-10-21 07:55:28

2010-05-31 10:09:32

点赞
收藏

51CTO技术栈公众号