SVN: удаленный доступ не работает - PullRequest
0 голосов
/ 22 января 2012

Я установил Subversion и Apache на моем компьютере.Я могу получить доступ к своему репозиторию, используя followinf url

http://localhost/svn/repos/

Теперь я хочу, чтобы другие члены моей группы получили доступ к файлам проекта, которые я поместил в свой репозиторий.Поскольку я впервые использую SVN, я искал решения и думаю, что я немного растерялся.

Я прочитал о переадресации портов в маршрутизаторе, поэтому открыл интерфейс маршрутизатора.Я перешел в раздел NAT / PAT своей конфигурации маршрутизатора и добавил новое правило со следующими характеристиками:

Application: svn
External port:3690
Internal port:80
protocol : TCP
equipment: myPC

И проверил опцию «Активно».Но я думаю, что что-то упустил.Я прочитал в статье, что, чтобы проверить, работает ли удаленный доступ, мне нужно перейти на

svn://83.200.108.71

, хотя это не работает."невозможно подключиться .." Может кто-нибудь, пожалуйста, помогите мне.

1 Ответ

1 голос
/ 23 января 2012

Подождите ... Вы можете получить доступ к своему хранилищу через http://?Почему бы не позволить другим получить доступ к хранилищу, используя http://?

Не делайте ничего с вашим маршрутизатором.Не гадите с портами.Apache httpd прекрасно обслуживает ваш репозиторий вне порта 80. Скажите своим пользователям, чтобы они просто получали доступ к вашему репозиторию через http://<machineName>/svn/repos.Вот и все, что нужно.

svn:// - это совершенно другой протокол, чем http://.Порт 3690 просто является портом по умолчанию svn://, но это не значит, что если вы перенаправите свой протокол http:// туда, все будет работать.

В большинстве случаев люди, которые впервые используют Subversionустановите сервер svnserve вместо Apache httpd, потому что это проще, чем использование Apache http.Вот как вы настраиваете репозиторий для использования svn://:

$ svnadmin create my_repos        #
$ vi my_repos/conf/svnserve.conf  #Need to denop 'password-db=passwd' line
$ vi my_repos/conf/passwd         #Need to setup user accounts
$ svnserve -r my_repos -d

И это все.Теперь ваши пользователи могут получить доступ к хранилищу через svn://<machineName>.

Хотя svnserve проще и проще, чем Apache (и быстрее), есть много причин использовать Apache httpd вместо svnserve:

  • Скорее всего, порт 80 не заблокирован сетью, а порт 3690, возможно, заблокирован
  • Вы можете разрешить Apache httpd использовать LDAP для аутентификации (что также может разрешить аутентификацию Windows Active Directory)
  • Apache httpd может обслуживать несколькорепозитории, в то время как svnserve может обслуживать только один репозиторий через порт 3690.
...