CentOS6.0 下使用yum命令安装和配置SVN版本库
以下内容在CentOS6.0操作系统(64位)下操作。
- CentOS6.0为默认安装。
- 使用yum命令安装httpd和svn。(以下命令都使用root用户执行)
yuminstallhttpdhttpd-develsubversionmod_dav_svnmod_auth_mysql
- 修改/etc/httpd/conf/httpd.conf,将KeepAlive改为on。该修改可以保持http连接,提高SVN访问性能。
- 在/home目录下创建repository目录,作为SVN版本库的父目录。
- 进入repository目录,使用vi创建文件:authz.conf,用于存放访问权限。
- 在repository目录下使用htpasswd命令创建用户。-c参数表示创建密码文件,之后创建用户不需要带-c参数。
htpasswd-c/home/repository/authfiletestuser
- 在repository目录下使用使用命令创建库。也可以直接在其他目录下创建,但要指定版本库目录全路径。
svnadmincreate/home/repository/test
- 对repository目录赋权限,赋给apache用户。
chown-Rapache:apache/home/repository/
- 修改/etc/httpd/conf.d/subversion.conf如下内容:
<Location/svn>
DAVsvn
SVNParentPath/home/repository
#
##Limitwritepermissiontolistofvalidusers.
#<LimitExceptGETPROPFINDOPTIONSREPORT>
##RequireSSLconnectionforpasswordprotection.
##SSLRequireSSL
#
AuthTypeBasic
AuthName"AuthorizationSVN"
AuthUserFile/home/repository/authfile
AuthzSVNAccessFile/home/repository/authz.conf
Requirevalid-user
#</LimitExcept>
</Location>
- 使用import命令导入规定的SVN版本库结构。-m参数指定说明文字。
svnimport/home/repository/SVN_Modelfile:///home/repository/test-m“test”
- 配置访问权限。修改/home/repository/authz.conf。如下表示testuser拥有test项目的读写权限。
[test:/]
testuser=rw
- 启动apache,并关闭防火墙。
servicehttpdstart
/etc/rc.d/init.d/iptablesstop
- 增加开机自启动apache服务。
chkconfighttpdon
- 永久关闭防火墙(重启后生效)。
chkconfigiptablesoff
- 关闭SELINUX,否则会在日志(/etc/httpd/logs/error_log)中报:(13)Permissiondenied:Couldnotopen***file,导致无法正常访问SVN,或无法上传文件。关闭SELINUX的方法,修改/etc/selinux/config,把SELINUX=enforcing注释掉,并新加一行:
#SELINUX=enforcing
SELINUX=disabled
相关推荐
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf