imcsk8 has asked for the wisdom of the Perl Monks concerning the following question:

Hello monks,

UPDATE:

I found the source of the weird problem, it was this directive that is a default on the httpd.conf of apache 2.2.x

<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
turned out to be the one that was making the server ignore the mod_perl directives.

I Hope this helps someone with the same problem: just comment (or delete it) the above directive on httpd.conf and everything should work.

Thank you very much for your help!!! (i was going mad here!!)


I have a very weird problem with mod_perl 2.0.2 and apache 2.2.3 authentication phase.

I have a handler for authentication and session management called Omni, currently have it working on some production systems (using mod_perl 2.0.2 and apache 2.2.2) without any problem, but then on a routine install on a new server with apache 2.2.3 and mod_perl 2.0.2 it just does not work.

It seems that for some reason apache is ignoring the authentication phase, i have set the LogLevel to debug and compiled mod_perl with MP_TRACE=1 and i can see that the module is being loaded, then, i check the location on my browser. As expected it shows me the login page but when i check the virtual host error_log and the apache global error_log files (which i use to show debugging messages for the module) i get nothing as if the handler was never executed.

I don't know if i'm doing something wrong because even with LogLevel to debug i don't get error messages on the apache log files; it seems as if PerlAuthenHandler is being ignored.

This is how i am loading the handler:
... Alias /Dau /www/virtual_1/Dau <Location /Dau> AuthName Omni AuthType Basic PerlAuthenHandler Omni::Handler::Web #my module ErrorDocument 403 /dau.html #my login page require valid-user </Location> ...
The releveant debugging output when apache is started:
... modperl_config_dir_new: new dcfg: 0x20ad08 modperl_config_dir_create: dir /Dau modperl_cmd_authen_handlers: push @PerlAuthenHandler, Omni::Handler::W +eb modperl_handler_new: [10035] new handler Omni::Handler::Web modperl_cmd_push_handlers: created handler stack modperl_cmd_push_handlers: pushed handler: Omni::Handler::Web ... modperl_init_vhost: Init vhost virtual_1:9443: s=0x1604a8, base_s=0xd1 +400 MpSrv flags dump (virtual_1): Access On Authen On Authz On Autoload Off ChildExit On ChildInit On Cleanup On Clone Off Enable On Fixup On HeaderParser On InputFilter On Log On MapToStorage On MergeHandlers Off OpenLogs On OutputFilter On Parent Off PostConfig On PostReadRequest On PreConnection On ProcessConnection On Response On Trans On Type On Unset On ... modperl_mgv_resolve: Omni::Handler::Web's stash is not found
Just in case is useful, muy apache is configured --with-mpm=prefork

Thanks for your help


ignorance, the plague is everywhere
--guttermouth

Replies are listed 'Best First'.
Re: Weird mod_perl Authentication problem
by shmem (Chancellor) on Nov 13, 2006 at 19:33 UTC
    Typo? Did you cut&paste?
    Alias /Dau /www/vitual_1/Dau virtual_1? ---^^

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
      Yes, it is a typo, i changed the real directory names.
      I've corrected it, thanks!!


      ignorance, the plague is everywhere
      --guttermouth
Re: Weird mod_perl Authentication problem
by perrin (Chancellor) on Nov 13, 2006 at 21:28 UTC
    There have been API changes in the apache auth system in the 2.2 series. Have you tried using apache 2.2.2 instead of 2.2.3?
      I just tried with apache-2.2.2 and it's the same problem


      ignorance, the plague is everywhere
      --guttermouth
        The most likely explanations are that the other working server isn't really compiled with apache 2.2.x, or that it was given different compile flags.