`
azheng270
  • 浏览: 92933 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

SVN服务器配置详解

阅读更多


一、安装

安装 Apache 2.2
安装 Subversion 1.5.5

找到 Subversion 安装目录下的以下文件:

bin/mod_authz_svn.so
bin/mod_dav_svn.so


复制到 Apache 安装目录下 modules 目录中

bin/intl3_svn.dll
bin/libdb*.dll


复制到 Apache 安装目录下 bin 目录中(这里似乎并不是必须的,我猜想这里或许是为了支持 Berkeley DB 而所作的操作,但我并不打算深入研究下去)

二、环境

假设 Subversion 安装在 D:\SVN\Subversion 目录下
假设创建 D:\SVN\Repositories\ 目录作为版本库总目录
假设在 D:\SVN\Repositories\ 中创建目录iSLeeBlog,并在其中创建版本库,假设已经配置好用户授权,那么应该可以通过 svn://localhost/iSLeeBlog 访问版本库。
假设统一将Apache的SVN项目配置文件放在 D:\SVN\conf 目录下
假设Apache的默认端口号为8080

三、配置Subversion版本库管理服务器

找到创建的版本库目录下的配置文件,例如:D:\SVN\Repositories\iSLeeBlog\conf\

将 passwd 文件改名为 passwd.svn(也可以不改名,这里是为了结构更清晰)

用文本编辑器修改 svnserve.conf 文件,找到以下两行

#password-db = passwd
...
#authz-db = authz


修改为:

password-db = passwd.svn
...
authz-db = authz


这里 authz 就是授权文件的名称,在 Subversion 和 Apache 中可以使用相同的授权文件,但无法使用相同的 passwd 文件,因为 Apache 是以加密方式存储密码,而 Subversion 使用明文储存密码,所以上面将 Subversion 生成的 passwd 文件改名,说明其仅用在 Subversion 下。

思考:这里可以使用相同的帐号文件吗?显然,我对 Apache 的配置还是不太熟悉,两个帐号文件需要同步维护比较麻烦,如果您知道如何解决,请您帮助我,谢谢。

如何配置授权文件不再详述,请自行查看授权文件中自带的注释,已经解释的非常清晰。

四、配置Apache服务器

找到 Apache 安装目录下 conf/httpd.conf 文件,用文本编辑器修改:

找到以下两句取消注释:

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so


增加以下两句

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


使用 Apache 安装目录下的 bin/htpasswd.exe 可执行文件生成授权文件

第一次生成,使用 -cb 参数:

htpasswd -cb [filename] [username] [password]


例如:

htpasswd -cb passwd.apache islee 123


添加新用户,使用 -b 参数:

htpasswd -b passwd.apache another 456


将生成的 passwd.apache 文件移动到 D:\SVN\Repositories\iSLeeBlog\conf 目录下

a) 配置单项目

在Apache的conf/httpd.conf文件,在末尾添加以下内容

#配置虚拟目录
<location /svn/iSLeeBlog>
#引用远程访问模块
DAV svn

#版本库路径
SVNPath D:\SVN\Repositories\iSLeeBlog

#授权文件
AuthzSVNAccessFile D:\SVN\Repositories\iSLeeBlog\conf\authz

#所有用户都需要身份验证
Satisfy Any
Require valid-user

#验证方式
AuthType Basic

#项目的名称
AuthName "iSLee's Blog Project"

#用户文件
AuthUserFile D:\SVN\Repositories\iSLeeBlog\conf\passwd.apache
</location>


b) 配置多项目

在 httpd.conf 文件末尾增加一下一句,作用是引用指定目录下的所有 project 文件

Include D:\SVN\conf\*.project


然后在指定目录,这里是 D:\SVN\conf 中创建单个项目配置文件 iSLeeBlog.project 文本文件

iSLeeBlog.project 文件中的内容同“a) 配置单项目”节中的内容完全相同,新的项目之需要继续创建 project 文件,并根据需要更改虚拟目录路径以及授权文件名称即可。

配置以后需要重启 Apache 服务器。

五、访问

如果在局域网中,那么可以输入“svn://localhost/iSLeeBlog”即可访问版本库。

如果远程访问Apache服务器,那么可以在浏览器或客户端软件中输入“http://yourdomain or IP/svn/iSLeeBlog”即可访问iSLeeBlog项目。

六、备注

Subversion 的客户端 TortoiseSVN 是一个很棒的工具,虽然它与本文无关,但多看它附带的帮助文档,你将获益匪浅

以上文档由 iSLee 编写维护,最后更新日期:2009年3月6日

 


附,svn服务器配置:

1 下载服务器端
2 安装服务器端
3 创建一个版本库,命令:svnadmin create 新版本库路径
4 修改用户名和口令。进入新版本库所在目录,
  找到conf目录下的svnserve.conf,将其中  # password-db = passwd 的#去掉。
  找到conf目录下的passwd文件,将其中# harry = harryssecret 和 # sally = sallyssecret 改成自己的用户名和密码。=前面是用户名,=后面是密码,用户名前面不要有空格。
5 启动SVN服务器
  方式一:命令行方式: svnserve.exe -d -r 版本库路径
  方式二:服务方式:sc create svnserve binpath= "SVN的BIN目录\svnserve.exe --service --root 版本库路径" displayname= "Subversion" depend= tcpip start= auto
          如sc create svnserve binpath= "e:\svn\bin\svnserve.exe --service --root e:\svn\repos" displayname= "svn" depend= tcpip start= auto,注意:版本库路径后面不要带\。
          其中sc命令不是windows自带的,是微软.net sdk中的一个工具。

  至此SVN服务器已经能运行,SVN服务器的访问地址为 svn://服务器名或IP地址


 

示例:authz 文件

 

# 以[*/]标记的为项目路径
# rw 表示读写
# r 表示只读
# *= 禁止所有用户访问,*代表所有用户,权限为空代表没有任何权限
# 可以为一个目录赋予多个组或多个用户

# 定义repos储存库根目录的访问权限
[repos:/]
@axtic=rw #定义组axtic下面的用户拥有读写权限
azheng=rw #定义用户azheng有读写权限
10yue=rw #定义用户10yue有读写权限
dougen=rw #定义用户dougen有读写权限

#定义test储存库下test目录的访问权限
#[test:/test]
#user=r

#下面是用户组的配置,左边是组名,右边是隶属于改组的用户,多个用户以逗号(“,”)隔开。
#组名可以由字母数字下划线构成
[groups]
axtic=azheng,10yue,dougen

 

 

分享到:
评论
1 楼 uu011 2011-01-27  
改成这样就不会报错了
<location /svnb/SLeeBlog>
#引用远程访问模块
DAV svn

#版本库路径
SVNPath "c:/svnb/SLeeBlog"

#授权文件
#AuthzSVNAccessFile "c:/svnb/SLeeBlog/conf/authz"

#所有用户都需要身份验证
#Satisfy Any
Require valid-user

#验证方式
AuthType Basic

#项目的名称
AuthName "iSLee's Blog Project"

#用户文件
AuthUserFile "c:/svnb/SLeeBlog/svn_auth_passwd"
</location>

相关推荐

    svn服务器配置.doc

    ### SVN服务器配置详解 在软件开发领域,版本控制系统扮演着至关重要的角色,它帮助团队有效管理代码变更,确保项目的稳定性和可追溯性。Subversion(SVN)作为一款开源的集中式版本控制系统,广泛应用于各类项目中...

    svn服务器配置总结.txt

    ### SVN服务器配置详解 在软件开发领域,版本控制系统如Subversion(简称SVN)是团队协作不可或缺的工具。本文将详细解析如何配置一个SVN服务器,确保代码版本管理的高效与安全。 #### 一、安装SVN服务器 1. **...

    详细介绍Windows下SVN服务器的配置

    【Windows下SVN服务器配置详解】 Subversion (简称SVN) 是一款强大的版本控制系统,它在Windows环境下同样可以被高效地配置和使用。本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、...

    SVN服务器配置

    **知识点:SVN服务器配置详解** 一、**SVN服务器配置概述** SVN,全称为Subversion,是一种广泛使用的集中式版本控制系统,主要用于代码管理、文档控制和其他需要追踪多个文件修订历史的场景。通过SVN服务器配置,...

    svn服务器配置说明[归纳].pdf

    ### SVN服务器配置详解 #### 一、环境搭建与版本库创建 本文档旨在提供一份详细的SVN(Subversion)服务器配置指南,适用于Windows XP SP2操作系统,并基于Apache 2.2.6作为Web服务器,Subversion版本为svn-win32-...

    svn 服务器的配置

    ### SVN服务器配置详解 在软件开发领域,版本控制系统扮演着至关重要的角色,它帮助团队管理代码变更、协作和历史记录。Subversion(简称SVN)作为一款流行且成熟的选择,被广泛应用于各种规模的项目中。本文将深入...

    svn 服务器配置 大全

    ### SVN服务器配置大全:安装与配置详解 #### SVN(Subversion)服务器配置及安装 **一、环境搭建** 本文档将指导你如何在Windows环境下搭建一个功能完整的SVN服务器,包括基本的安装流程以及SSL加密通信的配置。...

    svn服务器安装配置

    SVN服务器配置主要包括创建版本库、设置访问控制等操作。 ##### 3.1 创建版本库 使用`svnadmin create`命令创建一个新的版本库。 ``` svnadmin create /var/svn-repo ``` 这将在`/var/svn-repo`目录下创建一个新...

    SVN服务器配置,权限管理,客户端使用

    ### SVN服务器配置、权限管理与客户端使用详解 #### SVN服务器配置与权限管理 **SVN(Subversion)**,作为一款流行的版本控制系统,其核心功能在于管理随时间变化的文件和代码,支持跨平台操作,适用于多种操作...

    window搭建SVN服务器详解

    总的来说,搭建Windows SVN服务器并不复杂,主要涉及到安装服务器软件、创建仓库、设置权限以及配置客户端。遵循以上步骤,你就能建立一个安全且高效的SVN环境,为团队的协作开发提供强大支持。

    安卓入门--SVN 服务器安装配置

    ### 安卓入门—SVN 服务器安装配置详解 #### 一、SVN服务器的安装配置 ##### 1. 服务器安装包的选择 在本文档中提到的服务器安装包为`VisualSVN-Server-2.1.3.msi`。这款软件提供了直观的界面来帮助用户快速搭建...

    SVN服务器搭建、配置和使用详解【技术文档】

    本篇文章将详述如何在Windows操作系统上搭建、配置和使用SVN服务器,以及安装和配置客户端。 ### 1. 下载SVN服务器组件 首先,我们需要从Apache官方网站下载Subversion的二进制文件包。官方下载地址是:...

    SVN服务器配置说明.

    ### SVN服务器配置说明 #### 重要知识点概览 1. **版本控制的概念**:了解版本控制的基本原理,以及其在项目管理和数据恢复中的作用。 2. **Subversion(SVN)简介**:认识Subversion作为版本控制系统的特点和优势...

    SVN服务器与客户端的安装、配置

    ### SVN服务器与客户端的安装及配置详解 #### 一、SVN服务器的安装与配置 SVN(Subversion)是一款非常流行的版本控制系统,主要用于代码管理。本文将详细介绍如何在Windows环境下安装并配置SVN服务器。 ##### ...

Global site tag (gtag.js) - Google Analytics