CentOS6.0 下使用yum命令安装和配置SVN版本库

以下内容在CentOS6.0操作系统(64位)下操作。

  1. CentOS6.0为默认安装。
  2. 使用yum命令安装httpd和svn。(以下命令都使用root用户执行)

    yuminstallhttpdhttpd-develsubversionmod_dav_svnmod_auth_mysql

  3. 修改/etc/httpd/conf/httpd.conf,将KeepAlive改为on。该修改可以保持http连接,提高SVN访问性能。
  4. 在/home目录下创建repository目录,作为SVN版本库的父目录。
  5. 进入repository目录,使用vi创建文件:authz.conf,用于存放访问权限。
  6. 在repository目录下使用htpasswd命令创建用户。-c参数表示创建密码文件,之后创建用户不需要带-c参数。

    htpasswd-c/home/repository/authfiletestuser

  7. 在repository目录下使用使用命令创建库。也可以直接在其他目录下创建,但要指定版本库目录全路径。

    svnadmincreate/home/repository/test

  8. 对repository目录赋权限,赋给apache用户。

    chown-Rapache:apache/home/repository/

  9. 修改/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>

  10. 使用import命令导入规定的SVN版本库结构。-m参数指定说明文字。

    svnimport/home/repository/SVN_Modelfile:///home/repository/test-m“test”

  11. 配置访问权限。修改/home/repository/authz.conf。如下表示testuser拥有test项目的读写权限。

    [test:/]

    testuser=rw

  12. 启动apache,并关闭防火墙。

    servicehttpdstart

    /etc/rc.d/init.d/iptablesstop

  13. 增加开机自启动apache服务。

    chkconfighttpdon

  14. 永久关闭防火墙(重启后生效)。

    chkconfigiptablesoff

  15. 关闭SELINUX,否则会在日志(/etc/httpd/logs/error_log)中报:(13)Permissiondenied:Couldnotopen***file,导致无法正常访问SVN,或无法上传文件。关闭SELINUX的方法,修改/etc/selinux/config,把SELINUX=enforcing注释掉,并新加一行:

    #SELINUX=enforcing

    SELINUX=disabled

相关推荐