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

SVN с ошибкой Apache 2.2: «Запрещено. У вас нет разрешения на доступ / репозиторий на этом сервере»

Я слежу это руководство по установке svn и когда я пытаюсь получить доступ к своему тестовому репо, перейдя в http://localhost/repos , Я успешно прошел аутентификацию, но затем получаю следующее:

"Forbidden You don't have permission to access /repos on this server"

Вот мой файл subversion.conf:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn/repos
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "Subversion repos"
      AuthUserFile /etc/svn-auth-conf
      Require valid-user
#   </LimitExcept>
</Location>

Мой путь / var / www / svn / repos, и вот мои разрешения

[root@localhost svn]# ls -la repos/
total 32
drwxr-xr-x. 6 apache apache 4096 Aug 24 11:42 .
drwxr-xr-x. 3 root   root   4096 Aug 24 11:42 ..
drwxr-xr-x. 2 apache apache 4096 Aug 24 13:50 conf
drwxr-sr-x. 6 apache apache 4096 Aug 24 11:42 db
-rwxr-xr-x. 1 apache apache    2 Aug 24 11:42 format
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 hooks
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 locks
-rwxr-xr-x. 1 apache apache  229 Aug 24 11:42 README.txt

Если я перейду на localhost / repos / README.TXT, я получаю это сообщение.

<D:error><C:error/><m:human-readable errcode="20">
Could not open the requested SVN filesystem
</m:human-readable></D:error>

Любое другое имя файла дает errcode ="2" вместо.

Для selinux установлено разрешающее значение, я могу видеть файл localhost / index.html, расположенный по адресу var / www / html / index.html, в порядке.

Я прочитал пару дюжин сообщений на форуме с похожими проблемами, но безрезультатно.

Любые идеи были бы хорошы!

РЕДАКТИРОВАТЬ 1:

Я отредактировал свой файл subversion.conf, чтобы изменить SVNParentPath /var/www/svn/repos к SVNParentPath /var/www/svn но, похоже, это не имеет никакого эффекта.

РЕДАКТИРОВАТЬ 2:

brain99 прибил это. Переход на Location /> исправил проблему, и теперь я получаю repos - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).

Похоже, вы путаете директивы SVNPath и SVNParentPath.

Судя по тому, что вы публикуете, /var/www/svn/repos содержит единый репозиторий. В этом случае используйте

SVNPath /var/www/svn/repos

Только если у вас несколько репозиториев, вы должны использовать SVNParentPath. Затем каждый отдельный репозиторий должен быть расположен во вложенной папке каталога, который вы здесь настраиваете.

Так что либо установите его в родительский каталог:

SVNParentPath /var/www/svn

Или оставьте конфигурацию как есть и переместите текущий репозиторий в подкаталог, например / вар / www / svn / репозиторий / myRepo

Для получения дополнительной информации об использовании mod_dav_svn, проверьте Раздел книги SVN на mod_dav_svn

Сначала проверьте, существует ли каталог SVNParentPath / var / www / svn / repos. далее, есть ли подкаталоги? там должны быть каталоги репозиториев с собственными базами данных. Если каталог пуст или не имеет подкаталогов, создайте репозиторий с помощью команды svnadmin (вызовите руководство). после создания проблема все еще существует? затем закомментируйте все директивы AUTH *, потребуйте и перезапустите apache. Доступ будет анонимным, но вы проверите, есть ли проблема с авторизацией. когда доступ возможен, авторизация является проблемой. вы должны это настроить. вы должны прочитать apache man и узнать, как управлять AuthUserFile / etc / svn-auth-conf для базовой авторизации. когда проблема (с выделенной аутентификацией) все еще существует, проблема связана с правами доступа к файлам. настроить доступ для чтения / записи к имени пользователя, используемому сервером apache. ps auxww скажите, что это за пользователь. номер группы, который вы получите из файла / etc / passwd. имя группы, которое вы получите из файла / etc / group. после этого, когда вы сможете проверить / обновить и зафиксировать, вы сможете решить проблемы с авторизацией. есть много рецептов. Я задал вопрос «svn создать мой первый репозиторий» в Google и получил много ответов. Первый, например: http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/ Попробуй это :)

кстати. centos - это дистрибутив Linux, похожий на Redhat. вы можете перезапустить apache с помощью /etc/init.d/httpd start / stop. посмотрите, что записывается в файлы / etc / apache или / etc / httpd (в зависимости от дистрибутива linux и конфигурации apache по умолчанию).

попробуйте следующие варианты: SVNListParentPath на