Содержание
Одновременный доступ к хранилищу 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 | встроенная ограниченная поддержка, или используя программы сторонних разработчиков, такие, как ViewCVS | используя программы сторонних разработчиков, такие, как ViewCVS |
Скорость | более низкая | более высокая |
Начальная установка | несколько сложная | достаточно простая |