CentOS5.5+Subversion1.6.12+Apache2.2.3安装与配置

Subversion 是基于 APR—Apache 可移植运行库构建的。APR 提供了 Subversion 需要的全部与操作系统相关的操作接口,如磁盘访问, 网络访问,内存管理等。这使得 Subversion 能够使用 Apache 作为其网络服务器程序之一,Subversion 对 APR 的依赖并不 意味着必须使用 Apache 作为它的网络服务器程序。APR是一个独立的程序库,任何应用程序都可以使用它。相反,它意味着 Subversion 能够在所有可运行 Apache 服务器的操作系统上运行,如 Windows, Linux, 各种 BSD, Mac OS X, Netware 等。

一、安装

Subversion的安装方式很多,本文采用最简单的方式安装。在 Subversion 的网站(http://subversion.tigris.org )上通常可以找到由志愿者提供下载的程序包。

http://www.wandisco.com/subversion/os/downloads?type=centos

选择CentOS即可下载制作好的二进制文件,采用如下命令即可安装:  

安装的时候选择安装httpd,安装之后有如下提示:

Subversion的配置文件就在/etc/httpd/conf.d/subversion.conf,之后的配置工作也就围绕他进行了。

二、账号和权限文件配置

1.  创建账号密码文件
htpasswd –c /svn/passwd.conf test
   输入密码,两次确认
  注意:第一次设置用户密码要加入 –c 这个参数,以后就可以不用了
2. 创建资料库
首先要创建一个资料库(我使用单资料库的方式),使用svnadmin增加资料库
  svnadmin create /svn/svnroot/icec
到icec下看是不是多了文件,多了就是说明创建成功
3.创建权限文件
  在icec目录的conf目录下,找到authz文件,复制到/svn目录下,重命名为authz.conf

  vi authz.conf

   注意:最后的[/]这个要设置好了,这里面的权限设置可以让你对icec和telnet的版本库有相同的权限,一般不要也行,个人建议不要

三、Subversion配置subversion.conf
1、模块加载

打开/etc/httpd/conf.d/subversion.conf,这个文件中的如下两行取消注释。
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

相应的so文件已经自动copy到了apache/modules。这些工作就不用自己动手了。

2、版本库配置

下面需要自己动手修改subversion.conf最后增加以下内容

 

3、注意事项

注意:
(1)单个版本库就是SVNPath /svn/svnroot/icec跟./svnadmin create /svn/svnroot/icec目录要一样,要不忙死你……【这个是对单个版本库】,多个版本库知道svn的主目录,我这就是 SVNParentPath /svn/svnroot
(2)AuthzSVNAccessFile是权限控制文件,单个版本库不需要,多个版本库要设置不同版本库的权限
(3)目录svnroot目录的权限设置成755


四、验证安装
打开浏览器,输入地址为http://服务器ip/svn
出现登陆窗口,输入用户名跟密码,

如果可以正常打开如上页面则说明安装配置正常,可以正常使用了,在页面上可以看到由于目前资料库中没有内容,因此看到的内容为空。

五、导入数据到资料库
Cd /usr/local/subversion/bin
./svn import /要导入的目录 file:///svn/svnroot -m “说明文字”
重新打开浏览器,输入地址http://服务器ip/svn,输入用户名密码。

安装配置就完成了。


六、可能遇到的问题

整个过程不会一帆风顺的,这里介绍一些可能遇到的问题。

1、【这个问题是我创建单个版本库时遇到的】安装好了后,浏览器打开http://服务器ip/svn,登陆出现不了页面,出现:
<D:error>

<C:error/> <m:human-readable errcode="2"> Could not open the requested SVN filesystem </m:human-readable> </D:error>
解决:这是httpd.conf里的<Locate svn>中的SVNPath指向错误没指到创建的资料库

2、输入账号密码提示不能认证,查看Apache的/etc/httpd/logs/error_log,有如下提示:

[Tue Oct 05 18:07:09 2010] [error] [client 125.223.118.90] (13)Permission denied: Could not open password file: /svn/svnroot/passwd
[Tue Oct 05 18:07:09 2010] [error] [client 125.223.118.90] access to /svn failed, reason: verification of user id 'test' not configured

从日志看,因为检查过配置文件没有拼错,所以可以肯定是权限问题。从ls命令的结果可以看出,由于passwd的权限是没有问题的。
后来看了一位朋友的帖子【Linux环境下搭建Apache+subversion+svnmanager】的启发,可能是SELinux引发的问题,
于是执行命令:
chcon -R -h -t httpd_sys_content_t /svn/svnroot
后来还是不行。执行以下命令后搞定
chcon -R -h -t httpd_sys_content_t /svn

总结教训:还是linux不熟悉的原因造成的,我是linux的新手。看来得恶补linux的基本知识。

3、组(group)设置

在TortoiseSVN中做Commit操作时可能遇到如下错误:

Can't open file '/svn/svnroot/telnet/db/txn-current-lock': Permission denied

可以将telnet的所属组设置为apache

chgrp -R apache  /svn/svnroot/telnet

4、文件夹创建删除属性

在TortoiseSVN中做Commit操作时可能遇到如下错误:

Can't open '/svn/svnroot/telnet/db/tempfile.tmp': Permission denied

Can't make directory '/svn/svnroot/telnet/dav/activities.d': Permission denied

设置telnet 群组的访问方式为“创建和删除文件”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值