Project

General

Profile

Redmine.pm Subversion authentication not working

Added by Yoann Besson over 14 years ago

hi,

I'm currently configuring Subversion through Apache on Windows Server 2008 x64 using Redmine.pm authentication with ActiveState Perl but it doesn't work.
It ask me for a username/password all the time.

Note that i'm using Redmine with LDAP authentication.
Redmine with LDAP authentication works very well.

Can anyone help ?

Thanks in advance.


Replies (3)

RE: Redmine.pm Subversion authentication not working - Added by Yoann Besson over 14 years ago

Some details about my problem

I'm using ActiveState Perl 5.10

Here is my Apache2 configuration :


LoadFile "D:/Perl/bin/perl510.dll" 
LoadModule perl_module modules/mod_perl.so

PerlLoadModule Apache::Redmine
<Location /svn>
    DAV svn

    SSLRequireSSL
    SVNParentPath "D:\Svn" 
    SVNListParentPath On

    AuthType Basic
    AuthName "Subversion repository" 
    Require valid-user

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

    RedmineDSN "DBI:mysql:database=redmine;host=localhost" 
    RedmineDbUser "xxxxxx" 
        RedmineDbPass "xxxxxx" 
</Location>

Note : MySQL Data connection works.

But ... Apache2 wont start ...

Here is the Windows Event Log Error :

The Apache service named  reported the following error:
>>> Can't locate Apache/Redmine.pm in @INC (@INC contains: D:/Perl/site/lib D:/Perl/lib . D:/BitNami/apache2) at (eval 4) line 3.\n     .

I tried put Redmine.pm in all Cedric Albrecht directories anyway ..
- D:/Perl/site/lib
- D:/Perl/lib
- D:/BitNami/apache2

I tried another thing : modifying the "PerlLoadModule Apache::Redmine" line with "PerlLoadModule Redmine" and copied Redmine.pm into the root directory of Apache2.
Apache starts but authentication doesn't work, it never ask me a username/password ...

Anyone help please ?

Thanks.

RE: Redmine.pm Subversion authentication not working - Added by Yoann Besson over 14 years ago

Okay ! Got this working :)

Here is my new Apache configuration

PerlLoadModule Redmine
<Location /svn>
    DAV svn

    SSLRequireSSL
    SVNParentPath "D:\Svn" 
    SVNListParentPath On

    AuthType Basic
    AuthName "Subversion repository" 
    Require valid-user

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

    RedmineDSN "DBI:mysql:database=redmine;host=localhost" 
    RedmineDbUser "xxxx" 
    RedmineDbPass "xxxx" 
</Location>

BUT ... Authentication works with Internal Redmine authentication, but not with LDAP ...

Aynone help about LDAP Auth through Redmine.pm ?

Thanks.

RE: Redmine.pm Subversion authentication not working - Added by Akiko Takano about 14 years ago

Hello.
I also tried to use Redmine.pm with LDAP.
First, I saw the same problem of yours. (Redmine internal account was OK, but LDAP account was failed.)
So, I reviewd my http error log, which told me that timeout was happended to connect LDAP Server.

Then I wrote a tiny test code to connect my LDAP server with Authen::Simple::LDAP (because Redmine.pm using Authen::Simple::LDAP module for LDAP Authentication).

After that, I found I could not connect to LDAP when "port" parameter was defined at new method.
(Note, this is proberbly only for my situationm and I'm using Redmine.pm for Redmine0.8x)

Now I modify Redmine.pm not to use port parameter and port number is included in host parameter,
like following:
-------------------------------------


my $host = "";
while (my @rowldap = $sthldap->fetchrow_array) {
  if ($rowldap[1] ne '') {
     $host = $rowldap[0] . ":" . $rowldap[1];
  }
  my $ldap = Authen::Simple::LDAP->new(
     host    =>      ($rowldap[2] == 1 || $rowldap[2] eq "t") ? "ldaps://$host" : $host,
     #port    =>      $rowldap[1],
     basedn  =>      $rowldap[5],
     binddn  =>      $rowldap[3] ? $rowldap[3] : "",
     bindpw  =>      $rowldap[4] ? $rowldap[4] : "",
     filter  =>      "(".$rowldap[6]."=%s)" 
          );
   $ret = 1 if ($ldap->authenticate($redmine_user, $redmine_pass));
}
-------------------------------

I hope this comment could be any help to you...

    (1-3/3)