八步实现在Fedora 11上通过Apache搭建SVN服务器

开发 项目管理
在学习SVN的过程中,经常会遇到搭建SVN服务器问题,随着SVN版本的更新,SVN服务器可以在多个操作系统中搭建,这里就向大家介绍一下在Fedora 11上通过Apache搭建SVN服务器方法。

本节向大家简单描述一下如何在Fedora 11上通过Apache搭建SVN服务器, 主要有八个步骤,希望通过本节的介绍大家能够掌握在Fedora 11上通过Apache搭建SVN服务器方法。 下面是具体介绍。

在Fedora 11上通过Apache搭建SVN服务器(Subversion) 

1. 安装SVN所需module:
        #yum install mod_dav_svn
    安装完毕之后发现,在/etc/httpd/conf.d下多出了subversion.conf,以及/etc/httpd/modules下多出了 mod_dav_svn.so和mod_authz_svn.so两个文件,这正是subversion.conf中所需要的。

2. 修改subversion.conf,取消一下几行的注释,使之成为:   

  1. <Location /repos> 
  2.          DAV svn  
  3.          SVNParentPath /var/www/svn/  
  4.     #  
  5.     #   # Limit write permission to list of valid users.  
  6.     #   <LimitExcept GET PROPFIND OPTIONS REPORT> 
  7.     #      # Require SSL connection for password protection.  
  8.     #      # SSLRequireSSL  
  9.     #  
  10.     #      AuthzSVNAccessFile /etc/httpd/authz.conf  
  11.     #      AuthType Basic  
  12.     #      AuthName "Please enter your name and password"  
  13.     #      AuthUserFile /etc/httpd/conf.d/authfile  
  14.     #      Require valid-user  
  15.     #   </LimitExcept> 
  16.     </Location> 

 

    其中,SVNParentPath是所有Repository的上层目录,此处并没有对访问SVN的Repository进行限制,就像google code一样,无须用户名密码即可查看,甚至checkout源代码。

3. 搭建SVN服务器时在/var/www/下创建一个svn/的文件夹,并在此目录下创建subversion版本库:

    $ svnadmin create your_repo_name

4. 进入该repository,修改配置文件,位于your_repo_name/conf下,首先修改svnserve.conf,找到并去掉以下几行的注释:
    anon-access = read             #匿名访问的权限,可以是read,write,none,默认为read
    auth-access = write             #认证用户的权限,可以是read,write,none,默认为write
    password-db = passwd       #密码数据库的路径
    authz-db = authz                #用户操作权限

5. 修改passwd文件,其格式为:
    [users]
    user1 = password1
    user2 = password2

6. 修改authz文件,格式为:针对每一个repo_name下的目录,指定每一个用户应该具有怎样的权限(注意每行前面不能有空格):
    [repo_name:/directory1]
    user1 = rw        #user1具有read和write权限
    [repo_name:/directory2]
    user2 = r          #user2只具有read权限

7. 搭建SVN服务器时在windows下用TortoiseSVN导入项目:
    将项目初始文件,建立成包含以下三个文件夹的形式,其中项目根目录放入trunk下:
    svn_temp\trunk                    #包含项目整体的,稳定的代码
    svn_temp\branch                 #包含项目的一个分支,如一个子功能
    svn_temp\tag                       #标志项目的一个milestone,如一个release
    然后使用TortoiseSVN的import功能,这时可能会出现Permission denied的问题,这是因为上传文件的目录的owner是root,需要修改目录的owner:
    Can't open file '/var/www/svn/repo_name/db/txn-current-lock': Permission denied
    $ cd /var/www/svn
    $ chown -R apache.apache repo_name
    # chcon -R -t -t http_sys_content_rw_t repo_name       #这一步不需要,因为已经关闭了selinux

    这样可能存在问题,就是任意用户如果知道了SVN的地址,都可以import任意文件到repository中。这可能需要引入访问控制(to be continued)。

8. 通过http查看repository中的文件:
    http://your_ip_address:port/repos/your_repo_name。本节关于在Fedora 11上通过Apache搭建SVN服务器步骤介绍完毕。 

【编辑推荐】

  1. 浅析如何搭建SVN服务器
  2. 深入剖析opensuse10.3上如何搭建SVN服务器
  3. RedHat系统下如何搭建SVN服务器大揭秘
  4. Windows下搭建SVN服务器简明步骤
  5. 学习笔记: 如何删除SVN版本控制信息

 

 


 

责任编辑:佚名 来源: svn8.com
相关推荐

2010-04-09 11:21:37

Linux下配置VSf

2010-05-21 15:23:29

在Centos上配置S

2010-02-24 10:25:21

2012-04-06 10:44:02

2011-08-29 13:40:18

2010-08-29 20:56:02

路由器DHCP配置

2014-08-06 11:25:00

LinuxSVN服务器

2015-04-09 14:58:45

OpenStackDocker私有云搭建

2010-06-02 19:01:38

搭建SVN服务器

2010-06-02 19:48:23

搭建SVN服务器

2010-05-25 09:32:04

搭建SVN服务器

2010-05-31 10:34:00

Windows下配置S

2010-03-01 15:50:45

2010-05-26 15:53:52

SVN服务

2010-05-25 09:17:51

搭建SVN服务器

2010-05-28 10:35:46

SVN搭建测试服务器

2010-07-02 14:26:55

Visio画UML用例

2010-05-24 09:59:54

SVN服务器搭建

2010-05-28 10:10:49

2010-10-22 11:31:53

SQL Server自
点赞
收藏

51CTO技术栈公众号