Назад | Перейти на главную страницу

базовый репозиторий svn, настроенный для HTTP

У меня есть SSH-доступ к серверу, на котором я пытаюсь создать репозиторий. Я не знаю, правильно ли настроен apache для этого, но на сервере есть svn, и он mod-dav-svn. В любом случае, я подключаюсь к серверу по ssh:

-bash-3.00$ mkdir httpdocs/svn
-bash-3.00$ svnadmin create httpdocs/svn

Я проверяю, что репо было успешно создано (это было), а затем, используя tortoise svn, выполняю оформление заказа из http://server.com/svn/.

Возвращенная ошибка была Repository moved permanently to 'http://server.com/svn/'; please relocate.

Что это могло означать?

Обратите внимание, что у меня нет корневого доступа к серверу, и системный администратор ушел спать на ночь. На данном этапе, какие шаги необходимо предпринять, чтобы запустить репо? Настройка виртуального хоста в apache? А как насчет .htaccess? Что-нибудь?

Обновить

Я не уверен, что это все еще будет рассмотрено сейчас, но: системный администратор добавил это в файл conf для моего vhost,

<Location /svn>
DAV svn
SVNParentPath /var/www/vhosts/domain/svn
AuthType Digest
AuthName "Subversion Repository"
AuthUserFile /etc/myauthfile
Require valid-user
</Location>

в /etc/myauthfile был настроен соответственно с пользователями для этого. Я убедился, что настроил репозиторий вне моего каталога httpdocs и httpsdocs, чтобы он не конфликтовал с другими пространствами имен - я перешел в / svn в свой домашний каталог и создал репозиторий. Я попытался проверить это со своего компьютера, и ...

svn: OPTIONS of 'http://domain/svn': 200 OK (http://domain)

Это сбивает с толку ... Попытка получить к нему доступ через браузер дает 404.
Что-то еще мне не хватает?

Это FAQ на сайте Subversion. Вы не можете включить доступ Subversion через http без доступа для повторной настройки Apache:

http://subversion.tigris.org/faq.html#http-301-error

http://svnbook.red-bean.com/en/1.5/svn.serverconfig.httpd.html

Ваша основная проблема заключается в том, что вы выбрали для своего репозитория - вы создали репозиторий в своей папке public_html.

Дополнительный <Location></Location> материал, который администратор добавил в конфигурацию apache, верен, однако он должен указывать на каталог, который еще не обрабатывается Apache.

Причина, по которой вы просто получаете 404 и 200 ответов, заключается в том, что Apache перехватывает ваш HTTP-запрос SVN через свою обычную «шапку веб-сайта», а не передает запрос в SVN.

Переместите репозиторий в другой каталог, который находится вне обычного контроля Apache, получите <location> бит обновлен, чтобы указывать на новое расположение репозитория.