Ответ 1
Запуск точки # 2: просмотр HTTP. Это просто небольшой бонус. Это не заменит вашу потребность в чем-то вроде Fisheye, ViewVC, или (мой любимый) Sventon.
Есть некоторые недостатки использования Apache http для вашего сервера Subversion:
- Он медленнее
- Сложнее настроить
Тогда есть преимущества:
- Он использует стандартный порт (80), который обычно не блокируется брандмауэрами.
- Он может быть интегрирован с LDAP и Active Directory
- Вы можете использовать HTTPS, который будет шифровать обновления и проверки (включая пароли пользователей).
- У вас может быть несколько репозиториев, которые используют один и тот же экземпляр Apache httpd. С помощью
svnserve
вы можете сделать только один репозиторий на один экземпляр, и если у вас несколько репозиториев в одной системе, вам придется запускать каждый процессsvnserve
на нестандартном порту.
Мой личный подход: если вы работаете в корпоративной среде, преимущества использования протокола протокола HTTP или HTTPS перевешивают недостатки. Если вы говорите о небольшом репозитории, а вы и ваши друзья, я запускаю svnserve
просто из-за более низкой накладной и более простой настройки. Однако в этих обстоятельствах я просто использую Github и не беспокоюсь об этом.
Я запускаю Subversion как свою личную систему управления версиями на своей машине, и я использую svnserve в этом экземпляре.
Спасибо, некоторые последующие вопросы. 1) Когда я обращаюсь к URL-адресу на моем svn-сервере как svn://server/repo, разве это не использование порта 80? 2) Если интеграция LDAP не может быть выполнена для svnserve, единственный способ, которым пользователи могут аутентифицироваться, - это то, что они находятся в файле, на который ссылается password-db в svnserve.conf для svn://или имеют учетную запись оболочки для svn + SSH://? 3) Не может ли такая же защита, предлагаемая https://быть предложена svn + ssh://, или есть разница? (Извините, я не могу поставить абзацы здесь, он отправляется каждый раз, когда я нажимаю кнопку ввода, я делаю это правильно.) -
-
По умолчанию используется порт 3690. Это можно изменить при запуске
svnserve
, но ваш URL-адрес svn тоже должен будет отразить это. -
Довольно многое. В большинстве мест, где используется
svnserve
, используется файл passwd. Однако, начиная с версии 1.5, вы можете использовать SASL. Тем не менее, я никогда не видел, чтобы кто-нибудь использовал его. -
Да, ssh + svn://предлагает зашифрованные пакеты. Однако SSH может быть сложно реализовать. В принципе, процесс svnserve должен быть порожден и запущен для этого конкретного пользователя. Это означает, что каждому пользователю нужен прямой доступ для чтения/записи в репозиторий. Вам нужно настроить umask для каждого пользователя и создать группу Subversion Unix, к которой все принадлежат. Затем, поскольку эти пользователи имеют прямой доступ к файлам репозитория, не позволяйте им регистрироваться на сервере репозитория. Online Manual содержит полную информацию. Но, в конце концов, он работает только на Unix-серверах и Unix-клиентах. У клиентов Windows нет SSH на них, и это необходимо будет установить. Я пробовал это несколько раз, но https://намного проще.