Последние несколько дней я пытался настроить сервер Subversion SVN на моем сервере Ubuntu 10.04 (Natty Narwhal Server).Я следовал за многими различными уроками.Я посмотрел в официальной документации, но не могу заставить SVN-сервер работать с черепахой.
В последнюю попытку я выполнил простейшую настройку: - sudo apt-get install subversion libapache2-svn - настроитьrepo ('svnadmin create / path / to / repo') - настроенный файл хостов apache2
<Location /svn>
DAV svn
SVNParentPath /path/to/repo
SVNListParentPath on
</Location>
Я не настраивал учетные записи в системе, я не настраивал авторизацию apache2, я не настраивалустановить SSL для этого хоста еще.Я пытался настроить эти вещи, но с той же проблемой, что и результат.Я также попробовал поиграть в arround с разрешениями.
Теперь что происходит: после настройки простой конфигурации, описанной выше, я могу подключиться к репо на самом хосте (файл: ///), я могу зафиксировать en can checkout.Я также могу просматривать репозиторий с помощью Firefox и Chrome.
РЕДАКТИРОВАТЬ Я устанавливаю Subversion на машину в моей локальной сети, используя SSH.Я протестировал IP-адреса с моего маршрутизатора (192.168.1.100) на вашем ноутбуке.Я думаю, это должно устранить проблемы с подключением / переадресацией портов.
Но я не могу просматривать репозиторий с помощью таких инструментов, как Tortoise или Subclipse.Почему есть разница в просмотре репо в интернет-браузере и в инструменте svn?Что я могу сделать, чтобы мой SVN работал в svn tools?
EDIT 2 После получения совета от Lazy Badger я попытался совершить коммит на машине svn с использованием протокола http и получил более интересныйошибка: svn: сервер отправил неожиданное возвращаемое значение (403 запрещено) в ответ на запрос OPTIONS для 'http://192.168.1.100/svn/testrepo'
EDIT 3 Я обнаружил следующие строки в файлах журналамоего apache2:
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] (20014) Внутренняя ошибка: невозможно открыть файл '/ mnt / webserver / svn / testrepo/ format ': нет такого файла или каталога
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] Не удалось получить информацию о ресурсе.[500, # 0]
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] Не удалось открыть запрошенную файловую систему SVN [500, # 2]
[Sun Jan 01 14:41:45 2012] [ошибка] [клиент 192.168.1.1] Не удалось открыть запрошенную файловую систему SVN [500, # 2]
и
[Пн Ян02 07:20:40 2012] [ошибка] [клиент 192.168.1.109] Не удалось получить информацию о ресурсе.[301, # 0]
[Пн Ян 02 02:20:40 2012] [ошибка] [клиент 192.168.1.109] Запросы для коллекции должны иметь косую черту в URI.[301, # 0]
Обновлен Subversion SVN до версии 1.7.2
Я успешно обновил свой Subversion SVN до версии 1.7.2, используя этопоток: http://ubuntuforums.org/showthread.php?t=1876156
Но проблема все еще та же: (из apache2 access.log) URL и ip редактируются.
84.198.xxx.xxx - - [03 / Янв / 2012: 16: 47: 10 +0100] "GET / svn / testrepo / HTTP / 1.1" 200 551 "http://link.hidden.by.author:8080/svn/"" Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 8.0) Gecko/ 20 $
127.0.0.1 - - [03 / Jan / 2012: 16: 47: 29 +0100] "ОПЦИИ / svn / testrepo HTTP / 1.1" 403 504 "-"«SVN / 1.7.2 neon / 0.29.5»
84.198.xxx.xxx - - [03 / Jan / 2012: 16: 52: 49 +0100] »ВАРИАНТЫ / svn/ testrepo HTTP / 1.1 "403 510" - "" SVN / 1.7.2 / TortoiseSVN-1.7.3.22386 neon / 0.29.6 "
Я не менял никаких файлов самостоятельно.Там все еще должна быть конфигурация, которую я пропускаю ...
Я решил проблему, отключив apache2 RewriteEngine
Чтобы обобщить это в решение:
Я обновил свой Subversion SVN до версии 1.7.2 и также модуль libapache2-svn.
Я создал репозиторий от имени root
Я сделал это репо на www-data: www-data (пользователь и группа apache)
Вы также можете создать нового пользователя и группу (например:svn), но вам нужно добавить пользователя apache2 (www-data) в эту группу svn, чтобы заставить webDAV работать.
/ etc / apache2 / sites-enabled / default-ssl:
<Location /svn>
DAV svn
SVNParentPath /mnt/webserver/svn
SVNListParentPath on
AuthType Basic
AuthName "Narwhal SVN"
AuthUserFile /etc/apache2/svn_passwd
RewriteEngine off
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
- Это был RewriteEngine off , который добился цели.
Я нашел этот совет в: https://serverfault.com/questions/20169/webdav-on-centos-getting-403-error-when-attempt-to-upload
Спасибо всем, и особенно Lazy Badger, за вашу помощь.
Редактирование решения: После публикации вышеуказанного решения я столкнулся с новой проблемой.Мне удалось решить эту проблему за несколько минут.
Если при попытке выполнить команду POST появляется ошибка о недопустимом формате XML, вам, вероятно, потребуется установить это в dav_svn.conf или в виртуальном apache2.файл hosts.Просто добавьте его в директиву:
http://svnbook.red -bean.com / ru / 1.7 / svn.ref.mod_dav_svn.conf.html
SVNAdvertiseV2Protocol On|Off
New to Subversion 1.7, this toggles whether mod_dav_svn advertises its support for the new version of its HTTP protocol also introduced in that version. Most admins will not wish to use this directive (which is On by default), choosing instead to enjoy the performance benefits that the new protocol offers. However, whena configuring a server as a write-through proxy to another server which does not support the new protocol, set this directive's value to Off.