Я слежу это руководство по установке 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 на