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

Hi Monks,

I'm trying to set up a simple access skeleton for a site using mod_perl. But I am struggling to find a combination that works. I am pretty sure the problem is in the apache configuration.

VirtualHost Directive:
PerlOptions +Parent PerlSwitches -I/media/lib PerlModule MyLib::SiteAuth <Directory "/path/to/website/docs"> PerlAccessHandler MyLib::SiteAuth::access Options ExecCGI FollowSymLinks AllowOverride None order deny,allow deny from all </Directory>
The Handler:
package MyLib::SiteAuth; use Apache2::Access; use Apache2::Log; use Apache2::RequestIO; use Apache2::RequestUtil; use Apache2::Response; use Apache2::SubRequest; use Apache2::URI; sub access { my $request = shift; $request->log_error(" - handler accessed"); return Apache2::Const::OK; }
That does not work. The request is forbidden. But if I switch the order directive to allow,deny then have the script return FORBIDDEN it doesn't work that way either. I've tried a few of the other directives (grant, require) and I just can't seem to find the right one.

Basically, I want the request to go though the script and let the script decide if the request is FORBIDDEN or OK then let Apache finish its thing.

Thanks for your help

Replies are listed 'Best First'.
Re: Apache 2.4, mod_perl and PerlAccessHandler
by poj (Abbot) on Mar 10, 2016 at 08:26 UTC

    Try adding
    use Apache2::Const -compile => qw(FORBIDDEN OK);

    poj
      That did the trick. Thanks!