Аутентификация SVN через Apache (DAV) и Redmine не работает
НУЖНА ПОМОЩЬ!!! Я установил apache2, svn и redmine на сервер Ubuntu. После этого я попытался выполнить аутентификацию для svn через учетные записи Redmine. Моя конфигурация apache выглядит следующим образом (хранится в /etc/apache2/conf.d/svn.config):
PerlLoadModule Apache::Redmine
<Location /svn>
DAV svn
SVNParentPath "/var/svn"
Order deny,allow
Deny from all
Satisfy any
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
AuthType Basic
AuthName "Redmine SVN Repository"
#read-only access
<Limit GET PROPFIND OPTIONS REPORT>
Require valid-user
Allow from 127.0.0.1
# Allow from another-ip
Satisfy any
</Limit>
# write access
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
## for mysql
RedmineDSN "DBI:mysql:database=redmine;host=localhost"
RedmineDbUser "redmine"
RedmineDbPass "mypass"
</Location>
Проблема: я вижу окно входа в систему, когда я пытаюсь подключиться через http, но после подтверждения ничего не происходит, и открывается другое окно входа. Также с клиентом TortoiseSVN. Я могу связаться с сервером, но логин не работает. Я думаю, что это проблема между apache, Redmine.pm и mysql или неправильной конфигурацией.
Кто-нибудь может мне помочь?
ОБНОВИТЬ
Я использую Redmine.pm для этого. Я скопировал его в папку /usr/lib/perl5/Apache/. Моды "dav", "dav_svn" и "perl" для apache также включены, но проблема сохраняется. Пользователи Redmine хранятся в базе данных mysql.
Журнал ошибок apache2 выглядит следующим образом:
[Fri Feb 03 23:00:26 2012] [notice] caught SIGTERM, shutting down
[Fri Feb 03 23:00:28 2012] [notice] Apache/2.2.20 (Ubuntu) DAV/2 SVN/1.6.12 Phusion_Passenger/2.2.11 mod_perl/2.0.5 Perl/v5.12.4 configured -- resuming normal operations
Apache2ctl -S возвращает это:
ulimit: 88: error setting limit (Operation not permitted)
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 127.0.1.1 (/etc/apache2/sites-enabled/000-default:1)
Syntax OK
Когда я пытаюсь подключиться к репо с svn ls http://localhost/svn/repo
Я получаю это:
Could not authenticate to server: rejected Basic challenge (http://localhost)
1 ответ
Я попросил друга об этом, и ошибка была действительно простой. Я не устанавливаю права доступа к хранилищу для используемого пользователя. В Redmine вы можете добавлять группы и пользователей, а также устанавливать группу пользователей для каждого проекта, поэтому мне нужно добавить своего пользователя в проект с группой, которая может получить доступ к хранилищу.