у меня есть Debian 8
сервер с subversion
и Apache 2.4.10
серверы запущены и работают.
Недавно я хотел получить Subversion для работы с WebDav
из-за ограничительного брандмауэра моей компании.
Чтобы все это заработало, я использую mod_dav_svn
с участием Basic
аутентификация и authz
доступ к файлу.
Настройка частично работает, так как я могу просматривать список репозиториев в браузере и копаться в репозиториях (я могу даже просматривать отдельные файлы в браузере), поэтому разрешения должны быть настроены правильно.
Я перепробовал целую кучу различных вариантов конфигурации (кажется, многие сталкиваются с 405 not allowed
проблема).
Для тестирования я не только использовал svn
клиент, но и cadaver
клиент, который дал такой же 405
ответ.
Это соответствующая конфигурация, которую использует мой сервер, чтобы увидеть, что я пробовал, посмотрите внизу этого поста, когда я составил список:
<Directory /svn>
Options -Indexes -ExecCGI -Includes -MultiViews +FollowSymlinks
DirectoryIndex disabled
Require all granted
#DAV on
#DavDepthInfinity on
</Directory>
<Location /svn/>
Options -Indexes -ExecCGI -Includes -MultiViews +FollowSymlinks
RewriteEngine off
DirectoryIndex disabled
#Dav on
#DavDepthInfinity on
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /svn/passwd
AuthzSVNAccessFile /svn/authz
SSLRequireSSL
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
Просто для уточнения:
Я могу тянуть и фиксировать через svn+ssh:
, репозитории расположены в /svn
где группа svn
имеет необходимые разрешения (пользователь apache является членом этой группы).
В authz
file определяет доступ для чтения для всех - везде и доступ на запись для определенной группы (я не знаю, нужно ли его публиковать, из-за минимальной настройки, пожалуйста, сообщите мне, если).
Список вещей, которые я пробовал (у меня нет ссылок на темы, где это предлагалось, но почти все из Google):
Location
к /svn/
вместо того /svn
<Limit PROPFIND> require all granted </Limit>
DavDepthInfinity on
так как это отключено по умолчанию<Directory /svn>
require all granted
RewriteEngine off
Что ж, вещи, которые я пробовал, случайны, и, как я уже сказал, я взял их из разных тем в Google.
Надеюсь, я достаточно хорошо представлял себе свою проблему.
Любой намек на то, как можно решить эту проблему, действительно приветствуется!
Что ж, это странно (по крайней мере, на мой взгляд).
Раньше я пытался проверить это с помощью этой команды:
svn co https://my-domain.com/svn/repo
Это дало 405
ответ.
Я просто пробовал использовать эту строку:
svn co https://www.my-domain.com/svn/repo
И теперь это работает как шарм.
Кажется, эта тема не представляет особого интереса, но я был бы очень признателен, если бы кто-нибудь дал мне некоторое представление о том, почему www
нужно.