Summary
By now you should have a basic understanding of how to create, configure, and maintain Subversion repositories. We've introduced you to the various tools that will assist you with this task. Throughout the chapter, we've noted common administration pitfalls, and suggestions for avoiding them.
All that remains is for you to decide what exciting data to store in your repository, and finally, how to make it available over a network. The next chapter is all about networking.
[18] This may sound really prestigious and lofty, but we're just talking about anyone who is interested in that mysterious realm beyond the working copy where everyone's data hangs out.
[19] Pronounced «fuzz-fuzz», if Jack Repenning has anything to say about it.
[20] That, by the way, is a feature, not a bug.
[21] While svnadmin dump has a consistent leading slash policy—to not include them—other programs which generate dump data might not be so consistent.
[22] E.g.: hard drive + huge electromagnet = disaster.
[23] The Subversion repository dump format resembles an RFC-822 format, the same type of format used for most email.
[24] svnadmin setlog can be called in a way that bypasses the hook interface altogether.
[25] You know—the collective term for all of her «fickle fingers».
[26] The trunk, tags, and branches trio are sometimes referred to as «the TTB directories».
Содержание
Обзор
Сетевая модель
Запросы и отклики
Кеширование клиентской идентификационной информации
svnserve, a custom server
Invoking the Server
Built-in authentication and authorization
Create a 'users' file and realm
Set access controls
SSH authentication and authorization
SSH configuration tricks
Initial setup
Controlling the invoked command
httpd, the Apache HTTP server
Prerequisites
Basic Apache Configuration
Authentication Options
Basic HTTP Authentication
SSL Certificate Management
Authorization Options
Blanket Access Control
Per-Directory Access Control
Disabling Path-based Checks
Extra Goodies
Repository Browsing
Other Features
Supporting Multiple Repository Access Methods
Одновременный доступ к хранилищу Subversion клиентами, запущенными на том же компьютере, где расположено и хранилище, возможен при использовании метода file:///. Но, обычно, сервер Subversion устанавливается на отдельный компьютер, к которому имеют доступ клиенты с компьютеров всего офиса — или, возможно, всего мира.
Этот раздел расскажет, как предоставить доступ к хранилищу Subversion удаленным клиентам. Мы опишем доступные на сегодняшний день механизмы серверов Subversion, а так же обсудим вопросы конфигурации и использования каждого из них. После прочтения этого раздела вы сможете решить, какой тип сервера подходит вам, как его установить и настроить на вашем комптьютере.
Обзор
Subversion был разработан с использованием абстрактного сетевого уровня. Это означает, что на программном уровне для доступа к хранилищу может быть использован любой тип сервера, а «клиентский API для доступа к хранилищу» дает программистам возможность создавать плагины, которые будут взаимодействовать с соответствующим сетевым протоколом. Теоретически, Subversion может использовать неограниченное количество сетевых исполнений. Практически же, на данный момент есть только два сервера.
Apache — наиболее популярный web-сервер; при использовании модуля mod_dav_svn Apache получает возможность доступа к хранилищу, а так же делает его доступным для клиентов, используя протокол WebDAV/DeltaV, который является расширением HTTP. В другом углу ринга — svnserve — небольшой, самостоятельный сервер, использующий для связи с клиентами собственный протокол. В таблице 6-1 дано сравнение этих двух серверов.
Обратите внимание, что Subversion, как проект с открытым исходным кодом, ни одному из серверов не дает статуса «основного» или «официального». Ни одно из сетевых решений не является "третьесортным"; у каждого сервера есть свои достоинства и недостатки. Фактически, можно запустить параллельно разные сервера, каждый из которых будет взаимодействовать с хранилищем по-своему, и ни один из них не будет "первым" или "главным" (смотрите «Supporting Multiple Repository Access Methods»). Таблица 6.1, «Сравнение серверов» представляет краткий обзор и сравнение двух доступных Subversion-серверов — как для администратора; это поможет вам выбрать сервер, наиболее подходящий вам и вашим пользователям.
Таблица 6.1. Сравнение серверов
Возможность
|
Apache + mod_dav_svn
|
svnserve
|
Настройки установления личности
|
стандартное установление личности средствами HTTP(S), сертификаты X.509, LDAP, NTLM, а также другие механизмы, доступные для использования в Apache
|
CRAM-MD5 или SSH
|
Настройки пользовательских учетных записей
|
внутренний файл 'users'
|
внутренний файл 'users' или использование существующих системных (SSH) учетных записей
|
Настройки прав доступа
|
общий доступ для чтения/записи, или по-каталоговый доступ для чтения/записи
|
общий доступ для чтения/записи, или по-каталоговый доступ для записи (но не для чтения), используя сценарий, вызываемый перед фиксацией
|
Шифрование
|
через SSL (опционально)
|
через SSH-туннель (опционально)
|
Interoperability
|
частично, используя другие WevDAV-клиенты
|
не поддерживается.
|
Просмотр через web
|
встроенная ограниченная поддержка, или используя программы сторонних разработчиков, такие, как ViewVS
|
используя программы сторонних разработчиков, такие, как ViewVS
|
Скорость
|
более низкая
|
более высокая
|
Начальная установка
|
несколько сложная
|
достаточно простая
|
Достарыңызбен бөлісу: |