Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Collins-Sussman B.Version control with Subversion 1.1.pdf
Скачиваний:
8
Добавлен:
23.08.2013
Размер:
1.53 Mб
Скачать

Chapter 6. Server Configuration

A Subversion repository can be accessed simultaneously by clients running on the same machine on which the repository resides using the file:/// method. But the typical Subversion setup involves a single server machine being accessed from clients on computers all over the office—or, perhaps, all over the world.

This section describes how to get your Subversion repository exposed outside its host machine for use by remote clients. We will cover Subversion's currently available server mechanisms, discussing the configuration and use of each. After reading this section, you should be able to decide which networking setup is right for your needs, and understand how to enable such a setup on your host computer.

Overview

Subversion was designed with an abstract network layer. This means that a repository can be programmatically accessed by any sort of server process, and the client “repository access” API allows programmers to write plugins that speak relevant network protocols. In theory, Subversion can use an infinite number of network implementations. In practice, there are only two servers at the time of writing.

Apache is an extremely popular webserver; using the mod_dav_svn module, Apache can access a repository and make it available to clients via the WebDAV/DeltaV protocol, which is an extension of HTTP. In the other corner is svnserve: a small, standalone server program that speaks a custom protocol with clients. Table 6-1 presents a comparison of the two servers.

Note that Subversion, as an open-source project, does not officially endorse any server as “primary” or “official”. Neither network implementation is treated as a second-class citizen; each server has advantages and disadvantages. In fact, it's possible for different servers to run in parallel, each accessing your repositories in its own way, and each without hindering the other (see the section called “Supporting Multiple Repository Access Methods”). Here's a brief overview and comparison of the two available Subversion servers—as an administrator, it's up to you to choose whatever works best for you and your users.

Table 6.1. Network Server Comparison

Feature

Apache + mod_dav_svn

 

svnserve

 

 

 

 

Authentication options

HTTP(S) basic auth, X.509

certifi-

CRAM-MD5 or SSH

 

cates, LDAP, NTLM, or any other

 

 

mechanism available to Apache httpd

 

 

 

 

 

User account options

private 'users' file

 

private 'users' file, or existing system

 

 

 

(SSH) accounts

 

 

 

Authorization options

blanket read/write access, or per-

blanket read/write access, or per-

 

directory read/write control

 

directory write (but not read) control

 

 

 

using a pre-commit hook

 

 

 

 

Encryption

via optional SSL

 

via optional SSH tunnel

 

 

 

Interoperability

partially usable by other WebDAV

not interoperable

 

clients

 

 

 

 

 

 

Web viewing

limited built-in support,

or via

via 3rd-party tools such as ViewCVS

 

3rd-party tools such as ViewCVS

 

 

 

 

 

Speed

somewhat slower

 

somewhat faster

 

 

 

 

Initial setup

somewhat complex

 

fairly simple

 

 

 

 

93

Соседние файлы в предмете Электротехника