Ubuntu + SVN: не удалось открыть запрошенную файловую систему SVN

я знаю, что этот вопрос задавался много раз. Я думаю, что понимаю ответы, но мне все равно не повезло.

я пытался как one repo и multiple repos конфигурации, имеющие одинаковую проблему для обоих из них.

Итак, с конфигурацией, которая меня интересует:

<Location /svn>
  DAV svn
  #SVNPath /media/ssd/svn/test
  SVNParentPath /media/ssd/svn
  SVNListParentPath On
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user
</Location>

мой репозиторий

luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso     luso 4096 2012-09-15 16:20 ..
drwxr-sr-x 6 www-data svn  4096 2012-09-24 22:13 test
drwxrwsr-x 4 www-data svn  4096 2012-09-24 22:31 .
drwxr-sr-x 6 www-data svn  4096 2012-09-24 22:31 test2

в рамках проекта

luso@bender:/media/ssd/svn/test$ ls -lart
total 32
-rw-r--r-- 1 www-data svn  229 2012-09-24 22:13 README.txt
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 locks
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 hooks
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 conf
-r--r--r-- 1 www-data svn    2 2012-09-24 22:13 format
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:13 .
drwxrwsr-x 4 www-data svn 4096 2012-09-24 22:31 ..
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:40 db

пользователь лузу и www-data в и svn и www-группы данных. Однако, когда /система/Администрирование / Пользователи и группы, если я выбираю www-data user, появляется предупреждение: эта учетная запись отключена¿ ¿?? Если я попытаюсь включить его, он попросит меня Установить пароль. Я этого не делал...

/ media / ssd - это мой/dev / sdc-накопитель (ssd-накопитель)

я могу с помощью протокола file://

luso@bender:~$ svn co file:///media/ssd/svn/test test
A    test/.classpath
A    test/.project
A    test/target
A    test/target/test-my-app-0.0.1-SNAPSHOT.jar
...
...
,
luso@bender:~$ svn co http://localhost/svn/test test and
luso@bender:~$ svn co http://localhost/svn/test/trunk test

выведет меня на:

Authentication realm: <http://localhost:80> Subversion Repository
Password for 'luso': 
svn: Could not open the requested SVN filesystem

больше именно

<D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns" xmlns:C="svn:">
<C:error/>
<m:human-readable errcode="13">Could not open the requested SVN filesystem</m:human-readable>
</D:error>

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

и то же самое происходит, если я меняю

#SVNPath /media/ssd/svn/test
SVNParentPath /media/ssd/svn
SVNListParentPath On

С:

SVNPath /media/ssd/svn/test
#SVNParentPath /media/ssd/svn
#SVNListParentPath On

и перезагрузить/перезапустить apache2 не

кроме того, то же самое происходит при попытке доступа через https://, который работает нормально.

я читал что-то, указывающее, что Селинукс должен был что-то сделать, но я не смею это изменить. Я не знаю, как к...

это может быть какой-то конфликт с разрешениями? Диск / media / ssd принадлежит luso... (не знаю, просто догадываюсь)

есть еще какие-нибудь зацепки?

я запускаю Ubuntu 10.04, Apache2 и StackOverflow: D

спасибо всем.

EDIT: как предложил p_strand, я добавил строку

AuthzSVNAccessFile /etc/apache2/svn-policy-file

в dav_svn.conf config

теперь, если я попробую http://localhost/svn/test он остается тем же самым, и если я попытаюсь http://localhost/svn Я 403-запрещено

2 ответов


luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso     luso 4096 2012-09-15 16:20 ..

Это, вероятно, ваша проблема-в то время как каталоги репозитория доступны пользователю www-data, их родительский каталог /media/ssd нет. Он и все его родительские каталоги в дереве нуждаются, по крайней мере, в разрешении world-execute (rwx--x--x или 711). Пользователю www-data не нужно разрешать читать эти каталоги, но он должен иметь возможность спускаться в них (что и означает бит execute для каталога).


в случае, если кто приедет с аналогичной проблемой, вот мое решение: У меня был файл "/var/svn/format", принадлежащий root, и, несмотря на все установленные разрешения (777), apache не хотел читать файл, принадлежащий root. Просто chown команда исправила проблему.