Redmine SVN репозиторий - не удается авторизоваться с удаленного - PullRequest
1 голос
/ 12 августа 2011

Вот мои настройки:

Ubuntu Server 11.04Apache 2.2.17MySQL 5.1.54

RAILS_ENV = production / usr / share / redmine / script / about

About your application's environment
Ruby version              1.8.7 (i686-linux)
RubyGems version          1.3.7
Rack version              1.1
Rails version             2.3.11
Active Record version     2.3.11
Active Resource version   2.3.11
Action Mailer version     2.3.11
Active Support version    2.3.11
Edge Rails revision       unknown
Application root          /usr/share/redmine
Environment               production
Database adapter          mysql
Database schema version   20110511000000

/ etc / apache2 / sites-available / default

<VirtualHost *:80>
        DocumentRoot /mnt/data/vortex/Dev/Web
        ErrorLog ${APACHE_LOG_DIR}/apache_error.log
        CustomLog ${APACHE_LOG_DIR}/apache_access.log combined
</VirtualHost>

/ etc / apache2 / sites-available / redmine

DocumentRoot /mnt/data/vortex/Dev/Web/redmine

PassengerDefaultUser www-data
RailsEnv production
RailsBaseURI /redmine

ErrorLog ${APACHE_LOG_DIR}/redmine_error.log
CustomLog ${APACHE_LOG_DIR}/redmine_access.log combined

/ etc / apache2 / conf.d / redmine-svn.conf

PerlLoadModule Apache::Authn::Redmine
<Location /svn>
        DAV svn
        SVNParentPath "/mnt/data/svn" 

        AuthType Basic
        AuthName Redmine
        Require valid-user

        PerlAccessHandler Apache::Authn::Redmine::access_handler
        PerlAuthenHandler Apache::Authn::Redmine::authen_handler

        RedmineDSN "DBI:mysql:database=redmine_default;host=localhost" 

        RedmineDbUser "redmine" 
        RedmineDbPass "***" 
</Location>

/ etc / cron.d /redmine

*/10 * * * * root ruby /usr/share/redmine/extra/svn/reposman.rb --redmine localhost/redmine --svn-dir /mnt/data/svn --owner www-data --url file:///mnt/data/svn --key=***

Все в Redmine работает нормально, репозитории создаются reposman и могут быть просмотрены на странице их проекта.Проблема возникает, когда я пытаюсь получить доступ к репозиторию SVN через удаленный компьютер.Если я наберу svn ls <a href="http://server-ip/svn/prj" rel="nofollow">http://server-ip/svn/prj</a>, он покажет мне содержимое репозитория без запроса входа в систему.С svn mkdir <a href="http://server-ip/svn/prj/dir" rel="nofollow">http://server-ip/svn/prj/dir</a> вместо этого он запрашивает пароль, но когда я его ввожу, мне снова предлагается войти в систему.После третьей попытки я получаю следующую ошибку:

svn: MKACTIVITY di '/svn/test1/!svn/act/25265483-dc10-4e3b-a7a5-a2e5bb84486f': authorization failed: Could not authenticate to server: rejected Basic challenge (http://192.168.1.201)
  1. Я не могу понять, почему аутентификация не работает.
  2. Я ожидал приглашение для входа в систему также дляsvn ls command.

Я также проверил сеансы на сервере MySQL и не вижу ничего для пользователя 'redmine', когда пытаюсь получить доступ к хранилищу, так что, похоже, Apache / Redmine donдаже не пытайтесь подключиться к MySQL для аутентификации.Я следовал этому руководству , чтобы настроить svn-доступ.

Кто-нибудь знает, как решить мою проблему?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 апреля 2013

В моей ситуации я просто отключаю Настройки-Информация-Публичная и все работает! Публичные проекты не требуют авторизации, и я не могу зафиксировать.

Я не использовал LDAP.

0 голосов
/ 01 февраля 2012

У меня была такая же проблема.Проблема с учетными записями, которые используют аутентификацию LDAP.Если вы создадите внутреннюю учетную запись и добавите ее в проект в качестве разработчика, вы сможете зафиксировать ее.

Чтобы заставить работать Redmine, LDAP и SVN, необходимо добавить «PerlLoadModule Authen :: Simple ::LDAP "к вашей конфигурации apache Как уже упоминалось:
http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl#optional-LDAP-Authentication

Вам повезет больше в Ubuntu, но чтобы установить Authen :: Simple :: LDAP на OpenSUSE 11.3 внутри нашего корпоративного брандмауэра, мне пришлось:

cpan> установить Модуль :: Реализация

cpan> установить Атрибут :: Обработчики

cpan> установить Params :: Validate

cpan> установить Authen :: Simple

cpan> установить Authen:: Simple :: LDAP

  • После этого он все еще не работал, поэтому я начал отладку.Я установил tcpdump и выяснил, что он не использует настроенный порт для аутентификации.Я изменил Redmine.pm с имени хоста на URL, и это исправило

        # open (LEELOG, ">>/tmp/leelog");
        # print LEELOG "-----------\n";
        # print LEELOG "$rowldap[0]\n";
        # print LEELOG "$rowldap[1]\n";
        # print LEELOG "$rowldap[2]\n";
        # print LEELOG "$rowldap[3]\n";
        # print LEELOG "$rowldap[4]\n";
        # print LEELOG "$rowldap[5]\n";
        # print LEELOG "$rowldap[6]\n";
    
        my $ldap = Authen::Simple::LDAP->new(
            host    =>      ($rowldap[2] eq "1" || $rowldap[2] eq "t") ? "ldaps://$rowldap[0]:$rowldap[1]" : "ldap://$rowldap[0]:$rowldap[1]",
            port    =>      $rowldap[1],
            basedn  =>      $rowldap[5],
            binddn  =>      $rowldap[3] ? $rowldap[3] : "",
            bindpw  =>      $rowldap[4] ? $rowldap[4] : "",
            filter  =>      "(".$rowldap[6]."=%s)"
    

Эта страница полезна:
http://www.rhonabwy.com/wp/2009/12/24/debugging-active-directory-ldap-authentication-in-redmine/

...