RedHat系统下如何搭建SVN服务器大揭秘
本节和大家讨论一下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服务提供者处理
<Location/svn> DAVsvn SVNParentPath/home/svnroot/repository/ #ouraccesscontrolpolicy权限配置文件 AuthzSVNAccessFile/home/svnroot/repository/authz.conf #onlyauthenticatedusersmayaccesstherepository Requirevalid-user #howtoauthenticateauser AuthTypeBasic AuthName"Subversionrepositorycreatedbytongyi" #用户配置文件 AuthUserFile/home/svnroot/repository/authfile Location>
#htpasswd[Cc]/home/svnroot/repository/authfiletest//用户名
#test//密码
//其中authfile是通过"htpasswd[Cc]/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来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限。
备忘:
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf