Svn / Apache пользовательский доступ «500 Внутренняя ошибка» «Требуется AuthName» проблема - PullRequest
2 голосов
/ 18 марта 2011

Попытка настроить SVN для использования HTTP с файлами доступа user / auth user.

У меня есть следующее в subversion.conf для сервера Apache:

<Location /repos>
  DAV svn
  SVNPath /apps/CollegeDir/CollegeRepository/

       AuthzSVNAccessFile /asvn/svnAccessAuthz
       AuthType Basic
#      AuthName "Subversion Repository"
       AuthUserFile /asvn/svnUserAuthz
       Require valid-user
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
</Location>

У меня есть следующее в файлах аутентификации пользователя / пароля (каждый файл установлен apache / apache / 766 в качестве теста)

/asvn/svnAccessAuthz
[/]
* = rw

[/repos]
* = rw

[/repos/trunk]
* = rw

[repos:/]
* = rw

[repos:/trunk]
* = rw

[/trunk]
* = rw



/asvn/svnUserAuthz
bill:$apr1$NsGWbE/9$695MXkrm8x06hMabC3Hu71

the svnUserAuthz file was create using:
 htpasswd -mb /etc/svnUserAuthz  bill qqqqqq

Когда я пытаюсь получить доступ к репозиториям, используя следующее, я получаю Внутренний Ошибка 500, с «Need Authname / foo» в журналах ошибок apache.

svn list --username bill --password qqqqqq http://192.168.1.45/repos
svn: Server sent unexpected return value (500 Internal Server Error)
   in response to OPTIONS request for 'http://192.168.1.45/repos'

журнал ошибок:

 [Thu Mar 17 21:08:38 2011] [error] [client 192.168.1.45] need AuthName: /repos/
 [Thu Mar 17 21:08:43 2011] [error] [client 192.168.1.45] need AuthName: /repos/trunk

если я закомментирую

#       AuthzSVNAccessFile /asvn/svnAccessAuthz
#       AuthType Basic
#       AuthName "Subversion Repository"
#       AuthUserFile /asvn/svnUserAuthz
#       Require valid-user

тогда я могу легко получить доступ к репозиториям, так что я что-то напортачу процесс доступа пользователя / passwd.

Я установил доступ к файлам / asvn и svn следующим образом:

 chmod 766
 chown apache.apache

так что файлы полностью доступны для сервера apache ...

Я попробовал множество комбинаций в файле аутентификации, чтобы попытаться получить его разрешить доступ для тестового пользователя, но я в полном замешательстве.

Мысли / комментарии / указатели будут с благодарностью.

Спасибо

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Uff У меня есть скрипт bash для этого, который я мог бы продать :) Он даже создает мои svn-хуки :) Я думаю, вам не следует комментировать имя авторизации

Здесь я даю вам несколько рабочих конфигов от одногоиз моих svns.

<Location />
DAV svn
SVNPath '/var/svn/web1339/reproname'
SVNAutoversioning on
AuthType Basic
AuthName 'svn - reproname'
AuthUserFile '/var/svn/web1339/reproname/dav_svn.passwd'
Require valid-user
</Location>

репродукция принадлежит пользователю apache, это может быть apache или www-data, в зависимости от вашей системы.апач на сентос.www-data на debian.

С помощью инструмента htpasswd вы можете редактировать свой файл паролей.

                        htpasswd -bcs  "${reprofolder}/dav_svn.passwd" "$3" "$4"

$ 3 должно быть именем пользователя $ 4 - пароль.

Веселитесь и удачи.

0 голосов
/ 18 марта 2011

Одна возможность (из фрагментов в вашем вопросе): svnUserAuthz файл присутствует в /etc, а не /asvn, как ожидается конфигурацией apache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...