Использование Subversion и Apache - PullRequest
7 голосов
/ 29 октября 2008

Я никогда раньше не использовал какой-либо контроль исходного кода, хотя понимаю концепцию. Что меня смущает (и, возможно, я просто не знаю), какую выгоду я получу и / или почему я хочу настроить Subversion и Apache? Нужно ли мне настраивать его с помощью Apache, чтобы иметь возможность доступа к моим репозиториям с других компьютеров по сети? Пожалуйста, не стесняйтесь предоставить любые другие детали, которые вы считаете уместными?

Моя установка сейчас - это ноутбук (Windows XP Pro) и виртуальная машина (Windows XP Pro). На моей виртуальной машине у меня установлены Apache 2.2, MySQL 5 и PHP 5. Эта настройка - моя главная задача, хотя я рад слышать примеры / ситуации, которые отличаются от моего сценария.

Ответы [ 9 ]

7 голосов
/ 29 октября 2008

Проверьте запись SVNBook: Выбор конфигурации сервера . В нем рассказывается о плюсах и минусах различных способов доступа к серверу Subversion.

Протокол SVN является самым простым в настройке и администрировании, но, вероятно, не будет работать через корпоративные брандмауэры (но Apache через HTTP).

3 голосов
/ 16 февраля 2009

Преимущество размещения вашего SVN-репозитория через Apache вступает в игру, если вы хотите, чтобы ACL-списки были в вашем репозитории.

Вы можете настроить базовую аутентификацию и ограничить разрешения для каждого каталога (или файла, если вы чувствуете необходимость). Например, вы можете настроить хранилище так, чтобы разрешить гостевую проверку, но для любой записи в хранилище потребуется определенный, действительный пользователь.

Результат использования Apache для аутентификации ваших пользователей означает, что вам не нужно определять своих пользователей в .htpasswd. Apache может подключиться к LDAP, большинству SQL-серверов любого типа или даже использовать аутентификацию Kerberos.

Использование упрощенного svnserve вполне может быть достаточно. Однако детальные разрешения не могут быть применены, и вы не сможете подключиться к другой базе данных пользователей для аутентификации.

Но из вашего описания все вышеперечисленное может быть излишним. Преимущества, предлагаемые Apache, в основном бесполезны для одного пользователя и не стоят хлопот.

3 голосов
/ 29 октября 2008

Может быть полезно, когда порт 3690 должен быть закрыт. Это также позволяет пользователям просматривать код с помощью браузера, который имеет свои плюсы и минусы. Вам не нужно иметь клиент Subversion, чтобы увидеть код, но веб-браузер делает браузер плохим.

Настройка не слишком сложна. Я считаю эту страницу полезной .

Но, если вы просто используете его в локальной среде виртуальных машин, svnserve вам подойдет.

2 голосов
/ 29 октября 2008

Я думаю, что вы попадаете в ситуацию, если вы хотите использовать протокол WebDAV для доступа к вашему репозиторию SVN. В этом случае вы в основном разрешаете Apache обрабатывать доступ к файлу в качестве посредника для самого SVN (без прямых соединений с хранилищем).

Я слышал, это работает довольно хорошо, но есть несколько альтернатив. Взгляните на книгу SVN (проверьте Google) для начала.

2 голосов
/ 29 октября 2008

Нет необходимости устанавливать Subversion с Apache. Я использовал Subversion в течение многих лет, и мне никогда не приходилось это делать (хотя есть причины, по которым вы должны это делать, в основном это связано с инфраструктурой аутентификации). Поскольку вы находитесь в мире Windows, я видел, что VisualSVN Server очень рекомендуется и его легко установить и запустить.

1 голос
/ 29 октября 2008

SVN может быть клиент-серверной системой, если вы хотите поделиться вашим кодом с другими людьми. Однако, если вы хотите работать над своим кодом в одиночку (даже с более чем одного компьютера!), Вам вообще не нужен любой сервер!

Вы можете использовать файл: // - сборка протокола почти для всех клиентов SVN и локального репозитория SVN.

Ваш SVN-репозиторий также может работать с сетевого ресурса. Тем не менее, вы должны использовать этот подход только , если вы работаете над ним в одиночку!

1 голос
/ 29 октября 2008

Мы используем Subversion в среде небольшой команды (6 человек), используя репозиторий Visual SVN. Изначально у нас не было веб-сервера Apache, только IIS, но теперь мы также запускаем Apache, но нет веских причин использовать Apache для хранилища.

1 голос
/ 29 октября 2008

Используя Apache, вы можете получить доступ к своему хранилищу через WebDAV, то есть по HTTP через стандартный порт, так что вы можете получить доступ / опубликовать свое хранилище, например, через корпоративный брандмауэр, который может не разрешить порт svnserve.

0 голосов
/ 30 октября 2008

Вам не нужно использовать Apache. Там есть собственный сервер - вместо него можно использовать svnserve.exe. По умолчанию он работает на порту 3690, но его можно настроить на другой порт с помощью переключателя --port при настройке.

Грег Хьюгилл дал вам ссылку, которая сообщит вам, какую версию сервера Subversion использовать, и различные варианты использования. Это сводится к svnserve, если вам не нужно интегрироваться с какой-либо аутентификацией. Используйте Apache, если вам нужны более сложные сценарии.

У меня есть коммерческая консоль Windows, которая обрабатывает svnserve. Мой профиль имеет ссылку, чтобы увидеть эту утилиту. Если вы решите использовать Apache, я рекомендую использовать VisualSVN Server .

...