apache+subversion+dav 构建基于http的svn服务

十一 17th, 2009

昨天将服务器配置了svn服务,现作整理(以centos linux为例),以作备忘。

1.安装基本软件
yum install subversion subversion-tools
yum install libapache2-svn mod_dav_svn
2.创建版本库

假定我们将版本库存放在/data/svn/repos

mkdir -p /data/svn/repos
cd /data/svn/repos
svnadmin create test

如果要导入一些已有的代码,假定/data/www/test有一些写好的代码要导入到库中

svn import file:///data/www/test /data/svn/repos/test

这里导入成功后版本为1

3. 修改/etc/httpd/conf.d/svbversion.conf

(该文件在安装mod_dav_svn后自动产生)
取消注释以下行

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<Location /repos>
   DAV svn 
   SVNParentPath /data/svn/repos
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL
      AuthType Basic
      AuthName "Authorization Realm"
      AuthUserFile /data/svn/passwordfile
      Require valid-user
#   </LimitExcept>
</Location>

说明:SVNParentPath指明SVN父目录,如果以一个版本库管理所有项目,则使用SVNPath即可。
AuthType
AuthName
AuthUserFile
这几项我指明了要经过http认证才可以访问该svn
使用htpasswd -c /data/svn/passwordfile username来创建密码文件
如果取消注释这项,说明除了GET PROPFIND OPTIONS REPORT这几种方式之外的请求均要求http认证,我这里注释掉了这一个,表示访问也要经过认证
当然还可以使用mysql验证用户,需使用mysql_auth_module模块。

4. service httpd reload 重导配置文件

如下
Revision 1: /
* config.inc.php
* htmls/
* includes/
* sqlite/

参考文档: http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/

Powered by Subversion version 1.4.2 (r22196).

标签:
  1. 官场新贵
    一 14th, 201022:39

    、php的稳定性的确好

;) :| :x :twisted: :roll: :oops: :o :mrgreen: :lol: :idea: :evil: :cry: :arrow: :P :D :?: :? :) :( :!: 8O 8)

Spam Protection by WP-SpamFree