Neil Shephard wrote:
> 
> 2. Should I be worried about the GATEWAY_INTERFACE = CGI/1.1 ? What is
> the specific implication of having it as this, compared to
> CGI-perl/1.1 ?  What module should I be setting
> (PerlResponseHandler???) to  get this variable to in order to get
> CGI-perl?
> 
> I've tried modifying the PerlResponseHandler to the only Registry.pm
> that I have installed on my system (which is ModPerl::Registry,
> located at
> /usr/lib/perl5/vendor_perl/5.8.8/i686-linux/ModPerl/Registry.pm)
> but this doesn't make any difference.
> 

Missed it on first reading, but in mod_perl2 GATEWAY_INTERFACE is anything
but CGI-Perl/1.1 as detailed at
http://perl.apache.org/docs/2.0/user/porting/compat.html#Special_Environment_Variables

And the version of MOD_PERL is reported along with the MOD_PERL_API_VERSION
the script (see original post and below)

MOD_PERL = mod_perl/2.0.3-dev
MOD_PERL_API_VERSION = 2


Neil Shephard wrote:
> 
> 3. The book indicates that one of the Environment variables that
> should be reported by the script is MOD_PERL, but I don't see this,
> despite mod_perl being included and configured when apache is started
> as shown in the logs after restarting ([Tue Nov 20 16:49:56 2007]
> [notice] Apache/2.2.6 (Unix) mod_ssl/2.2.6 OpenSSL/0.9.8g
> mod_perl/2.0.3-dev Perl/v5.8.8 configured -- resuming normal
> operations).  Have I done something wrong, and/or why is the MOD_PERL
> environment variable missing?
> 

This stemed from an error in the default mod_perl config file on my gentoo
system (at least one other gentoo user has reported it
http://forums.gentoo.org/viewtopic-t-304952.html).

The offending section is


Neil Shephard wrote:
> 
>     PerlModule ModPerl::Registry
>     #set Apache::Registry Mode for /perl Alias
>     # To set subdirectories to use perl set the following
>     # and comment the orignial:
>     # <Location ~ "^/perl/.*\.pl$">
>     <Location  "^/perl/*.pl>  ### WRONG ###
>         SetHandler perl-script
>         PerlResponseHandler ModPerl::Registry
>         Options -Indexes ExecCGI
>         PerlSendHeader On
>     </Location>
> 

I tried the following as the apache 2.0 manual indicates that regular
expressions are allowed if preceded by '~' (see
http://httpd.apache.org/docs/2.2/mod/core.html#location)

   <Location ~ "^/perl/*.pl">

but get a permission denied so I added in permissions for the directory so
the section looked like..

    <Location ~ "^/perl/*.pl">
        SetHandler perl-script
        PerlResponseHandler ModPerl::Registry
        Options -Indexes ExecCGI
        PerlSendHeader On
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>

..but again got permission denied.  However, the following did work...

    <Location  /perl/*.pl>
        SetHandler perl-script
        PerlResponseHandler ModPerl::Registry
        Options -Indexes ExecCGI
        PerlSendHeader On
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>

So it appears to me that apache "doesn't like" the regular expression.  Has
anyone else experienced this problem?  Is it a bug that needs reporting?

Neil
-- 
View this message in context: 
http://www.nabble.com/GATEWAY_INTERFACE-CGI-Perl-tf4849533.html#a13958926
Sent from the mod_perl - General mailing list archive at Nabble.com.

Reply via email to