注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

centos5.3上安装subversion1.6.6  

2009-11-16 17:14:51|  分类: 版本控制 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

用惯了cvs,总是被一些niubie不会处理冲突,因cvs默认没有锁定功能,导致冲突的问题困扰。最近决定换成subversion,然后在项目中实施。下面把安装配置文档总结一下:

1)安装apache2时,要求激活快乐dav和so,如下所示,其它按官网文档编译安装即可:
./configure --enable-dav --enable-so --enable-maintainer-mode

2)subversion1.6.6需要sqlite3.4以上版本,推荐直接下载最新的3.6.20版本

解压并按官网文档编译安装即可,

3)首先下载subversion1.6.6,解压

当执行./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs时,会报错

configure: checking sqlite library amalgamation not found at /root/subversion-1.6.6/sqlite-a?malgamation/sqlite3.c

解决办法:创建目录,并拷贝文件

mkdir  /root/subversion-1.6.6/sqlite-amalgamation

cp /root/sqlite-3.6.20/bin/sqlite3.c /root/subversion-1.6.6/sqlite-amalgamation/

接着执行编译安装

./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs

make clean && make && make install

 4)配置apache2
编辑httpd.conf,加入

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

正常在上面编译安装subversion成功之后,就已经包含上面2行了,下面的location部分必须手工添加

在http.conf文件加入:

      <Location /svn/repos>
          DAV svn
          SVNPath /absolute/path/to/repository
      </Location>

This will give anyone unrestricted access to the repository.  If
      you want limited access, read or write, you add these lines to
      the Location block:

          AuthType Basic
          AuthName "Subversion repository"
          AuthUserFile /my/svn/user/passwd/file

      And:

          a) For a read/write restricted repository:

             Require valid-user

          b) For a write restricted repository:

             <LimitExcept GET PROPFIND OPTIONS REPORT>
                 Require valid-user
             </LimitExcept>

          c) For separate restricted read and write access:

             AuthGroupFile /my/svn/group/file

             <LimitExcept GET PROPFIND OPTIONS REPORT>
                 Require group svn_committers
             </LimitExcept>

             <Limit GET PROPFIND OPTIONS REPORT>
                 Require group svn_committers
                 Require group svn_readers
             </Limit>

虚拟主机配置(建议使用,特别是一台服务器提供多个应用时):

<VirtualHost *:80>
   ServerAdmin wolfgangkiefer@163.com
   ServerName svn.duoshaoren.com
   ErrorLog "logs/svn.duoshaoren.com-error.log"
   CustomLog "| /usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/svn.duoshaoren.com-access.log.%Y.%m.%d 86400" common
<Location /svn/repos>
        DAV svn
        SVNParentPath /svn/repos
        #SVNPath /svn/repos  #如果是多个工程或项目在该目录下,则可以采用SVNParentPath配置,
        AuthType Basic
        AuthName "Subversion repository"
        AuthUserFile /svn/passwd
        Require valid-user
        AuthzSVNAccessFile /svn/access
</Location>

其中的passwd文件由命令产生:

/usr/local/apache2/bin/htpasswd -cm /svn/passwd wolfgangkiefer
/usr/local/apache2/bin/htpasswd -m /svn/access admin
其中的access文件如下:

[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# Default access rule for ALL repositories
# Everyone can read, admins can write, Dan German is excluded.
[/]
* = r
@admin = rw
dangerman =
# Allow developers complete access to their project repos
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# Give the doc people write access to all the docs folders
[/trunk/doc]
@docs = rw
# Give trainees write access in the training repository only
[TrainingRepos:/]
@training = rw
权限配置文件中,关键的几个概念是:目标和权限,也就是为谁分配什么样的权限。读为r,写为w,如果没有权限那么什么也不写即可。

5)启动服务

 Fire up apache 2:

          $ /usr/local/apache2/bin/apachectl stop
          $ /usr/local/apache2/bin/apachectl start

      Check /usr/local/apache2/logs/error_log to make sure it started
      up okay.

6)测试

       a、注意:如果apache默认以daemon用户启动的话,则需要把/svn/目录赋给daemon用户,这样才不会报

Error1: Can’t open ‘/home/svn/db/txn-current-lock’: Permission denied

b、在eclipse中安装插件subclipse,然后正常使用team操作即可。

如果web访问,其中路径采用http://svn.duoshaoren.com/svn/repos的方式访问,后跟项目名称


 

 

 

  评论这张
 
阅读(871)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017